1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo bài tập lớn Đề tài cơ sở lý thuyết và ứng dụng của phân tích svd vào hệ thống gợi ý trong học máy

14 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Thông tin cơ bản

Tiêu đề Cơ Sở Lí Thuyết Và Ứng Dụng Của Phân Tích SVD Vào Hệ Thống Gợi Ý Trong Học Máy
Tác giả Vế Nguyễn Nhật Tân, Nguyễn Bảo Quốc, Phạm Phú Quí, Lấ Thị Thảo Quyến, Trần Văn Quyền, Ve Samy, Trần Kỳ Sơn, Nguyễn Tiến Thành
Người hướng dẫn GVHD: Nguyễn Xuân Mỹ
Trường học Đại học Quốc gia TP Hồ Chí Minh
Chuyên ngành Đại số tuyến tính
Thể loại báo cáo bài tập lớn
Năm xuất bản 2022-2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 14
Dung lượng 2,61 MB

Nội dung

3 LỜI MỞ ĐẦU Việc phân tích một ma trận ra thành tích của nhiều ma trận đặc biệt khác Matrix Factorization hoặc Matrix Decomposition mang lại nhiều ích lợi quan trọng mà các bạn sẽ thấy

Trang 1

1

ĐẠI HỌC QUỐC GIA TP HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

🙞···☼···🙜🙜

MÔN HỌC: ĐẠI SỐ TUYẾN TÍNH

NĂM HỌC: 2022-2023

BÁO CÁO BÀI TẬP LỚN

ĐỀ TÀI:

CƠ SỞ LÝ THUYẾT VÀ ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀO HỆ THỐNG GỢI Ý TRONG HỌC MÁY

GVHD : NGUYỄN XUÂN MỸ NHÓM : 09

LỚP : L13

Thành phố Hồ Chí Minh – 2022

Trang 2

1

MỤC LỤC

DANH SÁCH THÀNH VIÊN 2

LỜI MỞ ĐẦU 3

CHƯƠNG I SINGULER VALUE DECOMPOSITION (SVD) 4

1.1 Phát biểu SVD 4

1.2 Chứng minh luôn tồn tại phép phân tích SVD với mọi ma trận Amxn 4

1.3 Biểu diễn SVD qua các trường hợp của ma trận A 5

1.4 Phương pháp phân tích SVD của một ma trận bất kì 5

1.5 Giải bằng matlab 6

CHƯƠNG II ỨNG DỤNG CỦA HỆ THỐNG GỢI Ý TRONG HỌC MÁY 9

2.1 Mở đầu 9

2.2 Hai nhóm chính của Recommendation Systems 9

2.3 Bài toán tổng quát của hệ thống gợi ý 10

CHƯƠNG III TÀI LIỆU THAM KHẢO 12

CHƯƠNG IV TỔNG KẾT 12

V NHẬN XÉT CỦA GIÁO VIÊN 13

Trang 3

2

DANH SÁCH THÀNH VIÊN

1 (Nhóm trưởng) VÕ NGUYỄN NHẬT TÂN 2213071 Tổng hợp và làm file word, phân chia công việc, tìm hiểu bài toán

tổng quát của hệ thống gợi ý

2 NGUYỄN BẢO QUỐC 2212837 phần ứng dụng của SVD, tìm tài Đóng góp ý kiến, tìm hiểu về

liệu tham khảo

3 PHẠM PHÚ QUÝ 2212873 phần ứng dụng của SVD, tìm tài Đóng góp ý kiến, tìm hiểu về

liệu tham khảo

4 LÊ THỊ THẢO QUYÊN 2212848 Word, đóng góp ý kiến, tìm hiểu Thiết kế phần bìa, chỉnh sửa

về cơ sở lý thuyết của SVD

5 TRẦN VĂN QUYỀN 2212862 toán tổng quát của hệ thống gợi ý Đóng góp ý kiến, tìm hiểu về bài

6 VE SAMY 2212901 sở lý thuyết của SVD, chỉnh sửa Đóng góp ý kiến, tìm hiểu về cơ

file Word, tìm tài liệu tham khảo

