Tải bản đầy đủ (.pdf) (72 trang)

(Luận văn thạc sĩ) 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

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.59 MB, 72 trang )

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

PINTHIP Anon

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

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

THÁI NGUYÊN - 2019

Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN




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

PINTHIP Anon

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

Chuyên ngành: Khoa học máy tính
Mã số: 8480101

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

Người hướng dẫn khoa học: TS. Đàm Thanh Phương



THÁI NGUYÊN - 2019

Số hóa bởi Trung tâm Học liệu và Công nghệ thông tin – ĐHTN




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ố ứng
dụ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ôi
thự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ệt
Nam. 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ăn
Pinthip Anon

i


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ọc

Công nghệ thông tin và truyền thông - Đại học Thái Nguyên, là giáo viên
hướng dẫn khoa học đã hướng dẫn tác giả hoàn thành luận văn này, xin được
cảm ơn các thầy, cô giáo trường Đại học công nghệ thông tin và truyền thông
nơi tác giả theo học và hoàn thành chương trình cao học đã nhiệt tình giảng
dạ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ăn
nà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ăn
Pinthip Anon

ii


DANH SÁCH HÌNH VẼ
2.1

Minh họa phân tích SVD . . . . . . . . . . . . . . . . . . . . . . 25

2.2

Biểu diễn SVD dạng thu gọn. . . . . . . . . . . . . . . . . . . . . 28

3.1

Ví dụ về SVD cho nén ảnh . . . . . . . . . . . . . . . . . . . . . 38


3.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. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

3.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. . . . . . . . . . . . . . 43

3.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. . . . . . . . . . . . . . 47
3.5

Ví dụ mô tả User-user Collaborative Filtering. a) Utility Matrix 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. . . . . . . . 49
3.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

iii


DANH MỤC KÝ HIỆU,
TỪ VIẾT TẮT
R

Tập hợp số thực.

Z

Tập hợp số nguyên.

C

Tập hợp số phức.

Rn

Không gian Euclide n chiều.

||.||

Chuẩn Euclide.

SV D


Singular Value Decomposition.

rank(A)

Hạng của ma trận A.

det(A)

Định thức của ma trận A.

AT

Chuyển vị của ma trận A.

AH

Hermitian của ma trận A.

A

F

Frobenius norm của ma trận A

diag(A)

Đường chéo chính của ma trận A

trace(A)


trace của ma trận A

sng(x)

Hàm xác định dấu.

∂f
∂x

∇x f

Đạo hàm của hàm số f theo biến số

x∈R
Gradient (đạo hàm ) của hàm số f
theo véc tơ x.

iv


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

v


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ằng

chứ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ào
mọi lĩnh vực trong đời sống mà có thể chúng ta không nhận ra. Xe tự hành
củ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 computers
the 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ười
làm Khoa học máy tính. Nền tảng toán học của Machine Learning đòi hỏi
phả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ệt
khác (Matrix Factorization hoặc Matrix Decomposition) mang lại nhiều ích
lợ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ương
trình tuyến tính, clustering, và nhiều ứng dụng khác. Recommendation System 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
1


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ếm
trên các websites. Tuy nhiên, nghiên cứu lý thuyết liên quan đến SVD đối

vớ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ọc
viê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 trong
họ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 Matrix 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ấ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. 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.
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ác
kiế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ến
tí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
2


kiến thức mở rộng về SVD. Cụ thể như sau:
2.1 Phát biểu SVD.
2.2 Các kiến thức mở rộng về SVD


Chương 3. Ứng dụng của SVD
Sau khi nắm rõ các nội dung trong chương 2, chương 3 trình bày kết quả ứng
dụng SVD trong một số bài toán học máy. Cụ thể có các nội dung sau:
3.1 Image Compresstion
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át
triển tiếp theo của đề tài.

3


CHƯƠNG 1
MỘ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ác
chươ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. Một số kiến thức về đại số tuyến tính
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ệu
bởi chữ T . Ví dụ






