1. Trang chủ
  2. » Giáo Dục - Đào Tạo

BÀI tập lớn đại số TUYẾN TÍNH ỨNG DỤNG của PHÂN TÍCH SVD vào hệ THỐNG gợi ý TRONG MACHINE LEARNING

96 42 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

Thông tin cơ bản

Định dạng
Số trang 96
Dung lượng 4,16 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cách biểu diễn một ma trận như * được gọi là = 1tách ra thành tích của các ma trận đặc biệt dựa trên các véc tơ riêng và trị riêng.. Một ma trận vuông được gọi là ch éo hóa được nếu tồn

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH

GVHD: Th.S Nguyễn Xuân Mỹ

LỚP: L09 - NHÓM: 9

Trang 2

ỨNG DỤNG CỦA PHÂN TÍCH SVD VÀO HỆ THỐNG GỢI Ý TRONG

MACHINE LEARNING

NHÓM: 9

download by : skknchat@gmail.com

Trang 3

BÀI TẬP LỚN ĐẠI SỐ TUYẾN TÍNH - Nhóm 9

Trang 4

Mở đầu Cơ sở Phương Ứng dụng Matlab

lý thuyết pháp phân trong

learning

NỘI DUNG

download by : skknchat@gmail.com

Trang 5

Chương 1:

MỞ ĐẦU

Trang 6

là gì

Trang 7

Chương 2:

CƠ SỞ LÝ THUYẾT

Trang 9

download by : skknchat@gmail.com

Trang 11

download by : skknchat@gmail.com

Trang 12

Phép nhân hai ma trận

a A(BC) = (AB)C; b A(B + C) = AB + AC;

c (B + C)A = BA + CA; d ImA = A = AIm

e k (AB) = (kA)B = A(kB) f Nói chung AB BA

g Chuyển vị của một tích thì bằng tích các chuyển vị theo thứ

tự ngược lại:

(AB)T = BTAT

download by : skknchat@gmail.com

Trang 13

Chương 2: Cơ sở lý thuyết

Trang 14

Ma trận nghịch đảo

Cho ma trận vuông A × , nếu tồn tại ma trận vuông B × sao cho

AB= In, ta nói A khả ∈ Rnghịch và B được gọi là ma trận nghịch đảo của ma trận∈ R

A.

Nếu không tồn tại ma trận B thỏa điều kiện trên => A không khả nghịch.

A khả nghịch => ma trận nghịch đảo: A-1

download by : skknchat@gmail.com

Trang 15

Chương 2: Cơ sở lý thuyết

Ma trận đường ché o

Chỉ có các thành phần trên đường chéo chính khác 0.

Vết của ma trận vuông là tổng tất cả các phần tử trên đường

chéo chính của nó, ký hiệu trace(A) Ví dụ: trace(A) =

1+2+3 = 6

Trang 16

Ma trận tam giác

Ma trận tam giác trên:

• Ma trận vuông.

• Tất cả thành phần nằm phía dưới đường chéo chính = 0.

Tương tự với ma trận tam giác dưới.

download by : skknchat@gmail.com

Trang 17

Chương 2: Cơ sở lý thuyết

- Với n = 1, det(A) chính là phần tử duy nhất của ma trận đó.

- Với n > 1, ta có cách tính định thức dựa trên khai triển hàng thứ i của ma trận:

Trang 18

download by : skknchat@gmail.com

Trang 19

Chương 2: Cơ sở lý thuyết

Trang 21

Chương 2: Cơ sở lý thuyết

=[1,2

…, ]∈

Trang 23

Chương 2: Cơ sở lý thuyết

Trang 24

Cơ sở của một không gian véc tơ

∈ V ều biểu diễn duy nhất qua cơ sở đều biểu diễn duy nhất qua cơ sở.

ChúKiđó,ý:sốmọivécvéctơtơtrongb cơ sở phải bằng số chiều của không gian

download by : skknchat@gmail.com

Trang 25

Chương 2: Cơ sở lý thuyết

3 Với, thì rank(A) ≤ min (m, n)

4 rank (AB) ≤ min (rank (A), rank (B))

5 rank (A + B) ≤ rank (A) + rank (B)

Trang 26

Hệ trực chuẩn, ma trận trực giao

Một hệ cơ sở được gọi là trực giao (orthogonal) nếu

mỗi véc tơ khác 0 và tích của hai véc tơ khác nhau bất kì bằng 0.

Trang 27

= 0, ≠

download by : skknchat@gmail.com

Trang 29

Chương 2: Cơ sở lý thuyết

Trị riêng và véc tơ riêng