7 TRẦN KỲ SƠN 2212955 phần ứng dụng của SVD, tìm tài Đóng góp ý kiến, tìm hiểu về

liệu tham khảo

8 NGUYỄN TIẾN THÀNH 2213141 phần viết code Matlab, tìm tài liệu Phụ trách tìm hiểu, đảm nhiệm

tham khảo

Trang 4

3

LỜI MỞ ĐẦU

Việc phân tích một ma trận ra thành tích của nhiều ma trận đặc biệt khác (Matrix Factorization hoặc Matrix Decomposition) mang lại nhiều ích lợi quan trọng mà các bạn sẽ thấy: giảm số chiều dữ liệu, nén dữ liệu, tìm hiểu các đặc tính của dữ liệu, giải các hệ phương trình tuyến tính, clustering, và nhiều ứng dụng khác

Trong bài viết này, chúng tôi sẽ giới thiệu với các bạn một trong những phương pháp Matrix Factorization của Đại số tuyến tính Phương pháp đó có tên

là Singular Value Decomposition (SVD) Các bạn sẽ thấy, mọi ma trận, không nhất thiết là vuông, đều có thể được phân tích thành tích của ba ma trận đặc biệt Dưới đây, chúng tôi sẽ phát biểu SVD cũng như các tính chất và ứng dụng điển hình của nó trong hệ thống gợi ý (Recommendation Systems)

Trang 5

4

CHƯƠNG I SINGULER VALUE

DECOMPOSITION (SVD)

1.1 Phát biểu SVD:

Với mọi ma trận A R∈ mxn ta đều phân tách được dưới dạng A = UΣVT

V là ma trận trực giao cấp m x n

U là ma trận trực giao cấp m x n

∑ là các ma trận đường chéo gồm các phần tử trên đường chéo là:

δ1 ≥ δ ≥ δ ≥ … ≥ δ ≥ 0 với p = min (m, n) 2 3 p

1.2 Chứng minh luôn tồn tại phép phân tích SVD với mọi ma trận Amxn

Chứng minh:

-Xét trường hợp m>n

-Giả sử tồn tại phân tích SVD của A = UΣVT Ta sẽ chứng minh luôn tìm được U, và V Σ

-Ta có tính chất (AB) = BT TAT

+Ta xét : AA = (UT ΣVT )( UΣVT)T= U = UDUT

-Dễ dàng chứng minh ma trận AA : T

+Là một ma trận đối xứng (bằng quy nạp)

+Là một ma trận nửa xác định dương (bằng BĐT Cauchy và quy nạp)

Do đó AA luôn chéo hóa trực giao được và trị riêng của AA không âm T T Suy ra ta luôn tìm được: U bằng phép chéo hóa trực giao AA T

và ∑ vì d ≥ 0 i, σ = ( cái tên Singuler Value xuất phát từ đây ) ii ∀ i

Trang 6

5

-Chứng minh tương tự với trường hợp xét AA=VΣΣV => tồn tại V và Σ -Mà trị riêng δ (ATA) δ (AA⊂ T) (m>n)

Vậy luôn tìm được đồng thời U, V, thỏa A = U VΣ Σ T

1.3 Biểu diễn SVD qua các trường hợp của ma trận A:

+Trường hợp 1: m < n:

+Trường hợp 2: m > n:

Σ là một ma trận đường chéo với các phần trử trên đó giảm dần và không âm Màu đỏ càng đậm thể hiện giá trị càng cao Các ô màu trắng trên ma trận này thể hiện bằng 0

1.4 Phương pháp phân tích SVD của một ma trận bất kì:

Bước 1: Xác định ma trận A (cỡ bao nhiêu) để tiến hành phân tích SVD Bước 2: Thực hiện chéo hóa trực giao: AAT = QD1QT

Trang 7

6

2.1: Viết phương trình đặc trưng của AA Từ đó chúng ta sẽ tính được các giá trị riêng của AAT Viết được ma trận đường chéo D1 có các phần tử là những giá trị riêng, ta vừa tìm được (Lưu ý phải sắp xếp nó theo thứ tự giảm dần)

2.2: Tìm vecto riêng của AAT Từ đó ta tính được ma trận Q, các cột của 𝑄

