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

Nghiên cứu phương pháp phân tích ma trận SVD và một số ứng dụng trong học máy

72 197 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 72
Dung lượng 1,59 MB

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

Nội dung

LỜI CAM ĐOANTôi xin cam đoan: Luận văn thạc sỹ chuyên ngành Khoa học máy tính,tên đề tài “Nghiên cứu phương pháp phân tích ma trận SVD và một số ứngdụng trong học máy” là công trình nghi

Trang 1

Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

Trang 2

Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN http://lrc.tnu.edu.vn

ĐẠI HỌC THÁI NGUYÊN

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN & TRUYỀN THÔNG

LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH

THÁI NGUYÊN - 2019

Trang 3

LỜI CAM ĐOAN

Tôi xin cam đoan: Luận văn thạc sỹ chuyên ngành Khoa học máy tính,tên đề tài “Nghiên cứu phương pháp phân tích ma trận SVD và một số ứngdụng trong học máy” là công trình nghiên cứu, tìm hiểu và trình bày do tôithực hiện dưới sự hướng dẫn khoa học của TS Đàm Thanh Phương, TrườngĐại học Công nghệ Thông tin và Truyền thông - Đại học Thái Nguyên.Kết quả tìm hiểu, nghiên cứu trong luận văn là hoàn toàn trung thực,không vi phạm bất cứ điều gì trong luật sở hữu trí tuệ và pháp luật ViệtNam Nếu sai, tôi hoàn toàn chịu trách nhiệm trước pháp luật

Tất cả các tài liệu, bài báo, khóa luận, công cụ phần mềm của các tác giảkhác được sử dụng lại trong luận văn này đều được chỉ dẫn tường minh vềtác giả và đều có trong danh mục tài liệu tham khảo

Thái Nguyên, ngày 18 tháng 7 năm 2019

Tác giả luận vănPinthip Anon

Trang 4

LỜI CẢM ƠN

Tác giả xin chân thành cảm ơn TS Đàm Thanh Phương, trường Đại họcCông nghệ thông tin và truyền thông - Đại học Thái Nguyên, là giáo viênhướng dẫn khoa học đã hướng dẫn tác giả hoàn thành luận văn này, xin đượccảm ơn các thầy, cô giáo trường Đại học công nghệ thông tin và truyền thôngnơi tác giả theo học và hoàn thành chương trình cao học đã nhiệt tình giảngdạy và giúp đỡ

Xin cảm ơn nơi tác giả công tác đã tạo mọi điều kiện thuận lợi để tác giảhoàn thành chương trình học tập

Và cuối cùng xin cảm ơn gia đình, bạn bè, đồng nghiệp đã động viên, giúp

đỡ tác giả trong suốt thời gian học tập, nghiên cứu và hoàn thành luận vănnày

Xin chân thành cảm ơn

Thái Nguyên, ngày 18 tháng 7 năm 2019

Tác giả luận vănPinthip Anon

Trang 5

DANH SÁCH HÌNH VẼ

2.1 Minh họa phân tích SVD 252.2 Biểu diễn SVD dạng thu gọn 283.1 Ví dụ về SVD cho nén ảnh 383.2 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 413.3 Giả sử feature vector cho mỗi item được cho trong cột cuối

cùng Với mỗi user, chúng ta cần tìm một mô hình θi tương

ứng sao cho mô hình thu được là tốt nhất 433.4 Ví dụ về utility matrix dựa trên số sao một user rate cho một

item Một cách trực quan, hành vi của u0 giống với u1 hơn là

u2, u3, u4, u5, u6 Từ đó có thể dự đoán rằng u0 sẽ quan tâm

đến i2 vì u1 cũng quan tâm đến item này 473.5 Ví dụ mô tả User-user Collaborative Filtering a) Utility Ma-

trix ban đầu b) Utility Matrix đã được chuẩn hoá c) User

similarity matrix d) Dự đoán các (normalized) ratings còn

thiếu e) Ví dụ về cách dự đoán normalized rating của u1 cho

i1 f) Dự đoán các (denormalized) ratings còn thiếu 493.6 Matrix Factorization Utility matrix Y được phân tích thành

tích của hai ma trận low-rank X và W 53

Trang 7

MỤC LỤC

Lời cam đoan i

Lời cảm ơn ii

Danh sách hình vẽ ii

Danh mục ký hiệu, từ viết tắt iv

Mở đầu 1

Chương 1 MỘT SỐ KIẾN THỨC CHUẨN BỊ 4

1.1 Một số kiến thức về đại số tuyến tính 4

1.2 Giới thiệu về học máy 18

Chương 2 PHƯƠNG PHÁP PHÂN TÍCH MA TRẬN SVD 23

2.1 Phân tích ma trận SVD 23

2.2 Một số biến thể của SVD 27

Chương 3 MỘT SỐ ỨNG DỤNG CỦA SVD TRONG HỌC MÁY 37 3.1 Phân tích SVD ứng dụng trong nén ảnh 37

3.2 Ứng dụng SVD trong hệ gợi ý 39

Kết luận chung 63