x=





a
 11

 a21
A=

 ...

am1

a12 . . . a1n

x1
x2
..
.
xm







 ⇒ xT = [x1 x2 . . . xm ]





a

 11


a
a22 . . . a2n 
 ⇒ AT =  12


 ...
· · · ... . . . 


am2 . . . amn
a1n

a21 . . . am1






a22 . . . am2 


...
... 
...

a2n . . . amn

Nếu A ∈ Rm×n thì AT ∈ Rn×m . Nếu AT = A thì ta nói A là một ma
trận đối xứng (symmetric matrix).
Nếu A là ma trận phức, phép toán Chuyển vị liên hợp (conjugate transpose) thực hiện đổi vị trí và lấy liên hợp phức của các phần tử. Chuyển vị
liên hợp của ma trận A được ký hiệu là AH và đọc là A Hermitian.
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ụ:

4




A=


x=

1 + 2i 3 − 4i
i
2 + 3i


2





 ⇒ AH = 

1 − 2i −i
3 + 4i

2





 ⇒ xH =

2 − 3i −2i
2i
Nếu A, x là các ma trận và véc tơ thực thì AH = AT , xH = xT .
Nếu chuyển vị liên hợp của một ma trận phức bằng chính nó, AH = A

thì ta nói ma trận đó là Hermitian.
1.1.2.

Phép nhân hai ma trận


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 được
tính bởi
n

aik bkj , ∀1 ≤ i ≤ m, 1 ≤ j ≤ p

cij =

(1.1.1)

k=1

Điều kiện để nhân hai ma trận là số cột của ma trận thứ nhất phải bằng số
hàng của ma trận thứ hai. Trong định nghĩa trên, chúng đều bằng n.
Tính chất.
1. Phép nhân ma trận không có tính chất giao hoán. Thông thường AB =

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

AB + AC
4. 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. Tương tự cho Hermitian của một tích.

(AB)T = BT AT ;

(AB)H = BH AH


Theo định nghĩa trên, bằng cách coi véc tơ là trường hợp đặc biệt của ma
trận, tích vô hướng của hai véc tơ (inner product) x, y ∈ Rn được định nghĩa

5



n
T

T

x y=y x=

x i yi

(1.1.2)

i=1

Chú ý, xH y = yH x

H

= yH x. 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ông
thì chúng vuông góc với nhau.

xH x ≥ 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

số không âm.
Phép nhân của một ma trận với một véc tơ là một véc tơ với là véc tơ
hàng thứ của
Ngoài ra, một phép nhân khác được gọi là Hadamard (hay element - wise)
hay được sử dụng trong học máy. Tích Hadamard của hai ma trận cùng kích
thước A, B ∈ Rm×n
1.1.3.

Ma trận đơn vị và ma trận nghịch đảo

1.1.3.1.

Ma trận đơn vị

Đường chéo chính của ma trận là tập hợp các điểm có chỉ số hàng và cột
như nhau. Cụ thể, nếu A ∈ Rm×n thì đường chéo chính của A bao gồm

{a11 , a22 , . . . , app }, trong đó p = min{m, n}.
Một ma trận đơn vị bậc n là một ma trận đặc biệt trong Rn×n với các
phần tử trên đường chéo chính bằng 1, các phần tử còn lại bằng 0. Ma trận
đơn vị thường ký hiệu là I (Identity matrix). Nếu cần phân biệt rõ ma trận
đơn vị cấp n, ta ký hiệu In cho ma trận đơn vị bậc n. Ví dụ các ma trận đơn
vị bậc 3, bậc 4.




1 0 0




I3 =  0 1 0

0 0 1

1 0


0 1
I4 = 

0 0

0 0




,


0 0





0 0



1 0

0 1

(1.1.3)

Nếu A ∈ Rm×n , B ∈ Rn×m và In là ma trận đơn vị bậc n, ta có AI =

A,