là các vecto riêng của AAT

Bước 3: Thực hiện chéo hóa trực giao ATA= PD2PT

+ Tương tự các bước 2.1, 2.2 ta tính được P và D2

+ Chọn Σm x n bằng cách chọn ma trận cỡ tương ứng phù hợp với D1 hay D2 Sau đó lấy căn bậc 2 của tất cả những phần tử trên đường chéo

Bước 4: Vậy phân tích SVD của ma trận A sẽ là: Am x n = Qm x n Σm x n (Pn x n)T

1.5 Giải bằng matlab:

Để chỉ ra ứng dụng của phân tích SVD vào hệ thổng gợi ý trong học máy (machine Learning) và viết 1 chương trình matlab ta có 1 ví dụ cụ thể:

Với ví dụ trên là sự đánh giá của 4 người dùng với 6 bộ phim trên nền tảng

hệ thống Mức đánh giá sự yêu thích sẽ là từ 1 đến 5 0 sẽ là chưa xem bộ phim

đó Ở đây ta giả sử mọi bộ phim xem qua đều được đánh giá

Từ đây ta lập được UTILITY MATRIX Amxn bằng cách nhập dữ liệu ma trận A vào file “Matrix A.xlsx” :

Trang 8

7 Tiếp theo, ta phân tích SVD cho ma trận A bằng 1 đoạn code Matlab:

Sau đó kết quả là:

Trang 9

8

Từ dữ liệu sau khi chạy code ta có:

+U là ma trận (chứa các dữ liệu đặc tính của items) cho ta thấy được sự tương quan giữa các item với nhau

+D là ma trận (chứa các dữ liệu tương quan của users) cho ta thấy được sự tương quan giữa các users

Phân tích SVD cho 1 ma trận khác thì ta lại nhập dữ liệu vào file “Matrix A.xlsx”

Trang 10

9

CHƯƠNG II ỨNG DỤNG CỦA HỆ THỐNG GỢI

Ý TRONG HỌC MÁY 2.1 Mở đầu:

Trong chúng ta chắc hẳn ai cũng gặp trường hợp này một hoặc nhiều lần:

- Youtube sẽ tự động chuyển qua các video khác liên quan đến video mà bạn đang xem hoặc có thể gợi ý những video có cùng chủ đề

- Khi bạn mua một món hàng trên Shopee, hệ thống sẽ tự động gợi ý dựa trên lịch sử tìm kiếm, lịch sử mua hàng để gợi ý ra cho bạn những món đồ bạn thích

- Facebook cũng tự động hiển thị những quảng cáo có liên quan đến từ khoá

mà bạn đã tìm

- Tiktok cũng gợi ý những clip dựa trên những người mà bạn theo dõi hoặc

là những từ khoá mà bạn đã tìm kiếm lúc trước

Và rất nhiều ví dụ khác mà hệ thống có khả năng tự hiển thị những gợi ý hoặc quảng cáo mà người dùng có thể thích Bằng cách quảng cáo như thế này, việc marketing sẽ đúng hướng và trở nên rất có hiệu quả Những thuật toán đằng sau ứng dụng này là những thuật toán Machine Learning có tên gọi chung là Recommender Systems nghĩa là Hệ thống tự gợi ý

2.2 Hai nhóm chính của Recommendation Systems:

Các recommendation systems được chia thành 2 nhóm chính:

-Content-based systems: là một phương pháp để đánh giá đặc tính của

items được recommened Giả định của phương pháp này là cách tiếp cận này phải yêu cầu vào việc sắp xếp các mặt hàng vào từng nhóm hoặc đi tìm dặc trưng của từng items Tuy nhiên có những items không có nhóm cụ thể và việc xác định nhóm hoặc đặc trưng của từng items đôi khi là bất khả thi Ví dụ: Bạn A xem rất nhiều trận bóng đá, một trong số đó là trận đấu giữa MC vs MU

-Collaborative filtering: là một phương pháp đưa ra dự đoán tự động (lọc)

về sở thích của người dùng bằng cách thu thập thông tin sở thích hoặc thị hiếu từ

Trang 11