Cho một ma trận vuông A ∈ Rn×n, một véc tơ x ∈ Rn (x ≠ 0) và một số vô hướng

(có thể thực hoặc phức) λ

Nếu Ax=λx thì ta nói λ và x là một cặp giá trị riêng, véc tơ riêng

(eigenvalue, eigenvector) của ma trận A.

Trang 30

Trị riêng và véc tơ riêng

Cũng có ݔ , tức là x nằm trong không gian Null của

Vậy det , hay λ là nghiệm của phương trình

này là một đa thức bậc n của t, gọi là đa thức đặc trưng

(characteristic polynomial) của A, ký hiệu là pA(t).

Tập hợp tất cả các giá trị riêng của một ma trận còn gọi là phổ (spectrum)

của ma trận đó.

Trang 31

download by : skknchat@gmail.com

Trang 32

Chương 2: Cơ sở lý thuyết Chéo hóa ma trận

Giả sử x1,… , xn ≠ 0 là các véc tơ riêng của một ma trận vuông A ứng với

−1

được chọn sao cho ݔ ݔ

Trang 33

Cách biểu diễn một ma trận như (*) được gọi là = 1

tách ra thành tích của các ma trận đặc biệt dựa trên các véc tơ riêng và trị riêng

Ma trận các giá trị riêngdownloadPlàmộtby :maskknchat@gmailtrậnđườngchéo.com.

Trang 34

1 − là nửa xác định dương vì với mọi véc tơ ݔ

Trang 35

Ta có: ݔ 1 − = 1 ݑ ݑ ݒ ݒƒƒ ݑ ݑ ݒ ݒ ݑ =

download by : skknchat@gmail.com

Trang 36

Ma trận xác định dương

TÍNH CHẤT:

1 Mọi trị riêng của ma trận xác định dương đều là số thực dương

2 Mọi ma trận xác định dương là khả nghịch, định thức của nó là một số

dương

download by : skknchat@gmail.com

Trang 37

Chương 2: Cơ sở lý thuyết

Chuẩn của véc tơ và ma trận

≥0∀ , thỏa mãn các điều kiện sau đây:: →

1 ݔ ݔ dấu bằng xảy ra khi x = 0

Trang 38

Chương 2: Cơ sở lý thuyết

Machine Learning

Dùng máy tính Sự học của

máy tính

Khám phá tri thức từ dữ liệu

Trí tuệ nhân tạo

xây dựng và phát triển chương trình máy tính

có thể học từ

Trang 39

dữ liệu đưa vào hoặc kinh nghiệm

download by : skknchat@gmail.com

Trang 40

Ví dụ 3

Tìm đường

ngắn nhất cho robot

download by : skknchat@gmail.com

Trang 41

Chương 2: Cơ sở lý thuyết

Tại sao cần nghiên cứu Machine Learning

định rõ

Trang 43

Chương 3:

PHƯƠNG PHÁP PHÂN TÍCH MA

TRẬN SVD

Trang 44

Mộ t ma tr ậ n vuô ngđược g ọ i là ch éo h ó a được n ếu tồ n tại ma trậ n đường ché ov à ma tr ậ n khả ngh ịch sao cho:

ri êng c ủa ứ ng v ới trị ri êng.

Mộ t ma tr ậ n vuô ngđược g ọ i là ch éo h ó a được n ếu tồ n tại ma trậ n đường ché ov à ma tr ậ n khả ngh ịch sao cho:

Trang 45

riêng c ủavà m ỗivector cộ t ph ải là m ộtvector ri êng c ủ av à mỗ i

vector cộ tph ải là m ột vector

ri êng c ủa ứ ng v ới trị ri êng.

Một ma trận vuông được gọi là ch éo hóa được nếu tồn tại ma trận đường chéo và ma trận khả nghịch = sao cho:−1

vector cộtphải là m ột vector

riêng của ứ ng với trị riêng.

download by : skknchat@gmail.com

Chương 3:

Giới thiệu

Trang 46

(**) Gọi lần lượt là cột thứ của ma trận và Vì (**) có mỗi cột vế bằng vế phải nên ta có: =

vector cộtphải là m ột vector

riêng của ứ ng với trị riêng.

Dấu “=” thứ hai xảy ra vì D là ma trận đường chéo, tức di chỉ có thành phần

d khác không

Biểu thức (***) :

• Mỗi di phải là 1 trị riêng của A

• Mỗi vector cột pi phải là một vector riêng của A ứng với trị riêng dii

download by : skknchat@gmail.com

Trang 47

Chương 3:

Giới thiệu

Cách phân tích 1 ma trận vuông thành nhân tử như (*) còn gọi là phân tích

giá trị riêng. Số lư ợng phần tử khác kh ông của ma trận đường−1 chéo chính là r(A )

Một ma trận vuôngđư ợc gọi là chéo hóa được nếu tồn tại ma trận đường chéovà ma trận khả nghịchsao cho:

=

(*)

Nhân 2 vế (*) vớita có:

(**) Gọi lần lượt là cột thứ của ma trận và Vì (**) có mỗi cột vế

ra vì =

là = ma trận đường ch

éo, tức ch ỉ có th ành phần d khác không Biểu thức (***) chỉ ra rằng mỗi ph ần tử phải là một trị

phải là m ột vector riêng củavà mỗi

ri êng của và m ỗi vector cột vector cột riêng của ứ ng với trị riêng.

ph ải là m ột vector

Trang 48

=> không tồn tại ma trận khả nghịch P.

• Không duy nhất, vì nếu P, D thỏa (*) thì kP D cũng thỏa mãn với k = 0

là một số thực bất kì

download by : skknchat@gmail.com

Trang 50

download by : skknchat@gmail.com

Trang 52

download by : skknchat@gmail.com

Trang 53

• Các là căn bậc hai của các trị riêng của AAT, còn gọi là singular values của A.

• Mỗi cột của U là 1 vector riêng của A => mỗi cột là left-singular vectors của A

• Tương tự và các cột của V còn được gọi là các right-singular vectors của A

Trang 54

Thay vì tính toàn bộ ma trận=> chỉ tính n cột đầu tiên là.

Số chiều của ma trận đường chéo cũng giảm xuống thành

A được biểu diễn dưới dạng: còn 2 ( cột của ma trận và cột của ma trận ).

dưới dạng:

Khi đó ma trận được biểu diễn Σ Σ

lượng vector riêng chỉ

=

Trang 55

• Số lượng các trị riêng cần tìm chỉ còn n và số lượng vector riêng chỉ còn 2n (n cột của ma trận Umn và n cột của ma trận Vnn).

download by : skknchat@gmail.com

Trang 57

Chương 3: Giảm chiều SVD

2 COMPACT SVD:

× = × Σ × ×

Viết lại biểu thức dưới dạng tổng của các ma trận rank 1:

Mỗi , là một ma trận có rank bằng 1

A chỉ phụ thuộc vào r cột đầu tiên của U, V và r giá trị khác 0 trên đường chéo

Ta có cách phân tích gọn hơn: compact SVD: Biểu diễn ma trậndưới dạng tổng của các tích vector cột ݑ củavà

vector dòng ݒ củanhư sau: ݒ ߪ ߪ ߪ ݑ

Các vector ݑ và ݒ là các hệ cơ sở độc lập tuyến tính

=σ=1 Thông thườ ng trong ma trận đường chéo Σ chỉ một lượng lớn các trị riêng

có lớn hơn 0 Các trị riêng còn lại đều xấp xỉ 0.

Trang 59

Chương 3: Giảm chiều SVD

0.

có lớn hơn 0 Các trị riêng còn lại đều xấp xỉ Σ

Do đó chỉ tạivị trí dòng và cột tươ ng ứng với các trị riêng đủ lớn ta mới thực hiện tính toán SVD Biểu diễn ma trậndướ i dạng compact SVD:

lần lượt là các ma trận sau khi đã rút gọn các dòng và cột để chỉ

=

các Σ vị trí tương ứng với

ߪ

đủ lớn.

giữ lại , Σ , Nếu thì cách tính này tiết kiệm được nhiều số lượ ng tính toán và lưu với làm mỏng SVD.

trữ hơn so ≪

Trang 60

• Nếu A có rank nhỏ hơn rất nhiều so với số hàng và số cột r << m,

n => được lợi nhiều về lưu trữ.

download by : skknchat@gmail.com

Trang 61

Chương 3: Giảm chiều SVD

2 COMPACT SVD:

Ví dụ minh hoạ với m = 4, n = 6, r = 2.

Hình: Biểu diễn SVD thu gọn và biểu diễn ma trận dạng tổng các ma trận có rank = 1.

Trang 62

3 TRUNCATE SVD:

Giả định A là ma trận bán xác định dương Khi đó mọi trị riêng của

nó đều không âm

Lấy ra t dòng và cột ứng với t các trị riêng lớn nhất của A từ U, VT.Phần còn lại của ma trận sẽ bị loại bỏ

Thu được ma trận xấp xỉ của A:

Hoặc ta có thể biểu diễn dưới dạng tổng của tích vô hướng các vectorcột và dòng của U,VT như sau: = ݐ

=1 ݒ ߪ ߪ ݑ