IB = B. Với mọi véc tơ x ∈ Rn , ta có In x = x.
6


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ặc
nondegenerate) 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ói
rằ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ó

A−1 A = AA−1 = I

(1.1.4)


Ma trận nghịch đảo thường được sử dụng để giải hệ phương trình tuyến
tính. Giả sử rằng A ∈ Rn×n là một ma trận khả nghịch và một véc tơ bất
kỳ b ∈ Rn . Khi đó phương trình:

Ax = b

(1.1.5)

có nghiệm duy nhất là x = A−1 b. Thật vậy, nhân bên trái cả hai phương
trình với A−1 , ta có Ax = b ⇔ A−1 Ax = A−1 b ⇔ x = A−1 b.
Khi A không khả nghịch hay không vuông, phương trình tuyến tính có
thể không có nghiệm hoặc vô số nghiệm.
Quy tắc tính ma trận nghịch đảo của ma trận tích: (AB)−1 = B−1 A−1 .
1.1.4.

Một số ma trận đặc biệt

1.1.4.1.

Ma trận đường chéo

Ma trận đường chéo (diagonal matrix) là ma trận chỉ có các thành phần
trên đường chéo chính là khác không. Ma trận đơn vị là ma trận đường chéo.
Một vài ví dụ khác:


1




−1 0








,
, 0 2 
,


0 0
0 2 0
0 0


2 0

 

1 0 0



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
7



A ∈ Rm×m được ký hiệu là diag (a11 , a22 , . . . , amm ) với aii là phần tử hàng
thứ 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ếu
mọ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ể,
−1
−1
(diag (a1 , a2 , . . . , an ))−1 = diag a−1
1 , a2 , . . . , an .
1.1.4.2.

Ma trận tam giác

Một ma trận vuông được gọi là ma trận tam giác trên (upper triangular
matrix) nếu tất cả các thành phần nằm phía dưới đường chéo chính bằng
0. Tương tự, một ma trận vuông được gọi là ma trận tam giác dưới (lower
triangular matrix) nếu tất cả các thành phần nằm phía trên đường chéo
chính bằng 0.
Các hệ phương trình tuyến tính mà ma trận hệ số có dạng tam giác
thườ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
mà không cần dùng ma trận nghịch đảo.
1.1.5.

Định thức

1.1.5.1.


Định nghĩa

Định thức của một ma trận vuông A được ký hiệu là det(A) hoặc det A.
Dưới đây là cách định nghĩa quy nạp định thức theo bậc n của ma trận.
Với n = 1, det(A) chính là phần tử duy nhất của ma trận đó.
Với một ma trận vuông bậc n > 1:


a a . . . a1n
 11 12



 a21 a22 . . . a2n 
 ⇒ det(A) =
A=


.
 . . . · · · .. . . . 


an1 an2 . . . ann

n

(−1)i+j aij det (Aij )

(1.1.6)


j=1

Trong đó 1 ≤ i ≤ n bất kỳ và Aij là phần bù đại số của A ứng với phần tử
ở hàng i cột j . Phần bù đại số này là một ma trận con của A nhận được từ
8


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ức
dựa trên cách khai triển hàng thứ i của ma trận.
1.1.5.2.

Tính chất

1. det(A) = det AT
2. Nếu A = diag (a1 , a2 , . . . , an ) thì det(A) = a1 a2 . . . an
3. Định thức của ma trận đơn vị bằng 1.
4. det(AB) = det(A) det(B) với A, B là hai ma trận vuông cùng chiều.
5. Định thức của ma trận có hàng (cột) bằng 0 thì bằng 0.
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ó.

det A−1 =
1.1.6.

Tổ hợp tuyến tính, không gian sinh

1.1.6.1.


Tổ hợp tuyến tính

1
det(A)

(1.1.7)

Cho các véc tơ khác không a1 , . . . , an ∈ Rm và các số thực x1 , . . . , xn ∈ R,
véc tơ