10

nhiều người dùng (cộng tác) Giả định cơ bản của phương pháp lọc cộng tác là nếu một người A có cùng quan điểm với người B về một vấn đề, thì A có nhiều khả năng có quan điểm của B về một vấn đề khác hơn là quan điểm của một người được chọn ngẫu nhiên

VD:

2.3 Bài toán tổng quát của hệ thống gợi ý:

-Bài toán tư vấn được coi là bài ước lượng trước hạng (rating) của các sản phẩm chưa được người dùng xem xét Việc ước lượng này thường được dựa trên những đánh giá đã có của chính người dùng đó hoặc những người dùng khác Những sản phẩm có hạng cao nhất sẽ được dùng để tư vấn

Trang 12

11

-Gọi U là tập hợp tất cả người dùng, I là tập hợp tất cả các sản phẩm có thể tư vấn

Tập I có giá trị trong khoảng {1, n}, tập U có giá trị trong khoảng {1, m} Hàm f(u, i) đo độ phù hợp (hay hạng) của sản phẩm I với người dùng u : f : U x I→ R với R là tập được sắp thứ tự Tập hợp tất cả các ratings, bao gồm cả những giá trị chưa biết cần được dự đoán, tạo nên một ma trận gọi là utility matrix

Ví dụ về utility matrix với hệ thống Gợi ý bài hát: Các bài hát được người

dùng đánh giá theo mức độ từ 0 đến 5 sao Các dấu '?' nền màu xám ứng với việc dữ liệu chưa tồn tại trong cơ sở dữ liệu Recommendation Systems cần phải

tự điền các giá trị này

-Với mỗi người dùng u U, cần tìm sản phẩm i I, sao cho hàm f(i, u) đạt giá ∈ ∈ trị lớn nhất:

∀u∈∈U, iu =arg max f (u, i) -Vấn đề chính của hệ tư vấn là hàm f (u, i) không được xác định trên toàn không gian U x I mà chỉ trên một miền nhỏ của không gian đó Điều này dẫn tới việc hàm f (u, i) phải được ngoại suy trong không gian U x I Các hệ thống tư vấn thường được phân thành nhiều loại dựa trên cách nó sử dụng các thuật toán để ước lượng hạng hoặc điểm của các sản phẩm

Trang 13

12

CHƯƠNG III TÀI LIỆU THAM KHẢO

[1] Đặng Văn Vinh, Giáo trình đại số tuyến tính, NXB Đại học Quốc Gia TP Hồ Chí Minh 2022

[2] Phạm Hoàng Trương, Luận văn Thạc Sĩ Khoa Học Máy Tính: Nghiên cứu và ứng

dụng Kỹ Thuật SVD vào hệ thống gợi ý, Đại học Bách Khoa Đà Nẵng

[3] Machinelearningcoban, Bài 26: Singular Value Decomposition; Bài 25: Matrix Factorization; Bài 24: Neighborhood-Based Collaborative Filtering; Bài 23: Content-based Recommendation Systems

[4]https://en.wikipedia.org/wiki/Collaborative_filtering?fbclid=IwAR0VcMyemosdU wyauCrC-TSCj2xECXs_vUhl4AvLZzJHvf1xVewz4c9Nxjs

CHƯƠNG IV TỔNG KẾT

Hiểu được SVD và ứng dụng của nó

Các thành viên trong nhóm phối hợp tốt để hoàn thành công việc được giao Còn vài điểm trừ như:

 Khi lên ý tưởng hơi khó khăn do không tìm được nguồn tài liệu

 Có vài ý kiến tranh cãi diễn ra nhưng góp phần xây dựng nên tập thể nhóm 09

Một lời cảm ơn chân thành gửi đến giáo viên hướng dẫn cô Xuân Mỹ và một số thầy cô khác đã góp đóng góp ý kiến cho nhóm để hoàn thành tốt công việc được

giao

CHÚNG EM CHÂN THÀNH CẢM ƠN!!!

Trang 14

13

V NHẬN XÉT CỦA GIÁO VIÊN

………

………

………

………

………

………

………

………

………

Ngày đăng: 19/12/2024, 15:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w