Tài liệu tham khảo 63

Trang 8

MỞ ĐẦU

Những năm gần đây, AI - Artificial Intelligence (Trí Tuệ Nhân Tạo), và cụthể hơn là Machine Learning (Học Máy hoặc Máy Học) nổi lên như một bằngchứng của cuộc cách mạng công nghiệp lần thứ tư (1 - động cơ hơi nước, 2 -năng lượng điện, 3 - công nghệ thông tin) Trí Tuệ Nhân Tạo đang len lỏi vàomọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra Xe tự hànhcủa Google và Tesla, hệ thống tự tag khuôn mặt trong ảnh của Facebook,trợ lý ảo Siri của Apple, hệ thống gợi ý sản phẩm của Amazon, hệ thống gợi

ý phim của Netflix, máy chơi cờ vây AlphaGo của Google DeepMind, ,chỉ là một vài trong vô vàn những ứng dụng của AI/Machine Learning [1].Machine Learning là một tập con của AI Theo định nghĩa của Wikipedia,Machine learning is the subfield of computer science that “gives computersthe ability to learn without being explicitly programmed” Nói đơn giản,Machine Learning là một lĩnh vực nhỏ của Khoa Học Máy Tính, nó có khảnăng tự học hỏi dựa trên dữ liệu đưa vào mà không cần phải được lập trình

cụ thể

Chính vì vậy, việc nghiên cứu phát triển các thuật toán Học máy cũng nhưxây dựng các ứng dụng đang là một đòi hỏi rất bức thiết của những ngườilàm Khoa học máy tính Nền tảng toán học của Machine Learning đòi hỏiphải có kiến thức cơ bản về Đại số tuyến tính, tối ưu, xác suất thống kê.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ệtkhác (Matrix Factorization hoặc Matrix Decomposition) mang lại nhiều íchlợi quan trọng Đặc biệt là trong các thuật toán Học máy như 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ươngtrình tuyến tính, clustering, và nhiều ứng dụng khác Recommendation Sys-tem cũng là một trong rất nhiều ứng dụng của Matrix Factorization SVD(singular value decomposition) là một dạng khai triển của ma trận có rất

Trang 9

nhiều ứng dụng trong những vấn đề liên quan đến nghịch đảo và số hóa các

dữ liệu Hiện nay phân tích SVD của ma trận xuất hiện rất nhiều trong cácứng dụng thực tế như về tín hiệu số, tính các giá trị xấp xỉ trong kĩ thuật,công nghệ thông tin, học máy và được ứng dụng trong các công cụ tìm kiếmtrên các websites Tuy nhiên, nghiên cứu lý thuyết liên quan đến SVD đốivới học viên cao học là vấn đề mới, chưa gần gũi và chưa dễ hiểu cho họcviên cần nghiên cứu về mảng đề tài thú vị này Do đó em đã lựa chọn đề tài

“Nghiên cứu phương pháp phân tích ma trận SVD và một số ứng dụng tronghọc máy” thực hiện làm luận văn cao học nhằm mục đích đưa đến cho ngườiđọc cũng như bản thân những kiến thức cơ bản nhất về khai triển SVD vàtạo một cái nhìn tổng quan về cách khai triển cũng như một số tính chất, hệquả quan trọng liên quan đến dạng khai triển này.[2], [8], [11]

Đề tài luận văn này sẽ nghiên cứu một trong những phương pháp trix Factorization rất đẹp của Đại số tuyến tính Phương pháp đó có tên làSingular Value Decomposition (SVD) Ta sẽ thấy, mọi ma trận, không nhấtthiết là vuông, đều có thể được phân tích thành tích của ba ma trận đặcbiệt Sau đó các ứng dụng cụ thể của SVD về nén ảnh và hệ thống gợi ý sẽđược nghiên cứu và áp dụng

Ma-Nội dung của luận văn gồm 3 chương:

Chương 1 Các kiến thức cơ sở

Chương này trình bày các kiến thức chuẩn bị cho việc nghiên cứu Đó là cáckiến thức giới thiệu về học máy; Các kiến thức cơ sở về Image Compresstion

và Recommendation System cũng như các kiến thức cơ sở về Đại số tuyếntính và giải tích ma trận

1.1 Giới thiệu về học máy

1.2 Các kiến thức cơ sở về Image Compresstion và Recommendation System.1.3 Các kiến thức cơ sở về Đại số tuyến tính

Chương 2 Phương pháp phân tích ma trận SVD

Nội dung chương 2 tập trung vào vấn đề phân tích ma trận SVD và các

Trang 10

kiến thức mở rộng về SVD Cụ thể như sau:

3.2 Recommendation System

3.3 Một số ứng dụng khác

Phần kết luận: Tóm tắt các kết quả đã đạt được và thảo luận hướng pháttriển tiếp theo của đề tài

Trang 11

CHƯƠNG 1MỘT SỐ KIẾN THỨC CHUẨN BỊ

Chương này trình bày các kiến thức cơ sở về Đại số tuyến tính; Giới thiệu