b = x1 a1 + x2 a2 + · · · + xn an

(1.1.8)

được gọi là một tổ hợp tuyến tính (linear combination) của a1 , . . . , an . Xét
ma trận A = [a1 , a2 , . . . , an ] ∈ Rm×n và x = [x1 , x2 , . . . , xn ]T , biểu thức
(1.1.8) có thể được viết lại thành b = Ax. Ta nói b là một tổ hợp tuyến
tính các cột của A.
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ác
vé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 = x1 a1 + x2 a2 + · · · + xn an
9

(1.1.9)


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 = 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ập
tuyế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ập
tuyế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ại
vé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 ma
trận này

10


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

R(A) = {y ∈ Rm : ∃x ∈ Rn , Ax = y}

(1.1.10)

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ác
cộ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ất
cá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à

N (A) = {x ∈ Rn : Ax = 0}

(1.1.11)

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ến
tí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ý:
dim(R(A)) + dim(N (A)) = n
1.1.7.


(1.1.12)

Hạng của ma trận

Hạng của ma trận A được định nghĩa là số lượng lớn nhất các cột độc lập
tuyến tính, ký hiệu là rank(A)
Các tính chất:
1. Một ma trận có hạng bằng 0 khi và chỉ khi nó là ma trận 0.
2. rank(A) = rank AT
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ạng
bằng k có thể biểu diễn được dưới dạng đúng k ma trận có hạng bằng 1.

11


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
1. A là một ma trận khả nghịch
2. det(A) = 0
3. Các cột của A tạo thành một cơ sở trong không gian n chiều
4. rank(A) = n
1.1.8.


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

1.1.8.1.

Định nghĩa

Một hệ cơ sở {u1 , u2 , . . . , um ∈ Rm } được gọi là trực giao (orthogonal) nếu
mỗi véc tơ là khác 0 và tích của hai véc tơ khác nhau bất kỳ bằng 0:

ui = 0;

uTi uj = 0∀1 ≤ i = j ≤ m

(1.1.13)

Một hệ cơ sở {u1 , u2 , . . . , um ∈ Rm } được gọi là trực chuẩn (orthonormal)
nếu nó là hệ trực giao và độ dài Euclidean của mỗi véc tơ bằng 1:


1, i = j
T
ui uj =
(1.1.14)

0, i = j
Gọi U = [u1 , u2 , . . . , um ] với {u1 , u2 , . . . , um ∈ Rm } là trực chuẩn, từ (1.1.14)
có thể suy ra

UUT = UT U = I


(1.1.15)

trong đó I là ma trận đơn vị bậc n. Nếu một ma trận thỏa mãn điều kiện
(1.1.15), ta gọi nó là ma trận trực giao (orthogonal matrix). Không có định
nghĩa cho ma trận trực chuẩn.
Nếu một ma trận vuông phức U thỏa mãn UUH = UH U = I, ta nói rằng

U là một ma trận Unitary.
12


1.1.8.2.

Tính chất của ma trận trực giao

1. U−1 = UT : Nghịch đảo của một ma trận trực giao chính là ma trận
chuyển vị của nó.
2. Nếu U là ma trận trực giao thì chuyển vị của nó UT cũng là ma trận
trực giao.
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à

(Ux)T (Uy) = xT UT Uy = xT y

(1.1.16)

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


ˆ ∈ Rm×r , r < m là một ma trận con của ma trận trực giao U
5. Giả sử U
ˆ = Ir
ˆ TU
được tạo bởi r cột của U, ta sẽ có U
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ên
một hệ tọa độ nào đó. Ở các hệ tọa độ khác nhau, tọa độ của điểm là khác
nhau.
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 gian m chiề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ến
tính của các véc tơ trong hệ cơ sở chính tắc

x = x1 e1 + x2 e2 + · · · + xm em

(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ến
tính), biểu diễn của véc tơ x trong hệ cơ sở mới này có dạng
13



