x: ờơ ỉ d ạ i h ọ c ọ u ó c g ia h à n ộ i
TRƯỜNG ĐAI HOC CÔNG NGHÊ
« * •
NGUYỀN HOÀI NAM
MỘT SỐ KỸ THUẬT VECTOR TỤA (SVM) TRONG
KHAI PHÁ Dữ LIÊU VÀ ỨNG DƯNG VÀO NHẢN DANG
• • 0 ề
Ngành : Công nghệ thông tin
Chuyên ngành : Hệ thống Thông tin
Mằ sổ : 60 48 05
LUẬN VĂN THẠC sĩ
NGƯỜI HƯỚNG DẢN KHOA HỌC : PGS.TSKH. Bùi Công Cường
■JAi HỌC QUỐC GIA HÀ NÔI
; rung tâm thOng tin thư viện
1 Vr LOẬ . . A S A L _
Hà Nội - 2008
3
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
CÁC TỪ VIẾT TẮT, THUẬT NGỮ 6
CÁC HÌNH V Ẽ 6
CHƯƠNG 1 : MỘT SỐ KIẾN THÚC CHUẨN BỊ
10
1.1 Bài toán tối ưu 10
1.1.1 Bài toán qui hoạch tuyến tính 10
/. ỉ. ỉ. ỉ Dạng chính tắc
1Ị
Ị. ỉ. ỉ.2 Dạng chaân tắc / /
1.1.2 Qui hoạch tuyến tính đổi ngẫu 12
1.2 Biểu diễn dữ liệu 14
1.2.1 Dữ liệu huấn luyện 14
1.2.2 Không gian hữu hạn chiều 14
1.2.3 Một thuật toán nhận dạng mẫu đơn giản 15
1.2.4 Một số khái niệm trong lý thuyết học thổng kê 18
1.2.4. ỉ Không gian v c 19
1.2.4.2 Mối liên hệ giữa lý thuvểt học thống kê và SVM
20
1.3 Phưoìig pháp phân tích thành phần chính (PCA) 20
1.3.1 Độ lệch chuẩn 20
1.3.2 Phương sai 21
1.3.3 Vector riêng, giá trị riêng 22
1.3.4 Phương pháp phân tích thành phần chính
23
MỤC LỤC
CHƯƠNG 2 : KHAI PHÁ DỮ LIỆU VÀ HỌC MÁY
28
2.1 Khái niêm hoc 28
• •
2.1.1 Qúa trình học 28
2.2 Máy học 29
2.2.1 Quy trình của máy học 30
2.2.1.1 Học có thày 30
2.2.1.2 Học không có thày
31
2.2. ỉ.3 Học có thày một phần Sỉ
2.3 Khai phá dữ liệu 32
2.3.1 Cấu trúc của một hệ thống khai phá dừ liệu 32
2.3. ỉ. ì X ử lý dữ liệu 32
2.3.2 Các bài toán chính trong khai phá dữ liệu 33
2.3.2.1 Phân lớp và phán cụm 33
23.2.2 Tim ra các luật 34
2.3.3 Một số phương pháp tính dùng trong khai phá dừ liệu 35
2.4 Sự giống và khác nhau giữa khai phá dữ liệu và máy học 35
CHU ONG 3 36
HÀM HẠT NHÂN 36
3.1 Tích vô hướng các đặc trưng 36
3.1.1 Đặc trưng đơn 36
3.1.2 Hàm hạt n h â n 37
3.1.3 Hàm hạt nhân đa thức 37
3.2 Biểu diễn sự đồng dạng trong không gian tuyến tính 39
3.2.1 Các hạt nhân xác định dương 39
3.2.2 Tái lập ánh xạ hạt nhân 40
3.2.3 Tái lập không gian hạt nhân Hilbert 42
3.2.4 Ánh xạ hạt nhân Mercer 43
3.3 Các hạt nhân thưòng đưọc sử dụng 45
4
CHƯƠNG 4 46
PHƯƠNG PHÁP VECTOR TỰA (SVM) 46
4.1 Phân chia bằng siêu phắng
.
46
4.2 Vai trò cùa lề trong siêu phẳng 47
4.3 Siêu phẳng tối ưu - Phân lóp tuyến tính
49
4.3.1 Đánh giá lỗi 50
4.3.2 Bài toán qui hoặch toàn phươne của tìm lề phân lớp tối ưu
51
4.4 Phân lóp phi tuyến bằng vector tự a
51
4.5 Siêu phẳng vói lề mềm 54
4.6 Phấn lóp trong truòìig họp có nhiều lớp 60
4.6.1 Chiến lược Một-đỐi-Phần còn lại (One Versus the Rest)
60
4.6.2 Chiến lược so sánh theo cặp (hay còn gọi là một đối một)
61
CHƯONG 5 : MỘT SÓ ỦNG DỤNG CỦA KỲ THUẬT VECTOR TựA .62
5.1 Phấn loai văn bản 62
■
5.2 Nhận dạng ảnh 64
5.2.1 Phân lớp độc lập 64
5.2.2 Phân lớp với ảnh màu 65
5.3 Nhận dạng chữ số viết tay 66
5.4 Tin-sinh học (Bio-lnformatỉcs) 67
5.4.1 Phát hiện protein tương đồng , 67
CHƯƠNG 6 : CÀI ĐẬT THỬ NGHIỆM
69
# *
6.1 Nhận dạng ảnh khuôn mặt người 69
6.1.1 Xây dựng không gian đặc trưng 70
6.1.2 Huấn luyện và nhận dạng 72
6.2 Xây dựng hệ thống nhận dạng 74
KÉT LUẬN 76
TÀI LIỆU THAM KH ẢO 77
5
(ORL Cambridge Olivetti Research Lab
PCA Principal Components Analysis
1RBF Radial Basic Function
SVM Support Vector Machines
v c Vapnik Chervonenkis
CÁC HÌNH VẼ
Hình 1.1 Phân lớp trong đơn giản 17
Hình 1.2 : Hai hàm huấn luyện cho kết quả khác nhau trên dữ liệu kiểm tra
18
Hình : 1.3 v c của các đường thẳng có hướng
20
trong không gian 2 chiều (R2) là 3 20
Hình 1.4 Ý nghĩa hình học của PC A 27
Hình 2.1 : Sơ đồ của Bloom 29
Hình 2.2 : Thuật toán học có thày : Cây quyết định, Mạng nơron, Vector tựa 31
Hình 2.3 : Thuật toán học không có thày : Phân cụm 31
Hình 3.1 Ví dụ về phân lớp nhị phân khi ánh xạ sang không gian đặc trưng 38
Hình 3.2 Minh hoạ mối liên hệ giữa ánh xạ đặc trưng với hạt nhân
40
Hình 4.1 Một siêu phẳng phân lớp các đối tượng thành hai lớp 46
Hình 4.2 Siêu phẳng dạng chính tắc 47
Hình 4.3 Vỉ dụ phân lớp trong không gian 2 chiều 48
Hình 4.4 : Ví dụ : Bằng cách ánh xạ không gian dữ liệu phi tuyến đầu vào
52
Hình 4.5 : Ví dụ về SVMs trong không gian phi tuyến 53
Hình 4.6 : P-SVC với
V =
0.1 (trên-trái)đến
V
= 0.8 (dưới-phải)
57
Hình 6.1 : Ảnh của một người trong dữ liệu ảnh ORL
71
Hình 6.2 Phân lớp sử dụng cây phân lớp nhị phân 73
Hình 6.3 Phân nhiều lớp với sổ lớp là 4 73
Hình 6.4 Các dữ liệu huấn luyện 74
Hình 6.5 : Dừ liệu kiếm tra và các kết nhận dạng 75
6
CÁC TỪ VIẾT TẮT, THUẬT NGŨ
7
Trong thời gian gần đây, công nghệ thông tin đã góp phần quan trọng vào
sự phát triển kinh tế, giáo dục và làm thav đổi xã hội, tạo ra những khái niệm,
quan niệm mới trong nhiều lĩnh vực, tác động đến tất cả các cá nhân, tổ chức
trong xã hội. Công nghệ thông tin đà làm xoá mờ khoảng cách về địa lý, giúp
con người ờ khắp nơi trên thế giới, ở tất cả các nền văn hoá có thế dễ dàng trao
đổi, chia sẻ thông tin. Chính vì nhừng tiện ích vô cùng thân thiện cùa nó nên
cộng đồng tham gia vào việc sử dụng, phát triển công nghệ thông tin là rất rộng
lớn, không kể tuổi tác, nahề nghiệp, tôn giáo, vùng miền, Chúng ta đã được
chứng kiến sự phát triên nhir vũ bão của công nghệ thông tin trong nhừng năm
vừa qua, từ bộ vi xử lý tới các hệ thổna lưu trữ cũng đã phải phát triển nhanh
chóng đế đáp ứng được khối lượng thông tin khổng lồ; các thông tin này không
nằm một chỗ mà nó luôn được luân chuyển, bổ sung, cập nhật bởi người sử
dụng.
Với khối lượng thông tin lớn đến như vậy, liệu con người chúng ta có cảm
thấy quá tái, ngập chìm trong biên thông tin, không thế chọn lựa được những
thông tin quan trọng, gần với nhu cầu sử dụng của minh nhất. Điều đó có nghĩa
là chúng ta có quá nhiều thông tin, nhưng điều chúng ta thực sự cần đó là tri
thức,là kiến thức có được qua sự tổng hợp, phân tích, thống kê từ các kho thông
tin đó. Đe tìm ra được tri thức trong một kho thông tin khổng lồ thì chúng ta cần
phải có các phương pháp khái phá các lượng thông tin đó. Cùng chính vì lý do
đó mà trong thời gian gần đây, nghành khai phá dừ liệu được rất nhiều người
quan tâm và nghiên cứu.
Trong luận vãn tốt nghiệp cao học tại trường Đại học công nghệ - Đại học
quốc gia Hà Nội, tôi thực hiện đề tài “Một sổ kỹ thuật vector tựa (SVM) trong
khai phá dữ liệu và ứng dụng vào nhận dạng”
• Lý do chọn đề tài
Trong khai phá dừ liệu và học máy, yếu tố quyết định đến độ chính
xác trong các dự đoán là khả năng phân lớp tốt. Kỹ thuật vector tựa được
đánh giá là có khả năng phân lớp rất tốt, đặc biệt là các bài toán phân lớp
phi tuyến. Hiện nay đã có nhiều ứng dụng được xây dựng dựa trên kỹ
thuật vector tựa và cho kết quả rất khả quan.
• Mục đích, đổi tượng, phạm vi nghiên cứu
MỞ ĐẦU
8
Nghiên cứu phần cơ sở, lý thuvết chung của kv thuật vector tựa,
nghiên cứu một sổ kỹ thuật vector tựa cụ thể. Nghiên cửu các phương
pháp sử dụng kv thuật vector tựa trong nhận dạng mẫu, đặc biệt là nhận
dạng khuôn mặt. Đưa ra các giải pháp nhàm tăng cường tốc độ tính toán,
độ chính xác cho phương pháp vector tựa.
• Ý nghĩa khoa học và thực tiễn
Đây là một trong các phương pháp phân lớp hiện đại, có thể áp
dụng cho nhiều bài toán phàn lớp hiện nay.
Với giới hạn những đổi tượng, vấn đề tìm hiểu và nghiên cứu như trên,
i uận văn bao gồm 6 chương :
Chương 1 : Một số kiến thức chuẩn bị
Giới thiệu các khái niệm về quy hoạch tuyến tính, lý thuyết học thống kê,
và các khái niệm ban đầu về kỹ thuật vector tựa, cũng như mối liên hệ giữa lý
thuyết thống kê và kỹ thuật vector tựa.
Chu’O'ng 2 : Khai phá dữ liệu và học máy
Trình bày các khái niệm về khai phá dữ liệu và học máy
Chương 3 : Hàm hạt nhân
Trình bày khái niệm về hàm hạt nhân, trình bày về không gian đặc trưng,
trình bày về sử dụng hạt nhân trong kỹ thuật vector tựa.
Chương 4 : Phương pháp vector tựa (SVM)
Trình bày các nội dung cơ bản của phương pháp vector tựa. Tập trong đi
sâu vào các kỹ thuật vector tựa hay được sử dụng hiện nay.
Chương 5 : Một số ứng dụng của SVM
Phân tích, xây dựng bài toán nhận dạng khuôn mặt bàng kỹ thuật vector
tựa. Lựa chọn phương pháp phân tích thành phần chính (PCA) để trích rút đặc
trưng của khuôn mặt, xây dựng cờ sở dữ liệu ảnh mặt để kiểm tra khả năng hoạt
động của các kỹ thuật vector tựa.
Chương 6 : Cài đặt thử nghiệm
9
Cài đặt thử nghiệm hệ thống nhận dạng khuôn mặt người để kiểm tra khả
năng phân lớp của kỹ thuật vector tựa.
Kết luân
Đánh giá hiệu quả của phương pháp vector tựa cũng như đưa ra các
hướng cài tiến, các ứng dụng có thể áp dụng kỹ thuật vector tựa.
10
CHƯƠNG 1 : MỘT SÓ KIẾN THÚC CHUẨN BỊ
1.1 Bài toán tối ưu.
Bài toán tối ưu là bài toán tìm nghiệm tối ưu (cho một hàm mục tiêu nào
đó) trono, số các phương án (nghiệm) chấp nhận thuộc miền V cho trước.
1.1.1 Bài toán qui hoạch tuyến tính
Qui hoạch tuyến tính là một trong những lớp bài toán tối ưu quan trọng
nhất vả được ứng dụng rồng rãi trong thực tiền. Qui hoạch tuyến tính là bài toán
tìm cực tiểu (hay cực đại) của một hàm tuyến tính f(x) trên một khúc lồi D c
Rn được xác định bơi một hệ phương trình hay bất phương trình tuyến tính cho
trước.
Bài toán này có dạng : Tìm các vector x= (x/, x2, sao cho
Z
n
CịXị —> m in
7=1
thoá mân các ràng buộc
Z
Clij X) < bị ,i = 1, ,171,
7 = 1
/ . u ij
*—‘j=1
X x >
'7 = 1
X—1«
(1.1)
> b ị, i = m l + 1, , 771! + m 2, (1.2)
y dụ Xj — bị ,i = i — m í + m 2 4-1, (1.3)
£—Jj =1
Xị > 0,7 = l, ,n,Xj < 0,j - 71! + 1, ,ní + n2 < n (1.4)
trong đó a;j,bj,Cj là các hằng số cho trước.
Trong bài toán trên, f được gọi là hàm mục tiêu, mỗi hệ thức (1.1) - (1.4)
được gọi là các ràng buộc. Mồi ràng buộc (1.1) - (1.3) gọi là một ràng buộc
chính (dạng đẳng thức hay bất đẳng thức), mồi ràng buộc Xj> 0 hay Xj < 0 gọi là
một ràng buộc về dấu.
Điểm X=(X],X2 xn) c Rn thoá mân mọi ràng buộc của bài toán gọi là một
điểm chấp nhận được hay một phương án. Tập hợp tất cả các phương án, ký
hiệu là D, gọi là miền ràng buộc hay miền chấp nhận được. Một phương án đạt
cực tiểu của hàm mục tiêu gọi là một phương án tối ưu hay một lời giải của bài
toán đã cho.
Bài toán có ít nhất một phương án tối ưu gọi là bài toán có lời giải. Bài
toán không có phươna, án (miền ràng buộc rồng D=0) hoặc có phương án
nhưng không có phương án tối ưu, do hàm mục tiêu giám vô hạn (bài toán tìm
min) hoặc tăng vô hạn (bài toán tìm max) gọi là bài toán không có lời giải.
Các ràng buộc chính của bài toán được sắp xếp theo thứ tự; trước hết
là các ràng buộc < rồi đến các ràng buộc > và sau cùng ỉà các ràng
buộc =
m J là số ràng buộc <, m2 là sổ ràng buộc >, m là tổng số các ràng
buộc chính, n là biến số của bài toán, nỊ là số ràng buộc Xj > 0, n2 là
số ràng buộc Xj<0 (có thể ri|=0, n2=0). Nếu không có các ràng buộc
< thì mj=0, không có các ràng buộc > thì m2, không có ràng buộc =
thì m=mi+m2.
Với bài toán bất kỳ, bao giờ ta cũng có thế viết các ràng buộc chính ở
dạng sao cho mọi bị > 0, i=l, ,m (nếu có bj < 0 ta nhân cả hai vế
của ràng buộc i với -1, rồi đổi chiều bất đẳng thức và sắp xếp lại thứ
tự các ràng buộc chính nếu cần)
Người ta thường xét bài toán qui hoạch tuyến tính ở hai dạng sau đây :
1.1.1.1 Dạng chính tắc
Z
n
CịXị -» m in ,
/=1
l ^ r aijxị = bi> i = 1 ,2 ,m,
V Xj > 0 , j = 1,2,
Ràng buộc chính dạng đẳng thức và mọi biến đều không âm
1.1.1.2 Dạng chuẩn tắc
Z
n
CjXj -> m in,
i=1
I ^ CLijXj > bị, i = 1,2, , m,
l Xj > 0 , j = 1,2,
Ràng buộc chính dạng bất đẳng thức > (đổi với bài toán min hoặc < đối
với bài toán max), và mọi biến đều không âm.
Đe viết bài toán gọn hơn, ta dùng các ký hiệu vector và ma trận sau:
11
an
a12
aĩn
' aij '
A =
a21 0-22 ••• a2n
, Aj=
Ũ2j
•
•
.aml
^m2 Q-mn.
.amj.
12
■ V
'<v
'*l'
-0-
b =
^2
,c =
c2
•
, x -
*2
•
•
,0 =
0
•
»
ỉ*m ■
.cn.
.x n.
-0-
(A là ma trận m X n gôm các hệ sô ờ vê trái ràng buộc chính, Aj là
vector cột thứ j của ma trận A tương ứng với biến Xj, b là vector các hệ số
ở vế phải của ràng buộc chính, c là vector các hệ số ở hàm mục tiêu, X là
vector các ẩn số, 0 là vector không. Tất cả các vector này đều là vector
cột)
Với các ký hiệu trên, bài toán qui hoạch tuyến tính chính tac được
viết lại dưới dạng (với b > 0)
min { f(x)=<c,x> : Ax = b, X > 0 }
hay max { f(x)=<c,x> : Ax = b, X > 0 }
(<c,x> là tích vô hướng của hai vector c và x)
Bài toán quy hoạch tuyến tính chuẩn tẳc có dạng (không đòi hỏi b > 0)
min { f(x)=<c,x> : Ax > b, X > 0 }
hay max { f(x)=<c,x> : Ax < b, X > 0 }
1.1.2 Qui hoạch tuyến tính đối ngẫu.
Đổi ngẫu là một phương pháp mà ứng với mỗi bài toán qui hoạch tuyến
tính đã cho (gọi là bài toán gốc), ta có thể thiết lập một bài toán quy hoạch
tuyến tính khác (gọi là bài toán đối ngẫu) sao cho từ lời giải của bài toán này ta
có thể thu được thông tin về lời giải của bài toán kia. Vì thế, đôi khi đế có được
lời giải của một bài toán tỏ ra khó khăn, thì việc chuvến sang bài toán đối ngẫu
giúp ta có được lời giải thuận tiện hơn nhiều. Hơn thế, khi phân tích đồng thời
cả hai bài toán gổc và bài toán đổi ngẫu ta có thể rút ra được các kết luận sâu
sắc cả về mặt toán học lẫn ý nghĩa thực tiễn.
Cho một qui hoạch tuyến tính, kỷ hiệu (P), dưới dạng chuẩn :
(P) f(x)=CiX|+c2X
2
+ . + cnxn —» min
với các ràng buộc
I aMxi + ai2x2+ + ainxn> bj , i=l,2, ,m
I Xj > 0 , j=l,2, ,n,
13
trong đó ay, bị, Cj là các hệ số cho trước; x=(xl,x2, ,xn) G Rn là vector
biến cần tìm.
Ta gọi đổi ngầu của (P) là qui hoạch tuyển tính, bài toán đối ngầu Q có
dạng :
g(y)=b,yi+b2y2+ + bnyn max
với các ràng buộc
a ,yj + aj2y2 + + ainyn<Cj , i=l,2, ,n
I Ỵj> 0 ,j=l,2, ,m,
■ S
ở đây y=(yi.y
2
v»yn) e Rn là vector biến cần tìm. Ta có nhận xét :
• Các ràng buộc chính trong qui hoạch ban đầu (ta gọi là qui hoạch gốc hay
bài toán gốc) tương ứng một - một với các biến trong bài toán đối ngẫu
(mà ta sè gọi là các biến đối ngẫu), trong khi các biến trong qui hoạch gốc
(biến gốc) sẽ tương ứng một - một với các ràng buộc chính trong bài toán
đối ngẫu
• Các hệ số ờ vế phải với ràng buộc chính trong bài toán gốc trờ thành các
hệ sổ mục tiêu trong bài toán đối ngẫu, còn các hệ số mục tiêu trong bài
toán gổc trở thành các hệ số ở vế phải ràng buộc chính trong bài toán đối
ngẫu
• Bài toán gốc tính min thì bài toán đổi ngẫu tính max (và ngược lại)
• Cả hai bài toán (P) và (Q) đều có dạng chuẩn; mọi ràng buộc đều là các
bất đẳng thức (> đối với bài toán tìm min, < đối với bài toán tìm max) và
mọi biến đều không âm.
Dùng ký hiệu vector và ma trận, ta có thể viết :
Bài toán gốc Bài toán đối ngẫu
f(x)=<c,x> —> min g(y)=<b,y> —> max
Ax >b, ATy < c,
X > 0. y > 0.
(A1 là ma trận chuyển vị của ma trận A, <a,b> là tích vô hướng của hai
vector a và b)
14
1.2.1 Dữ liệu huấn luyện
Giả sử ta có các đối tượng được chia thành hai lớp, cho một đổi tượno;
mới và ta phải xem đối tượng đó thuộc về lớp nào. Bài toán trên có thể tổng
quát hoá thành :
(x 1(y,), ,(x m,ym) e X X { -1,1 }
Trong đó X là tập khác rỗng các mẫu Xj (còn gọi là các đầu vào, mẫu,
quan sát), còn y, được gọi là các nhãn, đầu ra. Không mất tính tổng quát ta
chỉ xem xét hai giá trị của nhãn là +1 và -1, đó là trường hợp nhận dạng mẫu
hay phân lớp nhị phân. Khi đó, sau khi huấn luyện qua các dữ liệu huấn
luyện ta cỏ thế tồng quát quá cho các dừ liệu chưa gắn nhãn, tức là ta dự
đoán X E X thuộc về lớp nào {+1,-1}
Với sự chuyển đổi dừ huấn luyện vào đê dự đoán đầu ra trong { + 1,-1} đã
làm cho bài toán trở nên đơn giản hơn nhiều. Do vậy chúng ta cần có các
phép biến đồi dừ liệu của tập dừ liệu huấn luyện
Xét phép biến đổi
k : X X X -» E
(.x ,x ') *->/c(x,x')
với hai mẫu X v à x ’ qua phép biển đổi ta có sổ thực thể hiện sự liên quan
của X và x \ với k là đổi xứng (k(x,x’)=k(x’,x) với mọi x,x’G M) thì k
được gọi là một hạt nhân.
1.2.2 Không gian hữu hạn chiều
Xét li, V 0. Tích trực tiếp của IL v ằ V :
XLxV= {(u,v)\u 6 ĩl,v £ V]
Trong trường hợp V. — V — IRn, ta xét tích vô hướng của hai vector
X = (xvx2
xn) Vày = (yv y2,-,yn) là :
1.2 Biểu diễn dữ liêu
= f [ * ,
i= 1
< x ,y> = > [Xị.yi
15
về mặt hình học, tích vô hướng của hai vector chính là cosine của góc tạo
thành của hai vector đó. Dựa vào đó ta có thể tính được chuẩn của vector* theo
công thức sau :
||x|| = v < x.x >
1.2.3 Không gian đặc trưng
Việc chuyển được không gian đặc trưng lên một không gian ơclit
giúp ta có được hình dung về mặt hình học cũng như có thể tính được
góc, độ dài, khoảng cách. Tuy nhiên, nó cũng đặt ra một số vấn đề sau :
• Đe có thể tính toán trong không gian thì ta phải biểu diễn các mẫu
dưới dạng vector trong một không gian ĨC qua ánh xạ :
<p : X -> Oi
X H+ X := 4>(X)
• Nếu như mẫu đã nằm trong không gian , thì chúng ta vẫn muốn tìm
kiếm cách đối sánh tổng quát hơn bằng phép ánh xạ o
Trong cả hai trường hợp trên, ta đều gọi K là không gian đặc trưng, X là
vector trong không gian đặc trưng, biểu diễn cho X. Qua cách đưa dữ liệu vào
không gian đặc trưng qua <l> chúng ta được :
• Có cách thức so sánh trong không gian tích của J-C
k(x,x')-< 4>(x), 4>(x') > (1.5)
• Ta có thế có các biểu diễn hình học, sử dụng đại số tuyến tính và
giải tích hình học để giải quyết bài toán máy học.
• Có nhiều cách để chọn ánh xạ 4> nên có nhiều cách so sánh.
1.2.3 Một thuật toán nhận dạng mẫu đơn giản
Giả sử, dữ liệu của chúng nằm trong không gian tích K , do đó
chúng ta có thể tính được các khoảng cách trong không gian đó, ý tưởng
chính của thuật toán là gán một mẫu thuộc vào một lớp mà gần với trung
bình của lớp đó hơn.
16
c+ = ~ ĩi{i\yi=+1}x i (1-6)
c -+ ~ ^ 1 7 S {i|y i=_j} x i ( 1 -7)
Trong đó m+ và m. là số lượng các mẫu có nhãn là âm và dương, và hai
lớp này đều không rỗng. Điểm RÌữa hai lớp C+ và c. là điểm c:=(c+ + c.)/2. Đe
biết xem X thuộc về lớp nào thì ta kiếm tra xem góc tạo thành giữa vector x-c và
vector w xem có nhỏ hơn n/2 hay không. Ta có :
y = sgn < (x - c), w >
= sgn < (x - (c+ + c_)/2) ,(c+ + c_) >
= sgn(<x,c+ > -<x,c_> + b) (1.8)
Gọi b là lề, ta có
6 = i( |c _ |2 - |c+|2), (1.9)
Do |Ịx|| = v< x .x > ncn khi b triệt ticu tức là khoảng cách trung bình
của hai lớp đến gốc toạ độ là bàng nhau. Từ (1.8) ta có một siêu phẳng, gồm các
điểm thoả mãn các điều kiện của một đẳng thức tuyển tính. Trừ (1.6) và (1.7)
cho ( 1.8) ta có hàm quyết định :
Trước tiên, ta tính trung binh mẫu của hai lớp
Và lề b thành :
17
Hình ỉ. I Phân lớp trong đơn gián
Khi b=0 ta có trường hợp đặc biệt, bài toán trở thành bài toán phân lớp
theo phương pháp thống kê. Khi đó, k sê trở thành hàm xác suất khi một biến
không thav đổi
/
X
k (x ,x ')d x = 1 v ớ i m ọ i x 'e X (1.12)
Khi đó (1.11) là dạng phân lớp Bayes với hai lớp và phân bố xác suất
được tính theo công thức sau :
p+
(x) := —
y
k(x,xi) và P - 0 0 := —
V
k(x,xi) (1.13)
ĨĨĨ+ í—i ĨĨI- L-Ấ
{Ì|yi=+1} {i|y«=-i}
Khi đó, với một sổ mẫu X, thì nhãn được xác định bằng giá trị lớn hơn
trong hai giá trị p , (x) và p.(x)
ĐẠI H Ọ C Q U O C G I A H A N Ộ I
tru n g Tâm JHÔNG TIN THU VIỆN
V l c / -'MA.6
____
18
Xác định mức độ rủi ro trong phân lóp
í.2.4 Một số khái niệm trong lý thuyết học thống kê
Hình 1.2 : Hai hàm huấn luyện cho kết quả khác nhau trên dữ liệu kiềm tra
Trong ví dụ phân lớp như trong hình trên, với tập dừ liệu huấn luyện là ba
điếm (được khoanh tròn) và ba tập dữ liệu kiểm tra (trên trục x). Ta thấy cả hai
hàm f(x) và g(x) đều cho kết quả tốt trên tập dữ liệu huấn luyện, nhung với các
dự đoán trong tập dữ liệu kiểm tra thi hai hàm cho các kết quả khác nhau. Do
đó, nếu chỉ dựa trên các dữ liệu huấn luyện thì chúng ta không thể nào xác định
được hàm phân lớp nào là tốt. Một hàm f nếu có thể phân lớp tốt trên các dữ liệu
kiểm tra tức là f có tính tổng quát hoá tốt.
Một quan sát (Y X) , bị chi phối bởi một xác suất p (xác suất tiên nghiệm
chưa biết). Ở đây, chúng ta chấp nhận giả thiết rằng tập huấn luyện bao gồm N
biến ngẫu nhiên được sinh ra theo p : (X],Yi), ,(Xn,Yn) . Từ đó người ta đưa
ra định nghĩa “mức độ tổng quát hóa” của một luật f là xác suất mà luật/sinh ra
một lồi trên một ví dụ mới (ví dụ mới được sinh ra theo phân phổi p ), ta viết lại
điều này dưới dạng:
R(/)=p(/rx>* Y)
R(/)=0 là độ rủi ro của bộ phân lớp / Nếu R(/)=0 có nghĩa / sẽ không sinh ra
một lồi phân lớp nào trên một quan sát mới, hay nó có một khả năng tống quát
hóa tốt.
Với một tập huấn luyện s, bộ phân lớp / ta có thể quan sát được Remp(/),
nhưng không thể quan sát được R(/). Trực giác cho thấy trong nhiều trường họp
Rcmp(/) nhỏ thì R(/) cũng nhỏ. Vì vậy nhiều giải thuật học cố gắng tìm kiếm một
luật với Rcmp(/) nhỏ với hi vọng rằng R(/) cũng sẽ nhỏ. Theo luật số lớn, với
một luật xác định/ độ rủi ro thực nghiệm Remp(/) dần hội tụ đến R(/) khi dữ liệu
huấn luyện lớn, do đó Rcmp(/) là một chỉ số tốt cho R(/)
19
Một giai thuật học chọn luật với độ rủi ro thực nghiệm trên tập huấn luyện
là thấp nhất, nói cách khác, chọn luật / được định nghĩa như sau :
Remp (/) = inf Rcmp(/)
Phương pháp này thườníĩ là phương pháp cực tiểu rủi ro thực nghiệm
( E:RM). Nói cách khác, mục tiêu cua giải thuật học là tìm ra luật có khả năng
tổng quát hóa tốt nhất, hay tìm luật thỏa mân
R (D = inf R.(/*)
Mối liên hệ giữa R(f) và R(/*) là kết quả chính của ]ý thuyết học thống kê
ER(/) < fi(/-)+c* J ï p
c là hàng sổ toàn cục, V(F) là đặc trưng số lượng của tập luật F , còn được gọi là
chiều Vapnik-Chervonenkis (hay chiều VC), và N là số các ví dụ trong tập huấn
luyện
Nếu
• Số lượng quan sát N trong tập huấn luyện phải đủ lớn
• Số chiều v c của tập luật tiềm năng phải đủ nhò
Thì độ rủi ro của một luật được chọn f không khác nhiều so với độ rủi ro tốt nhất
có thể /?(/*)
Ta thấy chiều v c càng nhỏ, khả năng tổng quát hóa của luật được lựa
chọn theo phương thức ERM càng nhỏ. Nói cách khác, một giải thuật học sẽ tìm
một luật tổng quát hóa tốt nếu nó có thể chọn các luật từ một tập F với sổ chiều
vc nhỏ.
1.2.4.1 Không gian v c
Xét các hàm f (x): R-»{+t,-l}, có 21 cách để gán nhãn cho / điểm. Nếu
với mồi một cách gán nhãn ta đều có thể tìm thấy một thành phần của tập hợp
ự(x)} mà nhận dạng chính xác cách gán nhãn này. Khi đó tập hợp của / điểm
được nói là bị phá vỡ bởi tập hợp các hàm ịf(x)}. Chiều v c của [f(x)} là số lớn
20
nhât của các điêm dừ liệu mà có thê bị phá vờ bời nó. Chiêu vc của các siêu
phẳng tronạ không gian Rn là thường là n+1.
Hình : 1.3 vc của các đường thẳng cỏ hưởng
trong không gian 2 chiều (R2) là 3.
Tóm lại, đóng góp chính của lý thuyết học thống kê cho việc thiết kế một
giải thuật là xác định tầm quan trọng của tập các luật F mà thuật toán có thể lựa
chọn
1.2.4.2 Mối liên hệ giữa lý thuyết học thống kê và SVM
Từ nhừng kết quả chính của lý thuyết học thống kê, tư tưởng chủ đạo của
SVM là tăng khả năng tổng quát hóa tốt bằng cách kiểm soát chiều v c. ở đây,
tồn tại hai mục tiêu đổi nghịch nhau trong việc thiết kế một giải thuật học:
• Chọn F càng phong phú càng tốt để đảm bảo rằng tồn tại ít nhật một phần
tử trong F có rủi ro nhỏ nhất.
• Chọn F càng nhỏ, đơn giản càng tốt để rủi ro của luật được chọn gần với
rủi ro của luật tốt nhất
1.3 Phương pháp phân tích thành phần chính (PCA)
1.3.1 Đô lêch chuẩn
• •
Trong thống kê, khái niểm lấy mẫu là rất quan trọng. Bằng việc lấy mẫu,
ta có thề có được các độ đo gần như giống với độ đo trên toàn tập dừ liệu mà ta
21
đã lấy mầu. Giả sử, x lt e X là tập dừ liệu mẫu, khi đó giá trị trung bình
mầu được tính theo công thức sau :
- I L i Xi
X = (1.14)
n
Giá trị trung bình mẫu không chứa đựng nhiều thông tin về tập mẫu, có
thế có hai tập mẫu có sự phân bố dữ liệu khác nhau nhưng vẫn có giá trị trung
bình mầu giống nhau. Do đó chúng ta cần có giá trị độ lệch chuấn (Standard
Deviation) để đo sự phân bổ dữ liệu, độ lệch chuẩn thể hiện khoảng cách trung
bình từ trung bình mẫu đến một điểm dừ liệu
s =
( n - l )
1.3.2 Phtrong sai
Phương sai (variance) cũng ià một công cụ đế đo độ phân tán của dữ liệu
trong tập mẫu :
2 _ E?=i(*i - X ):
* - 1 -n
(L16)
( n - 1)
•»
t
Hay ta có thê viêt dưới dạng :
Z ?=1 (Xi-X)(X i-X )
va r(x ) = —
_
(1.17)
( n - 1)
Tuy nhiên, cả độ lệch chuẩn và phương sai chỉ làm việc trên không gian
một chiều thế nên trong không gian nhiều chiều ta chỉ tìm được sự phân bố dữ
liệu trên từng chiều riêng biệt. Điều chúng ta đang mong muốn là tìm mối quan
hệ giữa các chiều dừ liệu với giá trị trung bình mẫu. Do đó chúng ta sử dụng
hàm hiệp phương sai (covariance) để so sánh giữa hai chiều dữ liệu trong không
gian nhiều chiều. Ví dụ, trong không gian ba chiều (x,y,x), bằng cách sử dụng
hàm hiệp phương sai chúng ta có thể xem xét sự phân bố dữ liệu trong các chiều
(x,y),(x,z) và (y,z), giá trị của hàm hiệp phương sai giữa (x,x), (y,y) và (z,z)
cũng chính là giá trị hiệp phương sai tương úm trên x,y và z. Hàm hiệp phương
sai được tính theo công thức sau :
22
(1.18)
Với dừ liệ u trong không gian ba chiều (x,v,z), ta có thể tính được cov(x,y),
cov(x,z), cov(y,z), tổ n g quát hơn trong không gian n chiều ta có thể tính được
Trong đó
c nxn
là ma trận kích thước nxn, Dimx là chiều thứ X. Ví dụ dừ liệu
trong khônç gian ba chiều (x,y,z) có ma trận hiệp phương sai kích thước 3x3 :
Ta nhận thấy c o v (y ,x ) = c o v (x,y ) nên c là ma trận đổi xứng qua đường
chéo chính.
1.3.3 Vector riêng, giá trị riêng
Xét một toán tử tuyển tính / trong không gian Mn với các vector cơ sở :
= [0 1 0]r (giá trị 1 nằm tại vị trí thứ i, i=l, ,n). Toán tử tuyến tính này
sẽ được biểu diễn bới một ma trận vuông T kích thước n*n. Nếu tồn tại một đại
lượng vô hướng X và một vector X (x^O), sao cho thoả mãn điều kiện :
Khi đó X được gọi là giá trị riêng của f, và vector X được gọi là vector
riêng của f hay của T, ứng với trị riêng X. Ma trận T với kích thước nxn sẽ có tối
đa n trị riêng và n vector riêng tương ứng. Một ma trận T khả nghịch sẽ có đủ n
trị riêng và n vector riêng tương ứng.
~"''y các giá trị hàm hiệp phương sai khác nhau. Tập hợp tất các giá trị hiệp
phương sai của không gian N chiều ta có ma trân hiệp phương sai
c nxn
= (Cụ, Cụ = cov(D im it Dim i)),
(1.19)
f(x)=Xx
hay T*X=A,X
(1.20)
23
Nếu tồn tại một cơ sờ trong không gian E n sao cho ma trận T biểu diễn
trong cơ sở đó có dạng chéo ( các phần tử không nằm trên đường chéo có giá trị
bàng 0 ) thì ma trận đó sẽ được chéo hoá.
Giả sử c là ma trận các vector cơ sớ mới{ej}. được biếu diễn trong cơ sở
ỉ(Cj}. Ớ đây, ma trận T được chuyển từ cơ sở {ej} sang cơ sở mới {iij} nên ma
trận chuyển đối từ cơ sở {ej} sang {Uj} cũng là c. Nếu T chéo hoá tức ỉà tồn tại
ma trận c khả nghịch (tức c tạo được một cơ sở trong Rn) sao cho :
Tc = C~1TC (1.21)
có dạng chéo
Neu ta có c là một ma trận có các cột là các vector cơ sở đà được chuấn
hoá của không gian Rn thì CT = c -1, từ (1.35) ta suy ra :
Tc = CtTC (1.22)
Do đó ta có thể tìm được ma trận c để chéo hoá một ma trận T bàng cách
tìm ra các vector riêng của ma trận T, lúc đó các cột của vector c là vector riêng
của T.
1.3.4 Phương pháp phân tích thành phần chính
Khi giải bài toán nhận dạng các mẫu ta phải làm việc với các không gian
dừ liệu nhiều chiều. Nhằm cải thiện khả năng chạy của thuật toán, chúng ta sẽ
ánh xạ không gian dừ liệu nhiều chiều sang một không gian khác ít chiều hơn :
'aĩ'
\b 1]
X =
0-2
* \
giám só chiêu y —
^2
•
•
,aN.
Ỉ>K.
{K « N)
Một ưu điểm của phương pháp PCA là để giảm số chiều của dữ liệu trong
khi vẫn giữa được nhiều nhất có thể các thông tin về phân bổ dữ liệu của không
gian dừ liệu cũ.
Phương pháp PCA cho phép chúng ta ánh xạ tuyến tính các dữ liệu từ
không gian dữ liệu nhiều chiều sang không gian dữ liệu ít chiều hơn.
24
bị = + t12a2 H
h ti„a N
b2 — ^21^1 + ^22a2 + " ’ -*■ ^2naN
— tf< l a l + ^K2a2 + •” tf<NaN
^11
*12 -
Hay y=Tx trong đó T =
f21
• • t
Ï22 •••
• • • • • •
Ï-2N
« • •
£k 1
* »
*
lK 2
tf<N
* Với tập dữ liệu mẫu N chiều, ta cỏ thể biểu diễn như sau :
X = a1ví 4- a2v2 H
H
trong đó I7lf v2, , 17/v là cơ sở trong không lỉian N chiều
■ Với dữ liệu trontì không gian K chiều, ta có thể biểu diễn như sau :
X = bxu x + b2u2 + — h bKuN
trong đó u lt u 2, , UK là cơ sở trong không gian K chiều
Gọi X là vector trong không gian N chiều,
X
là một vector trong không
gian K chiều thỉ trung bình bình phương lỗi (MSE) là ||x — XII khi thực hiện
giảm số chiều từ vector X sang vector óc. Do đó, ta phải thực hiện phép chuyển
đổi sao cho lồi là nhỏ nhất. Các vector riêng được gọi là vector “tốt” nhất tương
ứng với giá trị riêng lớn nhất và được gọi ỉà thành phần chính - “principal
components”.
Các bước trong phương pháp giảm số chiều dữ liệu trong không gian dừ
liệu nhiều chiều :
Giả sử XJ,X
2
, ,XM là các vector có kích thước Nx 1
1) Tìm giá trị trung bình
= ẳf>
£ = 1
2) với mỗi dừ liệu, trừ giá trị trang bình :
<Ị>i = Xị ~ X
3) Ta có ma trận A = [<$!, <ỉ>2 — ^m] kích thước N*M, sau đó tính
25
M
— 's ' i> 0 '
m Z j " n
n=l
AA1
đỏ là ma trận hiệp phương sai của các mẫu dữ liệu, thể hiện sự phân bố dữ
liệu
4) Tính các giá trị riêng của ma trân hiệp phương sai c
À1 > Ả2 > ••• > Ả
N
5) Tính vector riêng tương ứng của ma trận hiệp phương sai c
ux > u2 > ••• > UN
Do c là đối xứng nên u x > u 2 > > UN tạo thành một sở, tức với bất kỳ
một vector X nào đều có thể viết dưới dạng một tổ hợp tuyến tính của
vector riêng :
N
X — X — biUị + b2u 2 + ••• + bKuN = bịUi
1=1
6) Tiến hành việc giảm số chiều bàng cách chỉ giừu lại K trị riêng lớn nhất
(K « N )
K
X - X = ^ bịUi
i = 1
do đó biểu diễn của vector trong toạ độ u 1, u 2, , UK là :
bi
Vậy, công thức tuyến tính chuyển RN -> R K để giảm số chiều của dữ liệu là
26
'bi
• IV
b2
—
U2
(x — x) =
bK.
Mk.
Từ hình 1.4 minh hoạ cho ý nghĩa hình học của PC A ta có thể thấy :
■ PCA chiếu dữ liệu theo chiều mà dữ liệu biến thiên nhiều nhất
■ Các hướng được xác định bới vector giá trị riêng của ma trận hiệp phương
sai mà giá trị riêng lớn nhất
■ Độ lớn của giá trị riêng phụ thuộc vào sự biến thiên của dữ liệu dọc theo
hướng của vector riêng
■ Vector gốc X có thể được xây dựng lại bằng cách sử dụng các thành phần
chính của nó :
K
Ể=1
+ X
Do đó cơ sở trong không gian (có sổ chiều ít hơn) nếu dựa trên các thành
phần chính thì sẽ làm tối thiếu lỗi xây dựng lại.
L7 i e w
*11
Ta có thể tính được
N
i=K +1
Để tìm được K, ta nên chọn một ngưỡng sao cho
S T 7 > N gưỡng
(ví dụ ngưỡng bằn 0,9 hay 0,95)