1. Trang chủ
  2. » Cao đẳng - Đại học

Tìm hiểu kubernetes và xây dựng ứng dụng minh họa (2)

43 12 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Nội dung

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN Đề tài: Tìm hiểu hệ thống gợi ý xây dựng ứng dụng minh họa GVHD: ThS.Thái Thụy Hàn Uyển Nhóm sinh viên thực hiện: 18521542 Trần Duy Trọng 18520299 Lê Bá Lĩnh Tp HCM, – 2021 MỤC LỤC Lời cảm ơn Nhận xét giảng viên CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung 1.2 Các nghiên cứu liên quan đến đề tài 1.3 Mục tiêu thực đề tài 1.4 Các phương pháp để thực: 10 CHƯƠNG 11 CƠ SỞ LÝ THUYẾT .11 2.1 Đôi nét machine learning 11 2.1.1 Khái niệm: 11 2.1.2 Phân loại thuật toán học Machine learning 12 2.2 Các kiến thức trọng tâm 12 2.2.1 Bài toán kinh điển machine learning – Hồi quy tuyến tính (Linear Regression) 12 2.2.2 Vấn đề overfit underfit 19 2.2.3 Giải overfit sử dụng regularization 21 2.2.4 Xây dựng model cho Recommender System 24 2.2.5 Thuật toán Collaborative Filtering 29 CHƯƠNG 33 XÂY DỰNG HỆ THỐNG .33 3.1 Về Dataset 33 3.2 Hiện thực matlab 35 3.2.1 Xây dựng hàm tính cost function gradient descent 35 3.2.2 Tiến hành load liệu training cho model 36 3.2.3 Kết quả: 39 CHƯƠNG 42 TỔNG KẾT 42 4.1 Kết đạt 42 4.2 Hướng phát triển 42 TÀI LIỆU THAM KHẢO .43 Lời cảm ơn Đầu tiên, chúng em xin gửi lời cảm ơn chân thành đến tập thể quý thầy cô Trường Đại học Công nghệ thông tin – Đại học Quốc gia TP.HCM quý thầy cô khoa Công nghệ phần mềm giúp cho chúng em có kiến thức làm tảng để thực đề tài Đặc biệt, nhóm tác giả xin gửi lời cảm ơn lòng biết ơn sâu sắc tới cô Thái Thụy Hàn Uyển, người hướng dẫn tận tình, sửa chữa đóng góp nhiều ý kiến q báu giúp em hồn thành báo cáo mơn học Trong thời gian học đề tài, em vận dụng kiến thức tảng tích lũy đồng thời kết hợp với việc học hỏi nghiên cứu kiến thức Từ đó, em vận dụng tối đa thu thập để hoàn thành báo cáo đồ án tốt Tuy nhiên, q trình thực khơng tránh khỏi thiếu sót Chính vậy, em mong nhận góp ý từ phía thầy/cơ nhằm hồn thiện kiến thức mà em học tập hành trang để em thực tiếp đề tài khác tương lai Xin chân thành cảm ơn quý thầy/cô! Nhận xét giảng viên …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… …………………………………………………………………………………… ……………………………………………….…………………………………… ……………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….………………………………… ………………………………………………….……………………………… Giảng viên hướng dẫn ThS Thái Thụy Hàn Uyển CHƯƠNG TỔNG QUAN 1.1 Giới thiệu chung Ngày nay, Recommender System (RC) xuất nhiều phần mềm đem đến nhiều lợi ích cho người dùng lẫn nhà phát triển Chẳng hạn như: • Hệ thống đề xuất sản phẩm Amazon Amazon công ty tiên phong việc xây dựng nên hệ thống khuyến nghị Trong ngày đầu, họ số nhà phát triển nhìn hữu ích cơng nghệ Hệ thống đề xuất sản phẩm Amazon dựa việc người dùng xếp hạng sản phẩm mua, hành vi mua hàng (buying behavior) hành vi duyệt web (browsing behavior) • Hệ thống đề xuất phim Netflix Netflix tảng xem phim trực tuyến Hệ thống đề xuất phim Netflix xây dựng dựa việc cung cấp cho người dùng khả xếp hạng phim (trên thang điểm 5) hành vi người dùng nhấn vào hạng mục thể loại phim yêu thích (ví dụ lãng mạn, phiêu lưu mạo hiểm,…) Netflix cung cấp giải thích cho phim đề xuất hệ thống Ví dụ: Netflix hiển thị danh sách phim A, B, C kèm theo dịng thơng báo: “Vì bạn xem D” Cách tiếp cận giúp cho người dùng có nhiều khả thực theo đề xuất netflix thực cải thiện trải nghiệm người dùng • Hệ thống cá nhân hóa tin tức google (Google News Personalization System) Hệ thống cá nhân hóa tin tức google hiển thị tin tức cho người dùng dựa theo lịch sử nhấp chuột (tất nhiên trình duyệt web) Họ thu thập thơng tin thơng qua tài khoản gmail (mà người dùng đăng nhập trình duyệt web) Đặc điểm hệ thống coi cú nhấp chuột người dùng vào báo tin tức đánh giá tích cực cho báo đưa khuyến nghị viết tương tự Thế lại khơng có chế cho việc khơng thích báo Các xếp hạng gọi “xếp hạng lần” (unary rating) • Hệ thống giới thiệu bạn bè facebook Các trang mạng xã hội thường có hệ thống giới thiệu bạn bè tiềm cho người dùng để tăng lượng tương tác giúp trải nghiệm người dùng tốt Và facebook ví dụ điển hình trang mạng xã hội Hệ thống đề xuất có mục tiêu khác so với hệ thống đề xuất sản phẩm Trong hệ thống đề xuất sản phẩm làm tăng lợi ích người bán việc đề xuất sản phẩm hệ thống làm tăng số lượng kết nối mạng xã hội giúp cho mạng lưới ngày to lớn Do đó, nhà phát triển tăng doanh thu quảng cáo Các hình thức khuyến nghị dựa mối quan hệ cấu trúc (structural relationships) không dựa liệu xếp hạng (ratings data) nên chất thuật toán thực bên khác 1.2 Các nghiên cứu liên quan đến đề tài Như giới thiệu, phạm vi liên quan đến đề tài Recommender System rộng để giới hạn lại phạm vi để phù hợp với nội dung đề tài đồ án chúng em xin tập trung vào phần xây dựng hệ thống khuyến nghị phim dựa nội dung (Content-Based Recommender System) mơ hình lọc cộng tác (Collaborative Filtering) 1.3 Mục tiêu thực đề tài • Nắm kiến thức Recommender System • Hiện thực thành cơng thuật tốn đặt RC • Thử nghiệm, đánh giá thuật toán liên quan hệ khuyến nghị phim 1.4 Các phương pháp để thực: • Chuẩn bị dataset • Xây dựng model • Training model dựa thuật toán học 2.2.5 Thuật toán Collaborative Filtering Mơ hình cho tốn Recommender System Như biết nhược điểm thuật tốn trình bày phần trước Như vậy, để giải cần phải xác lập mô hình cho tốn Recommender System Ở mơ hình chúng ta, sử dụng ý tưởng hướng tiếp cận dựa nội dung Tuy nhiên, giá trị tính ẩn phim lãng mạn phim Model cho RS Và giả sử chúng ta, cách xác định ma trận sở thích user chẳng hạn sau: Vậy tốn trở thành việc tìm số (x1, x2) dựa vào tập ma trận sở thích Đây lại toán linear regression cho nhiều biến tham số cần học tham số thể loại Ở tốn thấy tương đồng với toán mục 2.2.4 Chỉ khác biệt chỗ ma trận mà học ma trận tham số thể loại ma trận tham số sở thích Có thể coi hai tốn, vai trị ma trận tham số sở thích toán đổi chỗ cho ma trận tham số thể loại toán ngược lại Và mặt ngữ nghĩa giải thích (lấy ví dụ phim Love at Last): “Alice Bob thích phim loại lãng mạn Carol Dave khơng, họ thích phim mang nhiều yếu tố hành động Alice Bob xem qua phim Love at last thích phim Họ đánh giá Carol Dave lại khơng thích phim cho đánh giá Chính nói phim có nhiều yếu tố hành động (x1 = 1.0) lại khơng có yếu tố ” Một cách tương tự, có hàm lỗi Gradient Descent cho toán này: Cost function Gradient Descent Tư tưởng lọc cộng tác Thế chưa phải tư tưởng thuật tốn lọc cộng tác Mà tư tưởng thuật tốn kết hợp hai tốn trình bày trên! Như biết, cộng với đánh giá user cho item: • Nếu có ma trận thể loại => Sẽ học ma trận ma trận sở thích => gợi ý phim phù hợp • Nếu có ma trận sở thích => Sẽ học ma trận thể loại => gợi ý phim phù hợp Như vậy, kết hợp hai lại cho hai model học lẫn model ngày tốt đưa dự đoán tốt cho user Xây dựng thuật toán lọc cộng tác Trong hầu hết thuật toán machine learning, phải tính hàm lỗi học tham số cho hàm lỗi nhỏ Việc xác định nhỏ thân Gradient Descent (một công cụ mạnh hữu ích) xử lý Đối với thuật tốn lọc cộng tác Đầu tiên hàm lỗi tính theo tư tưởng thuật tốn: Hàm lỗi cho thuật tốn lọc cộng tác (*) Cơng thức toán đồ sộ, nhiên để ý kĩ ta thấy cơng thức tối ưu ma trận thể loại ma trận sở thích Và Gradient Descent: Gradient Descent cho thuật tốn lọc cộng tác (**) Và để có nhìn chung có thuật tốn lọc cộng tác hồn chỉnh sau: • Đầu tiên khởi tạo ma trận sở thích x(1),… x(nm) θ(1),… θ(nu) với giá trị nhỏ • Sử dụng thuật tốn Gradient Descent (**) để học tham số đến hàm lỗi (*) đạt giá trị nhỏ • Cuối dự đốn giá trị “?” ma trận đánh giá (còn gọi Ultility Matrix) cơng thức tuyến tính θTx Tổng kết Như sở lý thuyết thuật toán lọc cộng tác xây dựng xong Qua thấy độ mạnh mẽ Gradient Descent tư tưởng thuật tốn lọc cộng tác CHƯƠNG XÂY DỰNG HỆ THỐNG 3.1 Về Dataset Ở làm việc với liệu gồm 1682 phim với 943 users Dataset sử dụng bao gồm file: • Movie_ids.txt: chứa tên id phim, ngăn cách khoảng trắng Movie_ids.txt • Movies.mat: chứa ma trận R Y Ma trận R với quy ước R(i,j) = user j đánh giá cho phim y Ma trận Y với quy ước Y(i,j) = điểm đánh giá user j phim i Ma trận R Ma trận Y • MoviesParams.mat: chứa thơng tin số lượng user, số lượng phim, số lượng thể loại mà phim có Tổng quan Ở có ma trận đáng nói đến ma trận thể loại X ma trận sở thích Theta Ma trận ma trận sử dụng thuật toán lọc cộng tác để học Như tất dataset 3.2 Hiện thực matlab 3.2.1 Xây dựng hàm tính cost function gradient descent Ý tưởng: hàm nhận vào params (chứa ma trận theta X), ma trận Y, ma trận R, số lượng movies, user, lamda (tham số cho đại lượng regularization) Output: giá trị hàm lỗi biến chứa ma trận (theta + X) update theo Gradient Descent Input – Output • Lấy hai ma trận X theta từ params • Tính cost function • Update theta X theo Gradient Descent lưu vào output 3.2.2 Tiến hành load liệu training cho model • Load liệu + giảm lượng data lại + tính tốn cost function • Load rating user • Tiến hành training cho user theo thuật tốn lọc cộng tác • Tiến hành show records mà user thích 3.2.3 Kết quả: • Load data thành cơng • Giả định new user đánh giá phim khác thành cơng • Training cho model, thực 100 lần train: thành cơng • Kết phim recommend cho user mới: CHƯƠNG TỔNG KẾT 4.1 Kết đạt • Hiểu kiến thức machine learning như: gradient descent, linear regression,… • Nắm tư tưởng cách hoạt động hệ thống gợi ý dựa cách tiếp cận nội dung (Content – based Recommender System) • Nắm tư tưởng thực thành cơng thuật tốn lọc cộng tác 4.2 Hướng phát triển Trong thời gian học kì, tụi em nỗ lực cố gắng tìm hiểu làm tốt khả để hồn thiện đề tài Tuy nhiên có nhiều sai sót hạn chế Mong quý độc giả thầy/cô bỏ qua Về hạn chế: • Hệ thống xây dựng chưa thật ứng dụng hồn chỉnh • Hệ thống hồn thiện phần thuật tốn mang tính chất minh họa • Chưa áp dụng thực tế vào phần mềm lớn Chính hạn chế trên, hướng phát triển đề tài lớn, rộng Rất mong quý độc giả thầy/cô chỉnh sửa bổ sung bỏ qua sai sót nhỏ Chúng xin chân thành cảm ơn TÀI LIỆU THAM KHẢO [1] Machine Learning – Recommender System Machine Learning | Coursera [2] Textbook: 2016 Recommender Systems, Charu C Aggarwal [3] Machine Learning (machinelearningcoban.com) ... sử dụng cơng cụ tìm kiếm google microsoft (bing), lí kết tìm kiếm lại “tốt” họ sử dụng machine learning để xếp hạng kết tìm kiếm cho hợp lý • Mỗi lần post hình lên facebook, ứng dụng nhận khn mặt... + a1x Vấn đề tìm hệ số a0 a1 ? Xây dựng thuật toán Bây giả sử có (a0, a1) Ảnh minh họa Vậy làm cách để biết (a0, a1) chuẩn? Ý tưởng là: • (1) Lần lượt chọn (a0, a1) theo quy tắc • (2) Sao cho... r(i,j) = Và toán xác định giá trị “?” cho phù hợp với khách hàng dựa vào đánh giá có Ý tưởng xây dựng thuật toán Chúng ta thêm vào ma trận hai cột để đánh giá thể loại phim sau: cột hiểu sau:

Ngày đăng: 05/09/2021, 20:49

TỪ KHÓA LIÊN QUAN

w