về học máy Đây là những kiến thức giúp cho việc hiểu và ứng dụng của cácchương sau Các kiến thức trong chương này được tham khảo từ các tài liệu[1], [2], [8], [10], [11]

1.1.1 Chuyển vị và Hermitian

Cho A ∈ Rm×n, ta nói B ∈ Rn×m là chuyển vị (transpose) của A nếu

bij = aji, ∀1 ≤ i ≤ n, 1 ≤ j ≤ m Toán tử chuyển vị thường được ký hiệubởi chữ T Ví dụ

trans-Cho A ∈ Cm×n, ta nói B ∈ Cn×m là chuyển vị liên hợp của A nếu

bij = aji ∀1 ≤ i ≤ n, 1 ≤ j ≤ m, trong đó a là liên hợp phức của a Ví dụ:

Trang 12

Cho hai ma trận A ∈ Rm×n, B ∈ Rn×p, tích của hai ma trận được ký hiệu

là C = AB ∈ Rm×p, trong đó phần tử ở hàng i cột j của ma trận C đượctính bởi

cij =

nX

1 Phép nhân ma trận không có tính chất giao hoán Thông thường AB 6=

BA, thậm chí không tồn tại vì không thỏa mãn điều kiện nhân

2 Phép nhân ma trận có tính chất kết hợp ABC = (AB)C = A(BC)

3 Phép nhân ma trận có tính chất phân phối đối với phép cộng.A(B+C) =

Trang 13

xTy = yTx =

nX

i=1

Chú ý, xHy = yHxH = yHx Chúng bằng nhau khi và chỉ khi chúng làcác số thực Nếu tích vô hướng của hai véc tơ khác không mà bằng khôngthì chúng vuông góc với nhau

xHx ≥ 0, ∀x ∈ Cn vì tích của một số phức với liên hợp của nó luôn là một

Trang 14

1.1.3.2 Ma trận nghịch đảo

Cho một ma trận vuông A ∈ Rn×n, nếu tồn tại ma trận vuông B ∈Rn×n

sao cho AB = In, thì ta nói A là khả nghịch (invertible, nonsingular hoặcnondegenerate) và B được gọi là ma trận nghịch đảo (inverse matrix) của

mathbf A Nếu không tồn tại ma trận B thỏa mãn điều kiện trên, ta nóirằng ma trận A không khả nghịch (singular hoặc degenerate)

Nếu A là khả nghịch, ta ký hiệu ma trận nghịch đảo của nó là A−1 Ta có

Với các ma trận đường chéo vuông, thay vì viết cả ma trận, ta có thể chỉ liệt

kê các thành phần trên đường chéo Ví dụ, một ma trận đường chéo vuông

Trang 15

A ∈ Rm×m được ký hiệu là diag (a11, a22, , amm) với aii là phần tử hàngthứ i, cột thứ i của ma trận A.

Tích, tổng của hai ma trận đường chéo vuông cùng bậc là một ma trậnđường chéo Một ma trận đường chéo vuông là khả nghịch nếu và chỉ nếumọi phần tử trên đường chéo chính là khác không Nghịch đảo của một

ma trận đường chéo khả nghịch cũng là một ma trận đường chéo Cụ thể,

Các hệ phương trình tuyến tính mà ma trận hệ số có dạng tam giácthường được quan tâm vì chúng có thể được giải với chi phí tính toán thấp(low computational cost) Đó là các phương pháp thế xuôi hoặc thế ngược

j=1

(−1)i+jaij det (Aij) (1.1.6)

Trong đó 1 ≤ i ≤ n bất kỳ và Aij là phần bù đại số của A ứng với phần tử

Trang 16

A bằng cách xóa hàng thứ i và cột thứ j của nó Đây là cách tính định thứcdựa trên cách khai triển hàng thứ i của ma trận.

6 Ma trận khả nghịch khi và chỉ khi định thức của nó khác 0

7 Nếu một ma trận khả nghịch, định thức của ma trận nghịch đảo của nóbằng nghịch đảo định thức của nó

Không gian sinh (span space) của một hệ các véc tơ là tập hợp tất cả cácvéc tơ có thể biểu diễn được dưới dạng tổ hợp tuyến tính của hệ đó Ký hiệu

là span (a1, , an)

Nếu phương trình

0 = x1a1 + x2a2 + · · · + xnan (1.1.9)

Trang 17

có nghiệm duy nhất x1 = x2 = · · · = xn = 0, ta nói rằng hệ {a1, a2, , an}

là một hệ độc lập tuyến tính (linear independence) Ngược lại, nếu tồn tại

xi 6= 0 sao cho phương trình trên thỏa mãn, ta nói rằng đó là một hệ phụthuộc tuyến tính (linear dependence)

1.1.6.2 Tính chất

1 Một hệ là phụ thuộc tuyến tính nếu và chỉ nếu tồn tại một véc tơ trong

hệ là tổ hợp tuyến tính của các véc tơ còn lại

2 Tập con khác rỗng của một hệ độc lập tuyến tính là một hệ độc lậptuyến tính

3 Tập hợp các cột của một ma trận khả nghịch tạo thành một hệ độc lậptuyến tính

