(Tiểu luận) đề tài 9 cơ sở lí thuyết của phân tích svd ứng dụng của phân tích svd vào hệ thống gợi ý trong học máy

15 114 0
(Tiểu luận) đề tài 9 cơ sở lí thuyết của phân tích svd ứng dụng của phân tích svd vào hệ thống gợi ý trong học máy

Đ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

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA Năm học 2021 2022    BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH Đề tài 9 CƠ SỞ LÍ THUYẾT CỦA PHÂN TÍCH SVD ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀ[.]

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA Năm học: 2021-2022 -    - BÁO CÁO BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH Đề tài CƠ SỞ LÍ THUYẾT CỦA PHÂN TÍCH SVD ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀO HỆ THỐNG GỢI Ý TRONG HỌC MÁY LỚP L07, NHĨM 4: GVHD: Thầy Đặng Văn Vinh Cơ Nguyễn Xn Mỹ TP HCM, 12/2021 h ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA BÁO CÁO BÀI TẬP LỚN Đề tài 9: CƠ SỞ LÍ THUYẾT CỦA PHÂN TÍCH SVD ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀO HỆ THỐNG GỢI Ý TRONG HỌC MÁY Nhóm 4: Lê Quốc Cường Nguyễn Tấn Phong Nguyễn Hạnh Thi Ngơ Đình Tú Trần Văn Tuấn Phạm Đức Tuệ Trần Lê Chí Vỹ TP HCM, 12/2021 h MSSV: 2110069 MSSV: 2112006 MSSV: 2112344 MSSV: 2112602 MSSV: 2115193 MSSV: 2115199 MSSV: 2112696 TÓM TẮT BÀI BÁO CÁO Trong chương trình học trị riêng véctơ riêng, việc phân tích ma trận thành tích nhiều ma trận đặc biệt khác (Matrix Factorization Matrix Decomposition) mang lại nhiều ích lợi quan trọng như: giảm số chiều liệu, nén liệu, tìm hiểu đặc tính liệu, giải hệ phương trình tuyến tính, clustering, nhiều ứng dụng khác Recommendation System nhiều ứng dụng Matrix Factorization Trong báo cáo này, nghiên cứu phương pháp Matrix Factorization đẹp Đại số tuyến tính Phương pháp có tên Singular Value Decomposition (SVD) Và để giải cho toán tìm hiểu ứng dụng phân tích SVD vào hệ thống gợi ý học máy, chúng em kết hợp việc vận dụng kiến thức lý thuyết học với hỗ trợ máy tính, chương trình Matlab để mơ trực quan kết việc ứng dụng SVD thực tế Và thật tốt hướng giúp chúng em tìm cách giải toán cách tư duy, mẻ đảm bảo tính xác, phạm vi chuẩn mực Trong trình tìm hiểu nghiên cứu đề tài, với vốn kiến thức, hiểu biết cịn hạn hẹp chúng em, có gặp chút khó khăn ban đầu, cuối nội dung liệu mà chúng em thu thập tốt, chúng em tổng hợp tất điều chúng em hiểu tạo nên báo cáo hồn chỉnh Và nội dung báo cáo i h LỜI CẢM ƠN Em xin trân trọng cảm ơn tất dẫn giúp đỡ thầy cô, anh chị bạn bè Trong suốt trình thực tập lớn trên, nhóm chúng em nhận nhiều quan tâm ủng hộ, giúp đỡ tận tình quý thầy cô, anh chị bạn bè Nhóm xin gửi lời tri ân chân thành đến thầy Đặng Văn Vinh cô Nguyễn Xuân Mỹ, quý giảng viên hướng dẫn cho chúng em đề tài Nhờ có thầy hết lịng bảo mà nhóm hồn thành báo cáo tiến độ giải tốt vướng mắc gặp phải Sự hướng dẫn thầy cô kim nam cho định, hành động nhóm phát huy tối đa mối quan hệ hỗ trợ thầy trị mơi trường giáo dục Bên cạnh đó, nhóm xin cảm ơn thầy cô giảng viên, chuyên gia nghiên cứu, tác giả tài liệu, sách báo mà nhóm tham khảo Tuy vốn kiến thức, hiểu biết hạn chế chúng em cố gắng để hoàn thiện đề tài Tuy nhiên, tránh khỏi thiếu sót Vì thế, chúng em mong nhận lời nhận xét, góp ý quý thầy cô bạn, anh chị để đề tài hồn thiện tốt Lời cuối, xin lần gửi lời biết ơn sâu sắc đến cá nhân, quý thầy cô dành thời gian để dẫn cho nhóm Đây niềm tin, nguồn động lực to lớn để nhóm chúng em đạt kết ngày hơm Thành phố Hồ Chí Minh, ngày 12 tháng 12 năm 2021 ii h MỤC LỤC CHƯƠNG MỞ ĐẦU .1 1.1 Giới thiệu đề tài CHƯƠNG CƠ SỞ LÝ THUYẾT CHƯƠNG ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀO HỆ THỐNG GỢI Ý TRONG HỌC MÁY 3.1 Giới thiệu hệ thống gợi ý (Recommender Systems) .2 3.2 Ứng dụng phân tích SVD vào hệ thống gợi ý học máy (machine Learning) CHƯƠNG MATLAB 4.1 Phân tích SVD ma trận Matlab 4.2 Ví dụ minh họa CHƯƠNG KẾT LUẬN TÀI LIỆU THAM KHẢO iii h CHƯƠNG 1.1 MỞ ĐẦU Giới thiệu đề tài Đề tài 1/Nêu sở lý thuyết phân tích SVD 2/Ứng dụng phân tích SVD vào hệ thống gợi ý học máy (machine Learning) Viết chương trình matlab CHƯƠNG CƠ SỞ LÝ THUYẾT Cho A ma trận thực cỡ m x n Ta chứng minh tập hợp trị riêng khác AAT ATA trùng Thật vậy, giả sử 𝜆0 trị riêng khác AA T X0 véctơ riêng AA T tương ứng Khi đó: AATX0 = 𝜆0X0 Suy ATAATX0 = AT𝜆0X0 Điều tương ứng với ATA(ATX0) = 𝜆0(ATX0) Vì 𝜆0 ≠ nên ATX0 ≠ Suy 𝜆0 trị riêng ATA Ma trận AAT ma trận ATA hai ma trận đối xứng, nên chúng chéo hóa trực giao Phân tích SVD ma trận A: Cho ma trận A Mm,n[R], r(A) = r Ma trận A phân tích thành dạng A=QƩPT, Q P hai ma trận có họ véctơ họ trực chuẩn, Ʃ = ( D0 00) ma trận m x n, D ma trận chéo, có phần tử đường chéo σ1,σ2, ,σr số thực dương gọi singular values A Khi đó: AAT = QƩPT(QƩPT)T = QƩPTPƩTQT = QƩƩTQT Và ATA = (QƩPT)TQƩPT = PƩTQTQƩPT = PƩTƩPT ⇒ Các cột Q véctơ riêng AA T σ12,σ22, ,σr2 trị riêng khác AAT h Trong D, ta xếp singular values A theo thứ tự giảm dần σ1 ≥ σ1 ≥ ≥ σr Gọi Q = ( q1|q2|…|qm ) P = ( p1|p2|…|pn ), ( σ D= σ 0 σ r ) Ma trận A ghi dạng: A= σ1q1p1T + σ2q2p2T + + σrqrprT, với qipiT ma trận có hạng Như ma trận A phụ thuộc vào r cột P,Q r phần tử khác đường chéo Ʃ Ta có phân tích gọn A gọi compact SVD: A = QrDPr với Qr, Pr ma trận tạo nên từ cột Q P tương ứng Ta có xấp xỉ: A ≈ Ak = σ1q1p1T + σ2q2p2T + + σrkqkpkT sai số xấp xỉ xác định bời công thức: || A – A k || = σ 2k+1 +σ 2k+2 +…+ σ 2r CHƯƠNG ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀO HỆ THỐNG GỢI Ý TRONG HỌC MÁY 3.1 Giới thiệu hệ thống gợi ý (Recommender Systems) Các bạn có lẽ gặp tượng nhiều lần:  Youtube tự động chuyển video liên quan đến video bạn xem Youtube tự gợi ý video mà bạn thích  Khi bạn mua hàng Amazon, hệ thống tự động gợi ý “Frequently bought together”, biết bạn thích hàng dựa lịch sử mua hàng bạn  Facebook hiển thị quảng cáo sản phẩm có liên quan đến từ khố bạn vừa tìm kiếm  Facebook gợi ý kết bạn  Netflix tự động gợi ý phim cho người dùng h Và nhiều ví dụ khác mà hệ thống có khả tự động gợi ý cho ngừời dùng sản phẩm họ có thể thích Bằng cách quảng cáo hướng đối tượng như này, hiệu việc marketing tăng lên Những thuật toán đằng sau ứng dụng thuật toán Machine Learning có tên gọi chung là Recommender Systems hoặc Recommendation Systems, tức Hệ thống gợi ý Hệ thống gợi ý (Recommender Systems - RS) ứng dụng nhiều lĩnh vực giải trí, giáo dục, khoa học, đặc biệt thương mại điện tử Việc tích hợp kỹ thuật gợi ý vào hệ thống trực tuyến nhằm tự động phân tích hành vi khứ người dùng để dự đốn nhu cầu/sở thích họ tương lai, từ có đề xuất hợp lý cho người dùng cần thiết thực tế Hệ thống gợi ý ứng dụng thành công thực tiễn giúp người dùng giải vấn đề tải thông tin Hiện nay, hệ thống gợi ý nghiên cứu ứng dụng nhiều lĩnh vực khác đặc biệt thương mại điện tử Việc gợi ý sản phẩm phù hợp góp phần làm tăng doanh số bán hàng số lượng truy cập, download hệ thống Đồng thời giúp cho khách hàng tìm kiếm thông tin thú vị sản phẩm mà họ muốn tìm dễ dàng Hệ thống gợi ý giúp người dùng chọn lựa thông tin phù hợp cho dựa hành vi/phản hồi (feedbacks) mà người dùng thực khứ Các phản hồi xác định cách tường minh (explicit feedback) thơng qua việc đánh giá/xếp hạng (ví dụ, rating từ đến 5; hay like dislike,…) mà người dùng bình chọn sản phẩm – trường hợp gọi dự đoán xếp hạng (rating prediction) phản hồi xác định cách khơng tường minh hay cịn gọi tiềm ẩn (implicit feedbacks) số lần click chuột, số lần chọn mua sản phẩm, thời gian mà người dùng duyệt/xem sản phẩm,… Mục đích hệ thống gợi ý dựa vào sở thích, thói quen, nhu cầu, khứ người sử dụng để dự đốn sở thích tương lai họ Trong hệ thống gợi ý người ta quan tâm đến đối tượng: người dùng (user), sản phẩm (item) phản hồi người dùng sản phẩm, thường xếp hạng (rating) ta gọi U tập tất người dùng (users) u người dùng cụ thể (u U) I tập tất sản phẩm h (items) gợi ý sản phẩm cụ thể (i I) R tập hợp giá trị để ước lượng sở thích người dùng, rm R xếp hạng người dùng u sản phẩm i Giá trị rm xác định qua cách tường minh thơng qua việc đánh giá/xếp hạng mà u bình chọn cho i (gọi dự đoán xếp hạng), r m xác định qua cách tiềm ẩn số lần click chuột, số lần chọn mua sản phẩm, thời gian mà u duyệt i,… Các thông tin user, item, thường biểu diễn thông qua ma trận hình….Trong đó, hàng người dùng u, cột sản phẩm i, giao hàng cột phản hồi người dùng Các có giá trị item mà user xem chọn khứ, có nhiều trống ma trận Các Recommendation Systems thường chia thành hai nhóm lớn: Content-based systems: đánh giá đặc tính của items được recommended Ví dụ: một user xem nhiều phim cảnh sát hình sự, gơi ý phim sở liệu có chung đặc tính hình sự tới user này, ví dụ phim Người phán xử Cách tiếp cận yêu cầu việc xếp các items vào nhóm tìm đặc trưng từng item Tuy nhiên, có những items khơng có nhóm cụ thể việc xác định nhóm đặc trưng từng item đôi bất khả thi h Collaborative filtering: hệ thống gợi ý items dựa tương quan (similarity) các users và/hoặc items Có thể hiểu nhóm một item được recommended tới một user dựa những users có hành vi tương tự Ví dụ: users A, B, C đều thích hát Noo Phước Thịnh Ngoài ra, hệ thống biết rằng users B, C cũng thích hát Bích Phương chưa có thơng tin việc liệu user A có thích Bích Phương hay khơng Dựa thơng tin những users tương tự là B C, hệ thống dự đốn rằng A cũng thích Bích Phương gợi ý hát ca sĩ tới A 3.2 Ứng dụng phân tích SVD vào hệ thống gợi ý học máy (machine Learning) Ứng dụng hệ thống đề xuất phim (recommendation systems) cho người dùng: Các bước bản: • Lập user-item matrix • Tách user-item matrix thành hai thừa số: user matrix item matrix • Mỗi người dùng tương ứng với hàng user matrix • Mỗi sản phẩm tương ứng với cột item matrix • Ước tính độ phù hợp tích vơ hướng vector người dùng vector sản phẩm • Ước tính độ tương tự cách so sánh vector người dùng với (hoặc vector sản phẩm với nhau) ma trận thỏa mãn số điều kiện định - Ma trận user-item: • Mỗi người dùng dòng, sản phẩm cột • Có thể chuẩn hóa cách trừ giá trị trung bình • Thường ma trận thưa, đa số cặp user-item khơng có tương tác h - Thừa số hóa: Giả sử có m người dùng n sản phẩm: • User-item matrix R ~ U I kích thước m x n • U user matrix, kích thước m x d • I item matrix, kích thước d x n • d tham số, nhỏ nhiều so với m, n • S = UI ma trận xấp xỉ với R, có intrinsic dimension d Nhận xét: Bằng cách giảm chiều liệu, ta loại bớt không gian để tránh việc kết lặp lại user- item matrix (S gần với R) Giả thiết quan trọng phương pháp phân tích SVD loại bỏ hiệu ứng ngẫu nhiên h Mỗi vector người dùng sản phẩm có d chiều, ứng với d nhân tố ẩn (latent factor) Với phương pháp phân tích SVD ta có: Trong đó: + Ma trận User tích hai ma trận U S + Ma trận Item ma trận VT Nhờ phương pháp phân tích SVD, ta loại bỏ thông tin cách bỏ bớt chiều cuối CHƯƠNG 4.1 MATLAB Phân tích SVD ma trận Matlab Giả sử ta có ma trận A = [1 2; 4; 6; 8] Phân tích SVD ma trận trên: h 4.2 Ví dụ minh họa Chúng ta xây dựng code để thể trực quan ứng dụng phân tích SVD vào hệ thống gợi ý học máy Và cho kết hình bên dưới: CHƯƠNG KẾT LUẬN Ngoài ứng dụng trên, SVD cịn có ứng dụng khác hồi quy tuyến tính, tối ưu cực trị rời rạc, lát cắt cực đại, xử lí hình ảnh,… thích hợp cho lượng liệu lớn Ưu điểm giải vấn đề Matlab tính tốn dễ dàng, cho kết xác, đồng thời tiết kiệm thao tác tối ưu thời gian so với cách tính phổ thơng Nhược điểm giải vấn đề Matlab thiết kế đoạn code nhiều thời gian, cơng sức; đoạn code rườm rà; cịn giới hạn phạm vi chủ đề định, chưa sáng tạo chủ đề tính tốn kỹ thuật khác h Với phân công, chuẩn bị kỹ lưỡng cố gắng tìm hiểu, nghiên cứu đề tài, nhóm lớp L07 chúng em hoàn thành tốt đề tài giao thiết kế chương trình Matlab cho kết mong muốn Qua phần tập lớn nhóm biết thao tác giải tốn Matlab, giúp hiểu thêm mơ hình liệu, cách sử dụng tính tốn SVD tay hàm viết sẵn, tìm hiểu đề tài với nhiều ứng dụng thú vị, qua nâng cao hứng thú môn học, trao dồi kỹ học tập làm việc nhóm, nâng cao tinh thần trách nhiệm thắt chặt tình đồn kết thành viên nhóm TÀI LIỆU THAM KHẢO [1] Đặng Văn Vinh (2020) Giáo trình Đại số tuyến tính Đại học Quốc gia Thành phố Hồ Chí Minh, Trường Đại học Bách Khoa [2] https://machinelearningcoban.com/2017/06/07/svd/ [3] https://machinelearningcoban.com/2017/05/17/contentbasedrecommendersys/ [4] https://www.mathworks.com/matlabcentral/fileexchange/48406-svd-free-matrix- completion-for-recommender-system-design [5] https://blogs.mathworks.com/loren/2015/04/22/the-netflix-prize-and-production- machine-learning-systems-an-insider-look/ h h

Ngày đăng: 10/05/2023, 15:12

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan