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

(TIỂU LUẬN) 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

93 27 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

Tiêu đề Ứng Dụng Của Phân Tích SVD Vào Hệ Thống Gợi Ý Trong Machine Learning
Tác giả Phan Võ Vĩnh San, Lữ Như Quỳnh, Trương Minh Ngọc Quý, Huỳnh Gia Qui, Bùi Thị Thanh Sâm, Trần Hoàng Sơn, Thái Ngọc Rạng
Người hướng dẫn Th.S Nguyễn Xuân Mỹ
Trường học Trường Đại Học Bách Khoa Học Quốc Gia Thành Phố Hồ Chí Minh
Chuyên ngành Đại Số Tuyến Tính
Thể loại Bài tập lớn
Thành phố Thành Phố Hồ Chí Minh
Định dạng
Số trang 93
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

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.. • Mỗi vector c

Trang 1

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

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

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

MACHINE LEARNING

NHÓM: 9

Trang 4

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

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

learning

NỘI DUNG

Trang 5

MỞ ĐẦU

Trang 7

CƠ SỞ LÝ THUYẾT

Trang 8

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

Trang 9

Phép nhân hai ma trận

A

A

Trang 10

* c

ij

Trang 11

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

Trang 12

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

Trang 14

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

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

Trang 15

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

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

Trang 17

- 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

ở hàng i cột j.

1 bất kỳ, Aij là phần bù đại số của A ứng với phần tử hàng i cột j

Trang 20

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

=[1,2

…, ]∈

Trang 22

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

Trang 23

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

Một hệ các véc tơ trong không gian véc tơ m chiều V = Rm

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

Trang 24

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

Hạng của ma trận

Hạng của ma trận A là số lượng lớn nhất các hàng khác không

của ma trận A, ký hiệu: rank(A).

TÍNH CHẤT:

1 Một ma trận có hạng bằng 0 khi và chỉ khi đó là ma trận 0

2 rankA(A)∈ =Rrank × (A 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 25

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 26

= 0, ≠

Trang 28

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 29

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

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 30

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ớicác giá trị riêng ݔ ݔ , , …ݔ, ) = , , …,

−1

được chọn sao cho ݔ ݔ

Các véc tơ riêng x, thường = ∗

Trang 31

Ma trận các giá trị riêng P là một ma trận đường chéo.

Trang 32

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

(positive semidefinite) nếu ∈ ×

Ma trận xác định âm và nửa xác định âm cũng được định nghĩa tương tự

Trang 33

Ta có: ݔ ݑ ݑ ݒ ݒƒƒ ݑ ݑ ݒ

Trang 34

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

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

Trang 35

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

Định nghĩa: Một hàm số được gọi là một norm (chuẩn) nếu nó

≥ 0 ∀,

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

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

Trang 37

=1

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ừ

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

Trang 39

Ví dụ 3

Tìm đường

ngắn nhất cho robot

Trang 40

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

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

nhiệm vụ chưađịnh rõ

Trang 42

Chương 3:

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

TRẬN SVD

Trang 43

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 44

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.

Chương 3:

Giới thiệu

Trang 45

(**) 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

Trang 46

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

Phân tích giá trị riêng:

Trang 47

=> 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ì

Trang 52

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

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 54

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

Trang 56

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.

Do đó chỉ tại vị 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ận , Σ , dướ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ỉ

Trang 58

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

Trang 59

• rlà ma trận con được tạo bởi r hàng đầu tiên và r cột đầu tiên của

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

Trang 60

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 61

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ݒߪ ߪݑ

Trang 62

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ừ

Trang 64

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

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

- Người ta chứng minh được rằng nghiệm của bài toán low-rank chính là

phép Truncate SVD đối với k trị riêng lớn nhất.

Trang 65

Đị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 66

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

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

và Vớilà ma trận nghịch đảo của

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

∑ = 0 0

Trang 68

Chương 4:

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

Trang 69

● Trong nén ảnh

mất mát

Trang 71

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

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

Trang 73

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.

Trang 74

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

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 77

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

Chương 4:

Xây dựng Utility matrix

Trang 78

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

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 80

Chương 4:

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

Trang 81

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.

Trang 82

Chương 4:

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

Trang 83

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 84

Chương 4:

User-user Collaborative Filtering

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

Trang 85

Đặ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 86

Chương 4:

User-user Collaborative Filtering

• Để đ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

Trang 88

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

=> 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 đổi

hơn khi có thêm một vài ratings => Cập nhật ma trận Similarity

Matrix có thể được thực hiện ít thường xuyên hơn

Trang 89

MATLAB

Trang 90

Chương 5:

Tổng quan về matlab

Trang 91

Các hàm được sử dụng

Cho i chạy từ 1 tới n cho

phát biểu ứng với các giá trị

của i.

size

đó điều kiện đúng (true)

Trang 93

• Cảm ơn thầy cô và các bạn đã theo dõi bài thuyết trình của nhóm 9.

• Chúc cô và các bạn luôn có thật nhiều sức khỏe.

Ngày đăng: 30/11/2022, 14:04

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. - (TIỂU LUẬN) 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 57)
Content-Based Recommendations - (TIỂU LUẬN) 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
ontent Based Recommendations (Trang 82)

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