4 Nếu A là một ma trận cao (số hàng lớn hơn số cột, m > n) thì tồn tạivéc tơ b sao cho Ax = b vô nghiệm

5 Nếu n > m thì hệ n véc tơ bất kỳ trong không gian m chiều luôn phụthuộc tuyến tính

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

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

được gọi là một cơ sở nếu hai điều kiện sau được thỏa mãn:

1 V ≡ span (a1, , an)

2 {a1, , an} là một hệ độc lập tuyến tính

Khi đó mọi véc tơ b ∈ V đều biểu diễn duy nhất qua cơ sở Chú ý rằng, ta

có m = n, nghĩa là số véc tơ trong cơ sở bằng số chiều của không gian.1.1.6.4 Range và Null space

Với mỗi ma trận A ∈Rm×n có hai không gian con quan trọng ứng với matrận này

Trang 18

1 Range của A, được định nghĩa là

Nói cách khác, R(A) là tập hợp các điểm là tổ hợp tuyến tính của cáccột của A, hay chính là không gian sinh của các cột của A R(A) làmột không gian con của Rm với số chiều chính bằng số lượng lớn nhấtcác cột của A độc lập tuyến tính

2 Null của A, ký hiệu là N (A), được định nghĩa là

Mỗi véc tơ trong N (A) chính là một bộ các hệ số làm cho tổ hợp tuyếntính các cột của A tạo thành véc tơ không

R(A) và N (A) là các không gian véc tơ con có số chiều thỏa mãn định lý:

3 Nếu A ∈Rm×n, thì rank(A) ≤ min(m, n)

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

5 rank(A + B) ≤ rank(A) + rank(B) Điều này chỉ ra rằng một ma trận

có hạng bằng k không được biểu diễn dưới dạng ít hơn k ma trận cóhạng bằng 1 Trong SVD, chúng ta sẽ thấy rằng một ma trận có hạngbằng k có thể biểu diễn được dưới dạng đúng k ma trận có hạng bằng 1

Trang 19

6 Bất đẳng thức Sylvester về hạng: Nếu A ∈Rm×n, B ∈ Rn×k, thì

rank(A) + rank(B) − n ≤ rank(AB)

Các điều kiện dưới đây là tương đương, với A ∈Rn×n

Nếu một ma trận vuông phức Uthỏa mãn UUH = UHU = I, ta nói rằng

U là một ma trận Unitary

Trang 20

3 Định thức của ma trận trực giao bằng 1 hoặc −1.

4 Ma trận trực giao thể hiện cho phép xoay một véc tơ Giả sử có hai véc

tơ x, y ∈ Rm và một ma trận trực giao U ∈ Rm×m Dùng ma trận này

để xoay hai véc tơ trên ta được Ux, Uy Tích vô hướng của hai véc tơmới này là

Như vậy, phép xoay không làm thay đổi tích vô hướng của hai véc tơ

5 Giả sử U ∈ˆ Rm×r, r < m là một ma trận con của ma trận trực giao U

được tạo bởi r cột của U, ta sẽ có UˆTU = Iˆ r

1.1.9 Biểu diễn véc tơ trong các hệ cơ sở khác nhau

Trong không gian m chiều, tọa độ của mỗi điểm được xác định dựa trênmột hệ tọa độ nào đó Ở các hệ tọa độ khác nhau, tọa độ của điểm là khácnhau

Tập hợp các véc tơ e1, , em mà mỗi véc tơ ei có đúng một phần tử khác

0ở thành phần thứi và phần tử đó bằng 1, được gọi là hệ cơ sở đơn vị (hoặc

hệ chính tắc) trong không gianmchiều Nếu xếp các véc tơei, i = 1, 2, , m

theo đúng thứ tự đó, ta sẽ được ma trận đơn vị m chiều

Mỗi véc tơ cột x = [x1, x2, , xm] ∈ Rm có thể coi là một tổ hợp tuyếntính của các véc tơ trong hệ cơ sở chính tắc

x = x1e1 + x2e2 + · · · + xmem (1.1.17)

Giả sử có một hệ cơ sở khác u1, u2, , um (các véc tơ này độc lập tuyếntính), biểu diễn của véc tơ x trong hệ cơ sở mới này có dạng

Trang 21

x = y1u1 + y2u2 + · · · + ymum = Uy (1.1.18)

với U = [u1 um] Lúc này, véc tơ y = [y1, y2, , ym]T chính là biểu diễncủa x trong hệ cơ sở mới Biểu diễn này là duy nhất vì y = U−1x

Trong các ma trận đóng vai trò như các hệ cơ sở, các ma trận trực giao

UTU = Iđược quan tâm nhiều hơn vì nghịch đảo của chúng chính là chuyển

vị của chúng U−1 = UT Khi đó y = UTx, hay yi = xTui = uTi x, i =

1, , m Trong không gian hai hay ba chiều, hệ trực giao tạo thành một hệtrục tọa độ Descarter vuông góc