download by : skknchat@gmail.com

Trang 63

Chương 3: Giảm chiều SVD

3 TRUNCATE SVD:

Tính được khoảng cách norm Frobenius giữa  và A: bằng tổng bình

phương các trị riêng còn lại từ đến (với giả định A có n trị riêng) như sau:

Khi đó ta còn tính được khoảng cách norm Frobenius giữa A^ và A chính bằng tổng bình phương của các trị riêng còn lại từ

ߪ

ݐ +1

ݑ ݒ ݒ ݑ ߪ

riêng có giá trị lớn nhất:

Trang 64

phương các trị riêng còn lại 2 ߪ

Trang 65

Chương 3: Giảm chiều SVD

4 BÀI TOÁN XẤP XỈ

Trang 67

Chương 3: Ma trận nghịch đảo suy rộng

Định lý: Với ma trận × bất kỳ thì A+ được gọi là ma trận nghịch đảo suy rộng của A nếu ma trận A thỏa mãn:

1 AA+A = A

2 A+AA+ = A+

3 (A.A+)T = A.A+

4 (A+.A)T = A+.A

Trang 68

Với mọi ma trận A có phân tích SVD là thì ma trận +là ma

trận nghịch đảo suy rộng của ma trận A. =

Trang 69

Trong đó 1

1 … 0

download by : skknchat@gmail.com

Trang 70

ỨNG DỤNG CỦA SVD TRONG HỌC MÁY

download by : skknchat@gmail.com

Trang 73

Chương 4:

Hệ gợi ý dựa trên nội dung

Users Người dùng Sản phẩm Items

Mục đích của hệ gợi ý:

Dự đoán mức độ quan tâm của một user tới một item nào

đó

Trang 74

Hệ gợi ý dựa trên nội dung

Trang 75

Chương 4:

Utility matrix

Mỗi user sẽ có mức độ quan tâm tới từng item khác nhau.

• Mức độ quan tâm này, nếu đã biết, được gán cho một giá trị

ứng với mỗi cặp user-item.

Giả sử mức độ quan tâm được đo bằng giá trị user rate cho

item, tạm gọi giá trị này là rating.

• 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.

Trang 76

VD: Hệ thống gợi ý bài hát

6 user: A tới F

chưa có dữ liệu 5

bài

Hệ gợi ý sẽ dự đoán

hát

giá trị tại các ô màu xám,

từ đó đưa ra gợi ý cho người dùng.

1 user đã đánh giá 1 bài hát với ratings

từ 0 (không thích) đến 5 (rất thích)

Trang 78

Utility matrix

• Nhiều ô được điền => độ chính xác của hệ thống càng cao.

TuyƯu nhiên,điểm: cóMộtrấtrongnhiềunhữngusers thuậtvàiems,toán vàdễ mỗihiểuusernhấtchỉnhưngđánhlạigiá vớimangsố lượngạihiểurấtquảnhỏcao nhờ vào tính logic của nó

=>• LượngNhượcôđiểm:màuxámCầncủaquáutilnhityều matrdữliệuxtrongđánh cácgiá bàicủatoánngườiđódùng.

thường rất lớn, và lượng các ô đã được điền là một số rất nhỏ.

Trang 79

download by : skknchat@gmail.com

Chương 4:

Xây dựng Utility matrix

• Không có Utility matrix, gần như không thể gợi ý được sản phẩm tới người dùng, ngoài cách luôn luôn gợi ý các sản phẩm phổ biến nhất.

• Có hai hướng tiếp cận phổ biến để xác định giá trị rating cho mỗi cặp

user-item trong Utility Matrix:

1 Nhờ user đánh giá item.

2 Dựa trên hành vi của user.

Trang 81

Chương 4:

Content-Based Recommendations

Xây dựng 1 bộ hồ sơ cho mỗi item => biểu diễn dưới dạng toán học là

feature vector.

• TH đơn giản, feature vector được trích xuất từ item.

• VD: các features của 1 bài hát:

- Nhạc sĩ sáng tác: Cùng là nhạc trẻ, có người thích của Phan Mạnh

Quỳnh, người khác lại thích Sơn Tùng MTP.

- Năm sáng tác: Có người sẽ thích những bài nhạc cũ hơn nhạc hiện đại.

- Thể loại nhạc: Có người thích nhạc rock, có người lại thích nhạc điện tử.

Trang 82

Content-Based Recommendations

Xây dựng một feature vector hai chiều cho mỗi bài hát: chiều thứ nhất là mức

độ Bolero, chiều thứ hai là mức độ Thiếu nhi của bài đó