x = y1 u1 + y2 u2 + · · · + ym um = 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ễn
của x trong hệ cơ sở mới. Biểu diễn này là duy nhất vì y = U−1 x.
Trong các ma trận đóng vai trò như các hệ cơ sở, các ma trận trực giao

UT U = 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 = UT x, hay yi = xT ui = 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 độ
là cố định.
Trong việc giảm chiều dữ liệu, chúng ta sẽ thấy ứng dụng quan trọng của
việc đổi cơ sở.
1.1.10.

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

1.1.10.1.

Định nghĩa

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

Từ định nghĩa ta cũng có, (A − λI)x = 0, tức là x nằm trong không gian
Null của A − λI. Vì x = 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. Định
thức 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 đó.

14


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 = 0, kx cũng là một véc tơ riêng của A ứng với giá trị riêng đó.
Nếu x1 , x2 là hai véc tơ riêng ứng với cùng một giá trị riêng λ thì tổng của
chúng cũng là một véc tơ riêng ứng với giá trị riêng đó. Từ đó suy ra tập
cá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ành
mộ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ủa
tất cả các giá trị riêng của ma trận bằng tổng các phần tử trên đường
ché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ều
này có nghĩa là, mặc dù tích của hai ma trận không có tính chất giao

hoán, đa thức đặc trưng của AB và BA là như nhau, hay phổ của hai
tí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
nó đều là các số thực.
7. Nếu (λ, x) là một cặp giá trị riêng, véc tơ riêng của ma trận khả nghịch
1
A, thì
, x là một cặp giá trị riêng, véc tơ riêng của A−1 .
λ
1.1.11.

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 các giá trị riêng λ1 , . . . , λn của nó.
Đặt Λ = diag (λ1 , λ2 , . . . , λn ) và X = [x1 , x2 , . . . , xn ] ta sẽ có AX = XΛ.
Hơn nữa, nếu các giá trị riêng x1 , . . . , xn là độc lập tuyến tính, ma trận X

15


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

A = XΛX−1

(1.1.19)

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ích

củ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ận
vuông bậc n chéo hóa được khi và chỉ khi nó có đủ n giá trị riêng độc
lậ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 ma
trận đó. Đổi vị trí của λi và vị trí tương ứng các cột của X ta có một
cá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Λ2 X−1 ;

Ak = XΛk X−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

16

−1


= XX −1 X−1


1.1.12.

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

1.1.12.1.

Định nghĩa

Một ma trận đối xứng A ∈ Rn×n được gọi là xác định dương (positive
definite) nếu

xT Ax > 0, ∀x ∈ Rn , x = 0

(1.1.21)

Một ma trận đối xứng A ∈ Rn×n được gọi là nửa xác định dương (positive
semidefinite) nếu

xT Ax ≥ 0, ∀x ∈ Rn , x = 0

(1.1.22)

Ma trận xác định âm và nửa xác định âm cũng được định nghĩa tương tự.
Ký hiệu A

0, ≺ 0,


0,

0 được dùng để chỉ một ma trận là xác định

dương, nửa xác định dương, xác định âm, nửa xác định âm theo thứ tự tương
ứng. Ký hiệu A

B cũng được dùng để chỉ A − B

0.

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

xH Ax > 0, ∀x ∈ Cn , x = 0


(1.1.23)

 
1 −1
u
 là nửa xác định dương vì với mọi véc tơ x =  ,
Ví dụ, A = 
−1 1
v
ta có


xT Ax = 


1
−1

−1
1




u
v


 = u2 + v 2 − 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

17


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:

x

2

x21 + x22 + · · · + x2n

=

(1.1.25)

Chuẩn Frobenius của ma trận

m

A


F

n

a2ij

=

(1.1.26)

i=1 j=1

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 là trace(A).

1.2.

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

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, đọc
lạ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
là một lĩnh vực của trí tuệ nhân tạo, trong đó nghiên cứu các kỹ thuật
18


×