Việc chuyển đổi hệ cơ sở sử dụng ma trận trực giao có thể được coi nhưmột phép xoay hệ trục tọa độ Nhìn theo một cách khác, đây cũng chính làmột phép xoay véc tơ dữ liệu theo chiều ngược lại, nếu ta coi các trục tọa độ

Cho một ma trận vuông A ∈ Rn×n, một véc tơ x ∈ Rn(x 6= 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ộtcặp giá trị riêng, véc tơ riêng (eigenvalue, eigenvector) của ma trận A

Từ định nghĩa ta cũng có, (A − λI)x = 0, tức là x nằm trong không gianNull của A − λI Vì x 6= 0, nên A − λI là ma trận không khả nghịch Vậy

det(A − λI) = 0, hay λ là nghiệm của phương trình det(A − tI) = 0 Địnhthức này là một đa thức bậcn của t, gọi là đa thức đặc trưng (characteristicpolynomial) 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 22

1.1.10.2 Tính chất

1 Nếu x là một véc tơ riêng của A ứng với giá trị riêng λ thì với mọi

k ∈ R, k 6= 0, kx cũng là một véc tơ riêng của A ứng với giá trị riêng đó.Nếux1, x2 là hai véc tơ riêng ứng với cùng một giá trị riêngλthì tổng củachúng cũng là một véc tơ riêng ứng với giá trị riêng đó Từ đó suy ra tậpcác véc tơ riêng ứng với một giá trị riêng của ma trận vuông tạo thànhmột không gian véc tơ con, được gọi là không gian riêng (eigenspace )ứng với giá trị riêng đó

2 Mọi ma trận vuông bậc n đều có n giá trị riêng (kể cả lặp, phức)

3 Tích của tất cả các giá trị riêng của ma trận bằng định thức, tổng củatất cả các giá trị riêng của ma trận bằng tổng các phần tử trên đườngchéo của ma trận

4 Phổ của ma trận bằng phổ của ma trận chuyển vị của nó

5 Nếu A, B là các ma trận vuông, cùng bậc thì pAB(t) = pBA(t) Điềunày có nghĩa là, mặc dù tích của hai ma trận không có tính chất giaohoán, đa thức đặc trưng của AB và BA là như nhau, hay phổ của haitích này là trùng nhau

6 Ma trận đối xứng (tổng quát là Hermitian), tất cả các giá trị riêng của

Trang 23

là một ma trận khả nghịch Khi đó ta có thể viết A dưới dạng tích của ba

ma trận

Các véc tơ riêng xi thường được chọn sao cho xTi xi = 1 Cách biểu diễn một

ma trận như (1.1.19) được gọi là eigendecomposition vì nó tách ra thành tíchcủa các ma trận đặc biệt dựa trên véc tơ riêng và trị riêng Ma trận các giátrị riêng Λ là một ma trận đường chéo Vì vậy cách khai triển này cũng cótên gọi là chéo hóa ma trận

Tính chất:

1 Khái niệm chéo hóa ma trận chỉ áp dụng với ma trận vuông Vì không

có định nghĩa giá trị riêng, véc tơ riêng cho ma trận không vuông

2 Không phải ma trận vuông nào cũng có thể chéo hóa được Ma trậnvuông bậc n chéo hóa được khi và chỉ khi nó có đủ n giá trị riêng độclập tuyến tính

3 Nếu một ma trận là chéo hóa được, có nhiều hơn một cách chéo hóa matrận đó Đổi vị trí của λi và vị trí tương ứng các cột của X ta có mộtcách chéo hóa mới

4 Nếu A có thể viết được dưới dạng (1.1.19), khi đó các lũy thừa của nócũng chéo hóa được

A2 = XΛX−1 XΛX−1 = XΛ2X−1; Ak = XΛkX−1, ∀k ∈ N

(1.1.20)Chú ý, nếu λ và x là một cặp trị riêng, véc tơ riêng của A thì λk và x làcặp trị riêng, véc tơ riêng của Ak

5 Nếu A là ma trận khả nghịch thì A−1 = XΛX−1−1 = XX−1X−1

Trang 24

Mở rộng, một ma trận phức, Hecmitian A ∈ Cn×n được gọi là xác địnhdương nếu

 = u2 + v2 − 2uv = (u − v)2 ≥ 0, ∀u, v ∈ R

(1.1.24)1.1.12.2 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 25

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

Định nghĩa 1.1.1 Một hàm số f :Rn → R được gọi là một norm (chuẩn)

nếu nó thỏa mãn ba điều kiện sau đây:

1 f (x) ≥ 0 với mọi x Dấu bằng xảy ra khi x = 0

2 f (αx) = αf (x), với mọi α ∈ R

3 f (x1) + f (x2) ≥ f (x1) + f (x2) với mọi x1, x2 ∈ R

Một số chuẩn thông thường:

Chuẩn Euclide hay `2 norm:

mX

i=1

nX

1.2.1 Khái niệm học máy

Khái niệm học có nghĩa rộng giống như sự thông minh, bao gồm cả quátrình và khó có một định nghĩa chính xác Theo nghĩa tự điển, học là quátrình thu nhận kiến thức, kỹ năng do người khác truyền lại hoặc đọc đi, đọclại, nghiềm ngẫm ghi nhớ ( học thuộc lòng) Rộng hơn, học bao gồm cả quátrình đúc rút tri thức từ các quan sát, trải nghiệm thực tiễn

Học máy ( machine learning) mang hai nghĩa thông dụng:

1 sử dụng máy tính để khám phá tri thức từ dữ liệu,

2 sự học trong máy (tác tử: agent) Về phương diện công nghệ, học máy

Trang 26

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

“học” từ các dữ liệu mẫu hoặc kinh nghiệm

Đến nay, đã có nhiều định nghĩa khái niệm này, tuy nhiên khó có một địnhnghĩa thỏa đáng được mọi người thừa nhận Định nghĩa sau phát triển từđịnh nghĩa của T Mitchell cho ta cách nhìn toán học của một chương trìnhhọc khi nghiên cứu, thiết kế

Định nghĩa 1.2.1 Một chương trình máy tính được gọi là học từ dữ liệu,kinh nghiệm E đối với lớp nhiệm vụ T và độ đo mức thực hiện P nếu việcthực hiện các nhiệm vụ T của nó khi đo bằng P được cải tiến nhờ dữ liệuhoặc kinh nghiệm E

Theo định nghĩa này, người ta cần tối ưu hóa độ đo thực hiện P dựa trênphân tích dữ liệu, kinh nghiệmE để tìm cách thực hiện nhiệm vụ T tốt nhất

Ví dụ 1: Phân tích dữ liệu bán lẻ của siêu thị

Hằng ngày các siêu thị bán ra một lượng lớn những mặt hàng phong phú

và lưu lại các hóa đơn thanh toán(bản sao giỏ hàng) Từ các dữ liệu bán lẻ

có được, ta có thể phân tích các giỏ hàng để tiên đoán được một khách hàngmua mặt hàng A thì sẽ mua mặt hàng B với xác suất bao nhiêu? Nếu xácsuất này là lớn thì ta nên xếp các mặt hàng này gần nhau, như thế tiện chokhách hàng và lượng hàng bán được cũng tăng lên so với việc để khách hàngphải tìm kiếm khắp nơi Rộng hơn, nếu có mô hình phân tích tốt, ta cũng

có thể dự đoán được lượng hàng cần đáp ứng trong thời gian tới, xu thế sởthích của khách hàng, trên cơ sở đó có được quyết sách thích ứng Trong ví

dụ này T là dự báo, E là dữ liệu bán lẻ lưu trữ và P là độ chính xác của kếtquả dự báo

Ví dụ 2: Đối sánh vân tay

Bài toán đối sánh vân tay bắt nguồn từ hai bài toán truy nguyên và xácthực vân tay Trong bài toán truy nguyên, người ta phải đối sánh một ảnhvân tay thu được khi điều tra với các ảnh vân tay trong kho lưu trữ để xácđịnh xem có vân tay nào trong kho lưu trữ là do cùng một ngón tay lăn ra

Trang 27

với ảnh điều tra không Trong bài toán xác thực, người ta cần xác minh ảnhvân tay đăng nhập ( ta cũng sẽ gọi là điều tra) có đúng là cùng ngón sinh ravới ảnh đã đăng kí hay không? Cả hai bài toán này được đưa về bài toán đốisánh cặp ảnh vân tay điều tra với ảnh lưu trữ để trả lời xem chúng cùng haykhác ngón sinh ra Để xây dựng chương trình đối sánh vân tay, người ta cầnmột tập dữ liệu bao gồm các cặp ảnh do cùng ngón và khác ngón sinh ra.Dựa trên tập dữ liệu này, một thuật toán được áp dụng để xây dựng chươngtrình.

Ví dụ 3: Tìm đường đi ngắn nhất cho robot

Một mạng lưới gồm n trạm hoạt động tự động, khoảng cách giữa chúngkhác nhau, một robot cần đi kiểm tra các trạm này một lần Giả sử Robotghi nhớ được các trạm đã qua và độ dài đường đi giữa chúng, biết được cáctramh cần kiểm tra tiếp Khi đó qua từng trạm nó sẽ tìm đường đi tới trạmtiếp theo Nếu có chiến lược học tốt, càng ngày robot sẽ tìm được đường đingắn hơn, thậm chí là tối ưu Trong trường hợp nàyP và E tương ứng là độdài và các đường đi kiểm tra đã tìm được, T là đường đi kiểm tra

1.2.2 Tại sao cần nghiên cứu học máy?

Sự thâm nhập mạnh mẽ của công nghệ thông tin tinh tế, xã hội công nghệtri thức phát triển và tạo nên nhu cầu ứng dụng rộng rãi Sau đây là một sốphạm vi nghiên cứu, ứng dụng điển hình:

• Xây dựng các hệ nhận dạng mẫu dùng cho các thiết bị nghe nhìn chorobot và trong lĩnh vực tự động hóa, nhận dạng chữ viết tay, chuyển đổicác bài nói thành văn bản, phân tích ảnh tự động

• Tạo ra các chương trình máy tính có thể hoạt động thích nghi với môitrường thay đổi hay thực hiện các nhiệm vụ mà ban đầu chưa xác định

rõ, chẳng hạn, hệ lái tự động ( máy bay, ô tô, tàu thủy, ) , trò chơi haycác điều khiển robot đa năng

• Khám phá tri thức từ dữ liệu đặc biệt là các cơ sở dữ liệu lớn, để trợ

Trang 28

giúp ra quyết định Chẳng hạn, phân tích thị trường, chẩn đoán bệnhcủa bệnh nhân và xác định phương án điều trị nhờ phân tích các bệnh

án lưu trữ

1.2.3 Một số lĩnh vực liên quan

Trong mấy chục năm qua, các nghiên cứu khoa học và ứng dụng của họcmáy phát triển nhanh, kết hợp các tiến bộ của nhiều lĩnh vực khác Sau đây

là các lĩnh vực góp phần quan trọng cho nghiên cứu học máy:

• Lý thuyết xác suất và thống kê: Là tiền thân của lĩnh vực học máy, trong

đó, cho phép suy luận (inference) từ quan sát cụ thể để có kết luận kháiquát nhờ thành tựu của giải tích ngẫu nhiên

• Mô hình thần kinh sinh học Việc nghiên cứu cơ chế hoạt động, xử lýphi tuyến và cấu tạo hệ thần kinh sinh học nói chung cho phép tạo nêncác mô hình và thuật toán phỏng sinh học, đặc biệt là các mạng nơron

• Lý thuyết độ phức tạp tính toán Cho phép ước lượng độ phức tạp củacác nhiệm vụ học đo qua các ví dụ đào tạo, só lỗi và các thủ tục tínhtoán

• Lý thuyết điều khiển thích nghi Các thủ tục học để điều khiển quá trìnhnhằm tối ưu hóa mục đích định trước hay học cách đoán các trạng tháitiếp theo của quá trìh điều khiển

• Tâm lý học: Cho phép mô phỏng các đáp ứng thực tế của con người, xâydựng các mô hình xử lý hiệu quả, chẳng hạn, học tăng cường

• Các mô hình tiến hóa Việc nghiên cứu các mô hình tiến hóa cho phépchúng ta đưa ra các thuật toán học mô phỏng tự nhiên như: Thuật toán

di truyền (GA), tối ưu đàn kiến (ACO), tối ưu bầy đàn( PSO), hệ miễndịch nhân tạo ( AIS)

Trang 29

1.2.4 Các bài toán học thiết lập đúng đắn

Bài toán học được cho là thiết lập đúng khi thực sự có thể cải tiến được

P qua kinh nghiệm E Thông thường mô hình toán học để xây dựng thuậttoán cho một bài toán học đòi hỏi phải đúng đắn theo Hadamard Trong cácbài toán thực tế,Hadamard cho rằng một mô hình toán học ứng dụng đượcxem là thiết lập đúng đắn (well-posed problem) nếu nó có các tính chất:

1 Luôn tồn tại lời giải

2 Chỉ có duy nhất một lời giải

3 Khi các điều kiện ban đầu thay đổi ít thì lời giải cũng thay đổi ít

Tuy nhiên, trong nhiều bài toán, điều kiện duy nhất một lời giải nhiều khikhó đáp ứng trong trường hợp đó người ta hay dùng phương pháp chính quyhóa (hiệu chỉnh hàm mục tiêu) để bài toán trở nên thiết lập đúng đắn.Bài toán học phải được xác định đúng đắn dựa trên việc xác định rõ nhiệm

vụ cụ thể, độ đo việc thực hiện và nguồn dữ liệu, kinh nghiệm

Phương pháp thông dụng nhất để đưa ra thuật toán cho các bài toán học

là xây dựng một mô hình toán học phụ thuộc các tham số và dùng dữ liệuhoặc kinh nghiệm đã có thể xác định giá trị thích hợp cho các tham số này

Trang 30

CHƯƠNG 2PHƯƠNG PHÁP PHÂN TÍCH MA TRẬN SVD

Nội dung chương 2 tập trung vào nghiên cứu phương pháp phân tích matrận SVD và một số biến thể của nó Các kiến thức của chương này đượctham khảo từ các tài liệu [8], [1], [2]

2.1.1 Giới thiệu

Chúng ta đã biết bài toán chéo hóa ma trận đối với một ma trận vuông:Một ma trận vuông A được gọi là chéo hóa được nếu tồn tại ma trận đườngchéo D và ma trận khả nghịch P sao cho:

là một véc tơ riêng của A và mỗi véc tơ cột pi phải là một véc tơ riêng của

A ứng với trị riêng dii

Cách phân tích một ma trận vuông thành nhân tử như 2.1.1 còn đượcgọi là phân tích giá trị riêng (Eigen Decomposition) Cách phân tích này chỉđược áp dụng với ma trận vuông và không phải lúc nào cũng tồn tại Nó chỉ

Trang 31

tồn tại nếu ma trận A có n véc tơ riêng độc lập tuyến tính, vì nếu không thìkhông tồn tại ma trận khả nghịch P Cách phân tích này cũng không duynhất vì nếu P, D thỏa mãn (2.1.1) thì kP, D cũng thỏa mãn với k 6= 0 làmột số thực bất kỳ.

Việc phân tích một ma trận thành tích của nhiều ma trận đặc biệt khác

có nhiều ứng dụng trong giảm chiều dữ liệu, nén dữ liệu, gom cụm, v.v.vPhần dưới đây sẽ trình bày phương pháp phân tích ma trận SV D, trong

đó mọi ma trận không nhất thiết là vuông đều có thể được phân tích thànhtích của ba ma trận đặc biệt

Số lượng các phần tử khác không trong P

Trang 32

Hình 2.1: Minh họa phân tích SVD

đường chéo làσ12, σ22, Vậy (2.1.7) chính là Eigen Decomposition của AAT.Thêm nữa σ21, σ22, chính là các trị riêng của AAT

Ma trậnAAT luôn là ma trận nửa xác định dương nên các trị riêng của nó

là không âm Các σi là căn bậc hai của các trị riêng của AAT còn được gọi

là singular values của A Cái tên Singular Value Decomposition xuất phát

từ đây

Cũng theo đó, mỗi cột của U chính là một vector riêng của A Ta gọi mỗicột này là left-singular vectors của A Tương tự như thế, ATA = VΣTΣVT

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

Trong Python, để tính SVD của một ma trận, chúng ta sử dụng modulelinalg của numpy như sau:

from future import print_function

import numpy as np

from numpy import linalg as LA

m, n = 3, 4

A = np.random.rand(m, n)

U, S, V = LA.svd(A) # A = U*S*V (no V transpose here)

# checking if U, V are orthogonal and S is a diagonal matrix with

# nonnegative decreasing elements

print (Frobenius norm of (UU^T - I) =, LA.norm(U.dot(U.T) - np.eye(m)))

print (S = , S)

print (Frobenius norm of (VV^T - I) =, LA.norm(V.dot(V.T) - np.eye(n)))

Trang 33

Kết quả là:

Frobenius norm of (UU^T - I) = 4.09460889695e-16

S = [ 1.76321041 0.59018069 0.3878011 ]

Frobenius norm of (VV^T - I) = 5.00370755311e-16

Lưu ý rằng biến S được trả về chỉ bao gồm các phần tử trên đường chéocủaΣ Biến V trả về là VT trong (2.1.4)

Ví dụ: Tìm khai triển SVD của ma trận A =

Với mỗi giá trị riêng λi, giải phương trình (A − λiI) x = 0 ta được các vec

tơ riêng tương ứng là:

Trang 34

u2 = 11

A là nửa xác định dương, ta phải có λ ≥ 0 Ta có

với chú ý rằng mỗi u1vTi , 1 ≤ i ≤ r là một ma trận có rank bằng 1

Rõ ràng trong cách biểu diễn này, ma trận A chỉ phụ thuộc vào r cột đầutiên của U, V và r giá trị khác 0 trên đường chéo của ma trận Σ Vì vậy ta

có một cách phân tích gọn hơn và gọi là compact SVD:

Trang 35

Hình 2.2: Biểu diễn SVD dạng thu gọn.

Với Ur, Vr lần lượt là ma trận được tạo bởi r cột đầu tiên của U và V Σr

là 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

ma trận A có rank nhỏ hơn rất nhiều so với số hàng và số cột r  m, n, ta

sẽ được lợi nhiều về việc lưu trữ

Hình dưới đây là ví dụ minh hoạ với m = 4, n = 6, r = 2

Truncated SVD Chú ý rằng trong ma trận Σ, các giá trị trên đườngchéo là không âm và giảm dần σ1 ≥ σ2 ≥ , ≥ σr ≥ 0 = 0 = · · · = 0

Thông thường, chỉ một lượng nhỏ các δi mang giá trị lớn, các giá trị cònlại thường nhỏ và gần 0 Khi đó ta có thể xấp xỉ ma trận A bằng tổng của

k < n ma trận có rank 1:

A ≈ Ak = UkΣk(Vk)T = σ1u1v1T + σ2u2v22 + · · · + σkukvkT (7) (2.2.4)

Ta có định lý sau, nói về nói rằng sai số do cách xấp xỉ trên chính là căn bậchai của tổng bình phương của các singular values mà ta đã bỏ qua ở phầncuối của Σ Ở đây sai số được định nghĩa là Frobineous norm của hiệu hai

Trang 36

rX

=

rX

i=k+1

σ2i (2.2.12)

Dấu bằng ở (2.2.9) là vì V là ma trận trực giao Dấu bằng ở (2.2.10) là vìhàm trace có tính chất giao hoán Dấu bằng ở (2.2.12) là vì biểu thức trongdấu ngoặc của (2.2.11)

Thay k = 0 ta sẽ có

||A||2F =

rX

=

rX

i=k+1

σi2

rX

Ngày đăng: 25/10/2019, 01:42

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