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 1HỌ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 2BÀ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 4BÀ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 5MỞ ĐẦU
Trang 7CƠ SỞ LÝ THUYẾT
Trang 8Chương 2: Cơ sở lý thuyết
Trang 9Phép nhân hai ma trận
A
A
Trang 10* c
ij
Trang 11g 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 12Chương 2: Cơ sở lý thuyết
Trang 14Chươ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 15Ma 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 16Chươ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 20Chương 2: Cơ sở lý thuyết
=[1,2
…, ]∈
Trang 22Chương 2: Cơ sở lý thuyết
Trang 23Cơ 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 24Chươ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 25Hệ 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 28Chươ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 29Trị 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 30Chươ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 31Ma trận các giá trị riêng P là một ma trận đường chéo.
Trang 32Chươ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 33Ta có: ݔ ݑ ݑ ݒ ݒƒƒ ݑ ݑ ݒ
Trang 34Chươ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 35Chuẩ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 38Chươ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 39Ví dụ 3
Tìm đường
ngắn nhất cho robot
Trang 40Chươ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 42Chương 3:
PHƯƠNG PHÁP PHÂN TÍCH MA
TRẬN SVD
Trang 43Mộ 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 44riê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 46ra 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 53Thay 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 56Chươ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 58Chươ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 60Chươ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 613 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 62Chươ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 64Chươ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 66Chươ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ới ∑ là 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 68Chương 4:
ỨNG DỤNG CỦA SVD TRONG HỌC MÁY
Trang 69● Trong nén ảnh
mất mát
Trang 71Hệ 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 75VD: 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 79Content-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 80Chươ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 81Content-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 82Chươ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 83Neighborhood-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 84Chươ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 86Chươ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 89MATLAB
Trang 90Chương 5:
Tổng quan về matlab
Trang 91Cá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.