Đặt các feature vector cho mỗi bài hát là x1, x2, x3, x4, x5

download by : skknchat@gmail.com

Trang 83

Chương 4:

Content-Based Recommendations

• Tìm cho mỗi user có thể coi là bài toán hồi quy trong TH ratings là

một dải giá trị, hoặc bài toán phân loại trong TH Ratings là một số

TH cụ thể.

• Dữ liệu training để xây dựng mỗi mô hình là các cặp (item profile,

ratings) tương ứng với các items mà user đó đã rated.

• Việc điền các giá trị còn thiếu trong ma trận Utility chính là việc dự đoán đầu

ra cho các unrated items khi áp dụng mô hình lên chúng download by :

Trang 84

Content-Based Recommendations

ƯU ĐIỂM

Xây dựng mô hình cho user không phụ

thuộc vào user khác, phụ thuộc vào hồ

sơ của item

• Tiết kiệm bộ nhớ, thời gian tính toán

• Tận dụng thông tin đặc trưng của item

• Xây dựng feature vector bao gồm kỹ

thuật Xử lí ngôn ngữ tự nhiên

download by : skknchat@gmail.com

Trang 85

Chương 4:

Neighborhood-based Collaborative Filtering

Xác định mức độ

quan tâm của một

user tới một item

dựa trên các users

khác gần giống với

user này.

Việc gần giống nhau giữa các users xác định thông qua mức độ quan tâm của users này tới các items khác hệ thống đã

biết.

A, B thích phim Cảnh sát hình sự, tức rate phim này 5 sao Biết A cũng thích Người phán

xử, nhiều khả năng

B cũng thích bộ

phim này.

Trang 86

• Xác định sự giống nhau giữa 2 user.

• Dữ liệu duy nhất chúng ta có là Utility matrix Y, vậy nên sự giống nhau này phải được xác định dựa trên các cột tương ứng với hai users trong ma trận này.

download by : skknchat@gmail.com

Trang 87

Chương 4:

User-user Collaborative Filtering

Đặt mức độ giống nhau của hai users ݑ , ݑ là:

Một similiarity function tốt cần đảm bảo:

Để xác định mức độ quan tâm của u0 lên i2 nên dựa trên hành vi của u1 lên sản

phẩm này.

Vì u1 đã thích i2 nên hệ thống cần gợi ý i2 cho u0.

Trang 88

• Để đo similarity giữa 2 users, xây dựng feature vector cho mỗi user rồi áp dụng mộthàm có khả năng đo similarity giữa hai vectors đó.

• Các vectors này được xây dựng trực tiếp dựa trên Utility matrix chứ không dùng dữliệu ngoài như item profiles

• Với mỗi user, thông tin duy nhất chúng ta biết là các ratings mà user đó đã thực hiện, tức cột tương ứng với user đó trong Utility matrix

• Các cột này thường có rất nhiều mising ratings vì mỗi user thường chỉ rated một số lượng rất nhỏ các items

• Khắc phục: giúp hệ thống điền các giá trị này sao cho việc điền không làm ảnh hưởng nhiều tới sự giống nhau giữa hai vector

• Việc điền này chỉ phục vụ cho việc tính similarity chứ không phải là suy luận ra giátrị cuối cùng

download by : skknchat@gmail.com

Trang 90

Tính toán sự tương đồng giữa các items rồi gợi ý những

items gần giống với item yêu thích của một user.

=> Similarity matrix nhỏ hơn, thuận lợi cho việc lưu trữ và tính toán

• Số lượng phần tử đã biết trong Utility matrix là như nhau nhưng số hàng(items) ít hơn số cột (users)

Trang 91

=> Mỗi hàng của ma trận có nhiều phần tử đã biết hơn số phần tử

đã biết mỗi cột => Giá trị trung bình của mỗi hàng ít bị thay đổihơn khi có thêm một vài ratings => Cập nhật ma trận SimilarityMatrix có thể được thực hiện ít thường xuyên hơn

download by : skknchat@gmail.com

Trang 92

download by : skknchat@gmail.com

Trang 93

Chương 5:

Tổng quan về matlab

Ngày đăng: 24/04/2022, 12:45

HÌNH ẢNH LIÊN QUAN

Hình: Biểu diễn SVD thu gọn và biểu diễn ma trận dạng tổng các ma trận có rank = 1. - BÀI tập lớn đại số TUYẾN TÍNH  ỨNG DỤNG của PHÂN TÍCH SVD vào hệ THỐNG gợi ý TRONG MACHINE LEARNING
nh Biểu diễn SVD thu gọn và biểu diễn ma trận dạng tổng các ma trận có rank = 1 (Trang 61)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w