Nhằm tìm hiểu các kỹ thuật phân tích thống kê mới này, bản luận văn tậptrung vào 2 kỹ thuật đang được sử dụng rộng rãi hiện nay, đó là kỹ thuậtphân tích phân biệt và kỹ thuật Support vec
Trang 1đại học quốc gia hà nội
trờng đại học khoa học tự nhiên
-Lờ Thị Thanh Hà
MỘT SỐ KỸ THUẬT HIỆN ĐẠI TRONG PHÂN
TÍCH THỐNG Kấ NHIỀU CHIỀU
Luận văn thạc sĩ khoa học
Hà Nội-2013
Trang 2đại học quốc gia hà nội
trờng đại học khoa học tự nhiên
-Lờ Thị Thanh Hà
MỘT SỐ KỸ THUẬT HIỆN ĐẠI TRONG PHÂN
TÍCH THỐNG Kấ NHIỀU CHIỀU
Chuyờn ngành: Lý thuyết xỏc suất và thống kờ toỏn học
Trang 3Mục lục
Lời cảm ơn
Lời nói đầu
1 Phân tích phân biệt tuyến tính
1.1 Quy tắc phân loại Bayes
1.1.11.1.21.1.31.1.41.2 Phân biệt Logistic
1.2.11.2.2
2 Support Vector Machine
2.1 Support vector machine tuyến tính
2.1.12.1.22.2 Support vector machine phi tuyến
2.2.12.2.22.2.32.2.42.3 Support vector đa lớp
2.3.12.3.2
ii
Trang 43 Một số ví dụ thực tế
3.1 Minh họa về phân tích phân biệt tuyến tính
3.2 Ứng dụng SVM để phân loại email và spam
3.3 Dữ liệu chẩn đoán ung thư vú Wisconsin
Kết luận
Tài liệu tham khảo
Trang 5Lời mở đầu
Cách đây không lâu, phân tích đa biến chỉ bao gồm các phương pháp tuyếntính minh họa trên các bộ dữ liệu nhỏ và vừa Hơn thế nữa, tính toán thống kê
có nghĩa là xử lý hàng loạt và chủ yếu được thực hiện trên một máy tính lớn tại
cơ sở máy tính từ xa Kể từ những năm 1970, tương tác tính toán mới chỉ bắtđầu được khởi sắc và phân tích dữ liệu thăm dò là một ý tưởng mới Trong cácthập kỷ tiếp sau, chúng ta đã thấy được một số phát triển đáng kể trong khảnăng tính toán địa phương và lưu trữ dữ liệu Một số lượng lớn các dữ liệuđang được sưu tập, lưu trữ, quản lý và tương tác với các gói phần mềm thống
kê cho phép việc phân tích dữ liệu phức tạp được thực hiện dễ dàng
Ngày nay, các dữ liệu khổng lồ đã trở thành tiêu chuẩn để làm việc hơn
là bị đặt ở trường hợp ngoại lệ và thống kê là một môn khoa học được thayđổi để theo kịp với sự phát triển này Thay vì phụ thuộc quá nhiều vào kiểmtra giả thuyết truyền thống, sự chú ý đang được tập trung vào thông tin hoặckhám phá kiến thức Theo đó, chúng ta thấy một số tiến bộ gần đây trongphân tích đa biến bao gồm các kỹ thuật từ khoa học máy tính, trí thông minhnhân tạo và lý thuyết học máy Tuy nhiên, nhiều trong số các kỹ thuật mớinày vẫn còn đang trong giai đoạn mở đầu, chờ lý thuyết thống kê để bắt kịpđồng thời còn chưa được phổ dụng mặc dù rất hiệu quả
Nhằm tìm hiểu các kỹ thuật phân tích thống kê mới này, bản luận văn tậptrung vào 2 kỹ thuật đang được sử dụng rộng rãi hiện nay, đó là kỹ thuậtphân tích phân biệt và kỹ thuật Support vector machines Ngoài phần mởđầu, kết luận và tài liệu tham khảo, luận văn gồm có 3 chương:
Chương 1: "Phân tích phân biệt" trình bày các kỹ thuật phân loại của
phương pháp phân tích phân biệt bao gồm quy tắc phân loại Bayes và phânbiệt Logistic Xuất phát là quy tắc phân loại cho bài toán nhị phân sau một
Trang 6số trường hợp đặc biệt sẽ là quy tắc phân loại cho bài toán đa lớp
Chương 2: "Support Vector Machines" Trong chương này, chúng ta sẽ
mô tả support vector machines tuyến tính và phi tuyến giống như lời giải của bài toán phân loại nhị phân Support vector phi tuyến kết hợp các phép biến đổi không tuyến tính của các vectơ đầu vào và sử dụng các thủ thuật kernel để có thể tính toán đơn giản hơn Mặc dù phương pháp support vector được xây dựng đặc biệt cho trường hợp phân loại nhị phân nhưng chúng ta cũng nỗ lực để mở rộng phương pháp cho bài toán đa lớp
Chương 3: "Một số ví dụ thực tế"
Hà nội, ngày 22 tháng 02 năm 2013
Trang 7Chương 1
Phân tích phân biệt tuyến tính
Xét một tập L các quan sát nhiều chiều và giả thiết rằng mỗi quan sát đượclấy từ lớp K xác định nào đó có các tính chất đặc trưng Các lớp này có thểđồng nhất, ví dụ như loài thực vật, mức độ tín nhiệm của khách hàng, sự hiệndiện hay vắng mặt của 1 tình trạng y tế cụ thể, quan điểm về kiểm duyệtInternet hoặc email spam Để phân biệt các lớp đã biết từ nhữn g lớp khácnhau, chúng ta sẽ liên kết 1 lớp nhãn duy nhất (hoặc 1 giá trị đầu ra) với mỗilớp; sau đó, quan sát sẽ được mô tả giống như là các quan sát đã gán nhãn.Trong mỗi tình huống, chúng ta sẽ nhằm vào 2 mục đích chính
• Phân biệt: Chúng ta sẽ sử dụng thông tin trong một tập dữ liệu các
quan sát đã gán nhãn để xây dựng nên một "quy tắc phân loại" mà sẽtách được các lớp một cách tốt nhất có thể
chưa được gán nhãn, chúng ta sẽ sử dụng quy tắc phân loại để dự
đoán lớp của quan sát đó
Một quy tắc phân loại là một tổ hợp của các biến đầu vào Khi có 2 lớp (K =2), chúng ta sẽ chỉ cần 1 quy tắc phân loại và khi có lớn hơn 2 lớp (K > 2),chúng ta sẽ cần ít nhất là 2 và nhiều nhất là K − 1 quy tắc phân loại để phânbiệt các lớp và dự đoán lớp của quan sát mới
Để hiểu rõ hơn, chúng ta sẽ xem xét một ví dụ về chuẩn đoán y tế sau đây.Nếu một bệnh nhân vào phòng khẩn cấp với vấn đề đau dạ dày nghiêm trọng
1
Chương 1 Phân tích phân biệt tuyến tính
Trang 8và các triệu chứng phù hợp với cả ngộ độc thực phẩm và viêm ruột thừa thì
1 quyết định đặt ra đó là " loại bệnh nào phù hợp với bệnh nhân hơn?" thìsau đó bệnh nhân mới được điều trị Trong bài toán này, chúng ta thấy rằng,hướng điều trị thích hợp cho nguyên nhân gây bệnh này sẽ là phương phápđối lập với nguyên nhân gây bệnh còn lại: viêm ruột thừa đòi hỏi phải phẫuthuật trong khi ngộ độc thực phẩm thì không, đồng thời việc chẩn đoán sai
có thể gây ra tử vong Theo kết quả của các thử nghiệm lâm sàng, bác sỹquyết định khi một quá trình điều trị có thể tối đa hóa khả năng thành công Nếu tổ hợp các kết quả kiểm tra nhắm vào một hướng cụ thể thì phẫu thuậtđược khuyến khích; ngược lại, các bác sỹ sẽ đề xuất điều trị không phẫuthuật Khi đó, một "quy tắc phân loại" sẽ được xây dựng từ các kinh nghiệmdựa trên kết quả điều tra của các bệnh nhân điều trị trước Quy tắc phânloại càng đáng tin cậy thì cơ hội chẩn đoán thành công càng lớn đối với mộtbệnh nhân mới trong tương lai
1.1 Quy tắc phân loại Bayes
Đầu tiên chúng ta xét bài toán phân loại 2 lớp (K = 2), trong đó chúng tamong muốn phân biệt giữa 2 lớp Π1, Π2
Cho
P (X ∈ Πi) = πi, i = 1, 2,
là xác suất tiên nghiệm mà 1 quan sát ngẫu nhiên được lựa chọn X = xthuộc Π1 hoặc Π2 Giả sử, mật độ xác xuất đa biến có điều kiện của X vớilớp thứ i là
P ({X = x|X ∈ Πi}) = fi(x), i = 1, 2Theo định lý Bayes, chúng ta thu được xác suất hậu nghiệm
p(Πi|x) = P (X ∈ Πi|X = x) =
Như vậy, với một x cho trước, chúng ta có ý tưởng phân loại đó là gán x vàolớp mà có xác suất hậu nghiệm cao hơn Quy tắc này được gọi là quy tắc phânChương 1 Phân tích phân biệt tuyến tính
Trang 9loại Bayes Hay nói cách khác, chúng ta sẽ gán x vào Π1 nếu
và gán vào Π2 nếu ngược lại Thay (1.3) vào (1.4), chúng ta có quy tắc phân
loại
Trên biên {x ∈
lớp
Bây giờ chúng ta sẽ làm quy tắc phân lớp Bayes chính xác hơn bằng giảthiết Fisher rằng cả 2 mật độ xác suất nhiều chiều trong (1.2) là Gauss, cóvectơ trung bình tùy ý
(a) Trường hợp có ma trận covariance chung Tức là, f1( ) là 1 mật độ Nr(
1, Σ1) và f2( ) là mật độ Nr( 2, Σ2), trong đó Σ1 = Σ2 = ΣXX Tỷ số hai mật độ
f1(x)
f2(x)Suy ra
loge
Như vậy
L(X) = loge{
Trang 10b = ΣXX−1 ( 1 −
Trang 11Chương 1 Phân tích phân biệt tuyến tính
Khi đó
L(X) = b0 + bT x
Quy tắc phân loại
Quy tắc phân loại
Trên biên {x ∈ Rr|L(X) = 0}, phương trình kết quả là tuyến tính trong x và do
đó, xác định một siêu phẳng phân tách 2 lớp Quy tắc (1.10) được gọi là phân tích phân biệt tuyến tính Gauss(LDA) Biểu thức
U = bT x = ( 1 − 2)T ΣXX−1 x,được gọi là hàm phân biệt tuyến tính Fisher(LDF)
Tổng xác suất phân loại sai
LDF chia không gian đặc trưng Rr thành 2 lớp rời nhau R1, R2 Nếu x rơivào R1, ta gán nó vào Π1 trong khi nếu x rơi vào R2, ta sẽ gán nó vào Π2.Bây giờ, chúng ta quan tâm tới xác suất phân loại sai x
x sẽ bị phân loại sai nếu x được gán vào Π2 nhưng thực sự nó lạithuộc Π1 hoặc x được gán vào Π1 nhưng thực sự nó lại thuộc vào Π2.Khoảng cách Mahalanobis giữa Π1 và Π2 được định nghĩa là
2 =( 1− 2)TΣXX−1
Ta có
E(U|X ∈ Πi) = bTvà
var(U|X ∈ Πi) = bT ΣXX b =Đặt
i)
∼N(0; 1)
var(U|X ∈ Πi)Chương 1 Phân tích phân biệt tuyến tính
Trang 12Khi đó tổng xác suất phân loại sai là
(1.16)
(1.17)
Trang 13và do đó P () = 2
dốc xuống Như mong đợi, nó có giá trị 1 khi = 0 (2 phần tử là đồng nhất)
và tiến tới 0 khi
phần tử càng lớn thì càng ít có khả năng phân loại sai x
Kịch bản lấy mẫu
Thông thường, có 2r +
chưa biết nhưng có thể được ước lượng từ tập dữ liệu trên X Giả sử rằngchúng ta có các mẫu độc lập từ 2 lớp Π1, Π2 Cho {X1j } là mẫu kích thước
n1 lấy từ Π1 và cho {X2j } là mẫu kích thước n2 lấy từ Π2
Các kịch bản khác nhau dưới đây là có khả năng khi lấy mẫu từ phần tử của
P :
Chương 1 Phân tích phân biệt tuyến tính
1. Lấy mẫu có điều kiện, trong đó 1 mẫu kích thước cố định n = n1 + n2
là được lựa chọn ngẫu nhiên từ P, và tại x cố định có n1(x) quan sát từ
Πi, i = 1, 2 Kịch bản lấy mẫu này thường xuất hiện trong sinh trắcnghiệm
2. Lấy mẫu hỗn hợp, trong đó 1 mẫu kích thước cố định n = n1 + n2 làđược lựa chọn ngẫu nhiên từ P, thỏa mãn n1, n2 được lựa chọn ngẫunhiên Điều này khá thông thường trong nghiên cứu sự phân biệt
3. Lấy mẫu tách, trong đó mẫu kích thước ni cố định được lựa chọn ngẫunhiên từ Πi, i = 1, 2, và n = n1 + n2 Đây là kịch bản phổ biến nhất.Trong cả 3 kịch bản, các ước lượng hợp lý nhất của b0, b có thể thu được (Anderson, 1982)
Các ước lượng mẫu
Các ước lượng ML của
ˆiˆ
ΣXX
trong đó
Trang 14SXX = SXX(1) + SXX(2)
ni
SXX(i) = (Xij − Xi)(Xij − Xi)T , i = 1, 2; n = n1 + n2
j=1
Nhận xét 1.1.2 Nếu chúng ta muốn ước lượng không chệch của ΣXX , chúng
ta chia SXX trong (1.20) cho bậc tự do của nó n − 2 = n1 + n2 − 2 để thu được
ΣXX
Nếu π1, π2 chưa biết, chúng ta có thể sử dụng ước lượng
πˆiThay thế các ước lượng này vào L(X) trong (1.9) thu được
ˆL(x) = b0
Trang 15Chương 1 Phân tích phân biệt tuyến tính
ước lượng LDF Fisher
sẽ tìm hiểu xem quy tắc phân lớp (1.10) sẽ thay đổi như thế nào nếu ma
trận covariance của 2 dữ liệu Gauss là khác nhau Nghĩa là, Σ1 = Σ2
Trong trường hợp này (1.7) trở thành
loge
trong đó c0, c1 là các hằng số mà chỉ phụ thuộc vào tham số 1,
số hợp lý log (1.28) có dạng 1 hàm bậc 2 của x Trong trường hợp này, lập
Chú ý rằng
Trang 16(1.30)(1.31)(1.32)
(1.33)
Trang 17Chương 1 Phân tích phân biệt tuyến tính
Hàm Q(x) được gọi là hàm phân biệt bậc 2(QDF) và quy tắc phân lớp (1.33)được gọi là phân tích phân biệt bậc 2 (QDA) Biên {x ∈ Rr|Q(x) = 0} màtách 2 lớp là một hàm bậc 2 của x
Ước lượng hợp lý cực đại (ML)
Nếu r + 3 tham số phân biệt trong 1, 2, Σ1 và Σ2 là chưa biết và π1, π2 cũngchưa biết (1 tham số điều kiện), chúng có thể được ước lượng bằng cách sử
dụng mẫu ở phía trên với ngoại lệ của ma trận covariance, trong đó ước lượngcủa Σi là
=
β = Σ1−1X1 − Σ2−1X2
và c1 là ước lượng của số hạng đầu tiên trong (1.28)
Do quy tắc phân loại Q(x) phụ thuộc vào nghịch đảo của Σ1 và Σ2, nó chỉ
ra rằng nếu cả n1 hoặc n2 nhỏ hơn r thì Σi (i = 1 hoặc 2) sẽ suy biến và QDAthất bại
Các kết quả phía trên cũng có thể thu được bằng cách sử dụng hồi quy bội
Ý tưởng là chúng ta tạo ra một biến chỉ số Y biểu diễn các quan sát mà rơi vào các lớp tương ứng, sau đó hồi quy Y trên vectơ đặc trưng X
Cho
Y =
Trang 19Chương 1 Phân tích phân biệt tuyến tính
là ma trận (r × n), trong đó X1 là ma trận (r × n1) của các quan sát từ Π1 và
X2 là (r × n2) ma trận của các quan sát từ Π2 Cho
Trang 20là thống kê Hotelling T 2, mà được sử dụng để kiểm tra giả thuyết
sử tính chuẩn tắc đa biến
(n − r − 1
)T 2 ∼ Fr,n−r−1r(n − 2)
khi giả thuyết này là đúng Chú ý rằng D2 = DT ΣX X
ước lượng của 2 Từ (1.24) và (1.52), ta có
ˆβ
(1.54)
−1 Dlà tỷ lệ thuận với 1
(1.55)
Trang 21trong đó, hằng số tỷ lệ là
nhận bởi Fisher(1936) Do đó, chúng ta có thể thu được ước lượng FisherLDF (1.24) thông qua hồi quy bội
Bây giờ chúng ta giả sử rằng, các phần tử sẽ được chia vào K > 2 lớprời nhau Xét ví dụ về phân loại văn bản Ở mức độ đơn giản nhất của xử lýthông tin, chúng ta cần lưu và phân loại các file, email và URL Với mức độphức tạp hơn, chúng ta cần gán các mục tin tức, computer FAQs, an ninhthông tin, xác định tác giả, nhận dạng thư rác, để phân loại
Cho
p(X ∈ Πi) = πi, i = 1, , K,
Trang 22Chương 1 Phân tích phân biệt tuyến tính
là xác suất tiên nghiệm của một quan sát ngẫu nhiên được chọn X mà thuộcvào mỗi lớp khác nhau và cho
p(X = x|X ∈ Πi) = fi(x), i = 1, , K,
là mật độ xác suất nhiều chiều cho mỗi lớp Kết quả xác suất hậu nghiệm
mà 1 quan sát x thuộc lớp thứ i được cho bởi
p(Πi|x) = p(X ∈ Πi|X = x) =
Quy tắc phân loại Bayes cho K lớp là gán x vào lớp có xác suất hậu nghiệmlớn nhất Do mẫu số của (1.58) là như nhau với mọi Πi, i = 1, 2, , K, nênchúng ta sẽ gán x vào Πi nếu
fi(x)πi = max fj (x)πj
1≤j≤K
Nếu cực đại trong (1.59) là không xác định duy nhất 1 lớp mà x được gánvào thì chúng ta sẽ sử dụng phép gán ngẫu nhiên để phá vỡ ràng buộc giữacác lớp thích hợp
Do đó, x được gán vào Πi nếu fi(x)πi > fj (x)πj, ∀j = i hoặc tương đương nếuloge(fi(x)πi) > loge(fj(x)πj ), ∀j = i Quy tắc phân loại Bayes có thể được xácđịnh ở một dạng tương đương bởi cặp so sánh các xác suất hậu nghiệm.Chúng ta định nghĩa "log −odds" mà cho biết x sẽ được gán vào Πi chứ không
phải Πj như sau
L
Do đó, chúng ta gán x vào Πi nếu Lij (x) > 0, ∀j = i Chúng ta xác định vùngphân lớp R1, R2, , RK mà
Ri = {x ∈ Rr|Lij (x) > 0; j = 1, , K; j = i}, i = 1, , K
Lập luận này có thể chính xác hơn bằng cách giả thiết rằng lớp thứ i Πi mà fi( )
là mật độ N ( i, Σi) trong đó i là r vector và Σi là ma trận (r × r) covariance, (i = 1,
Trang 232, , K) Chúng ta giả thiết sâu hơn rằng ma trận covariance cho K lớp là đồngnhất Σ1 = = ΣK và bằng ma trận covariance chung ΣXX Dưới giả
Chương 1 Phân tích phân biệt tuyến tính
thiết Gauss nhiều biến, log −odds của việc gán x vào Πi (phản đối Πj ) làmột hàm tuyến tính của x,
Lij (x) = b0ij + bijT x,trong đó
bij = ( i − j)T ΣXX−1
b0ij = −
Do Lij (x) là tuyến tính theo x, các Ri trong (1.61) chia không gian r chiều bởi các siêu phẳng
Ước lượng hợp lý cực đại
Thông thường, vector trung bình và ma trận covariance chung sẽ chưa biết
Trong trường hợp đó, chúng ta ước lượng Kr + r(r + 1)
tham số phân biệt 2bằng cách lấy mẫu từ mỗi K lớp Do đó, từ lớp thứ i, chúng ta lấy ni quan sát
Xij , j = 1, 2, , ni trên r vecttơ mà sau đó được lập thành ma trận dữ liệu
,XK1, , XK,n K ) (1.66) được cho bởi rvector
Trang 24Xi = ni−1Xi1n i = ni−1 Xij , i = 1, 2, , K,
và K vector đó được sắp xếp thành ma trận
r×n
X = (X1, , X1, , XK , , XK)
Trang 25r×n
Xc = X − X = (X1Hn 1
Trang 26Chương 1 Phân tích phân biệt tuyến tính
trong đó Hn j là (nj × nj) ma trận trung tâm Do đó, chúng ta tính toán
r×r
SXX = XcXcT =Bây giờ, chúng ta xét phân tích
Xij − X = (Xij − Xi) + (Xi − X),cho quan sát thứ j trong lớp thứ i, trong đó
K
X = n−1X 1n = n−1
i=1 j=1
là toàn bộ vector giá trị trung bình bỏ qua các lớp đồng nhất Nhân vào bên
phải 2 vế của (1.71) với chuyển vị tương ứng và lấy tổng trên toàn bộ n
quan sát và chú ý rằng, số hạng tích trực giao là biến mất, chúng ta đi tới
phân tích nhiều chiều cùng phương sai đồng nhất (MANOVA)
STOT = SB + SW,trong đó STOT , SB và SW được cho bởi bảng trên
Bảng 1.1: Bảng phân tích ma trận hiệp phương sai đa biến cho K lớp Π1, Π2, ,
ΠK , khi có một mẫu ngẫu nhiên của ni quan sát được lấy từ Πi, i = 1, 2, , K
Source of variationBetween classes
Within classes
Do đó, toàn bộ ma trận covariance của các quan sát, STOT có n − 1 bậc tự
do và được tính toán bằng cách bỏ đi các lớp đồng nhất, được phân thành 1
phần ma biểu diễn ma trận covariance giữa các lớp SB, có K − 1 bậc tự do và
Trang 27Chương 1 Phân tích phân biệt tuyến tính
1 phần khác biểu diễn ma trận covariance hợp nhất các lớp, SW(= SXX ), có
n − K bậc tự do Một ước lượng không chệch của ma trận covariance chung
ΣXX của K lớp được cho bởi
ΣXX = (n − K)−1SW = (n − K)−1SXX Nếu chúng ta cho fi(x) = fi(x, ηi), trong đó ηi là một r vector của các tham sốchưa biết và giả sử rằng {πi} đã biết, xác suất hậu nghiệm (1.58) được ướclượng bởi
pˆ(Πi|x) =
fj(x, ηˆj )πj
j=1
trong đó, ηˆi là 1 ước lượng của ηi Do đó, quy tắc phân lớp là gán x vào Πi nếu
quy tắc này thường được gọi là quy tắc phân loại "plugin"
Nếu {fi( )} là mật độ Gauss nhiều chiều và ηi = (
mẫu của Lij (x) được cho bởi
trong đó,
boij = −
Chúng ta ước lượng tiên nghiệm πi bởi ước lượng tỷ lệ πi =
Quy tắc phân loại chuyển thành
gán x vào Πi nếu Lij (x) > 0; j = 1, 2, , K; j = i
Nói cách khác, chúng ta gán x vào lớp Πi với giá trị lớn nhất của Lij (x)
Trong trường hợp có ma trận covariance không thể được giả thiết như nhau,ước lượng vector trung bình thu được bằng cách ước lượng (1.67) và ma trận
Trang 28Chương 1 Phân tích phân biệt tuyến tính
covariance lớp thứ i, Σi, được ước lượng bới ước lượng hợp lý cực đại của nó
ni
Σi = ni−1 (Xij − Xi)(Xij − XiT ), i = 1, 2, , K
j=1
Như vậy, chúng ta sẽ có Kr + Kr(r+ 1)
tham số phân biệt cần ước lượng và 2
nếu r lớn thì đây sẽ là một sự gia tăng đáng kể so với thực hiện LDA Cáckết quả phân tích phân biệt bậc 2 (QDA) là tương tự với trường hợp 2 lớpnếu chúng ta quyết định dựa vào so sánh loge fi(x), i = 1, 2, , K − 1 vớiloge fK (x) đã nói
1.2 Phân biệt Logistic
Chúng ta thấy rằng từ (1.9) và thực tế rằng p(Π2|x) = 1−p(Π1|x) tại X = x,
mà mật độ xác suất hậu nghiệm thỏa mãn
có dạng một mô hình hồi quy logistic Tiếp cận logistic để phân biệt giả thiếtrằng tỷ lệ hợp lý log (1.9) có thể được mô hình như 1 hàm tuyến tính của x.Nghịch đảo (1.82), chúng ta có
2|x) =
1 +eL( X )
trong đó,
(1.83)(1.84)
Trang 29Chúng ta có thể viết (1.83) là
trong đó, σ(u) =
Ước lượng hợp lý cực đại
Chương 1 Phân tích phân biệt tuyến tính
Bây giờ chúng ta viết p(Π1|x) là p1(x, β0, β) và tương tự với p2(x, β0, β) Do
đó, thay vì ước lượng 1, 2 đầu tiên và ΣXX như đã làm trong (1.20) và (1.21)
để ước lượng β0 và vector hệ số β, chúng ta sẽ ước lượng trực tiếp thôngqua (1.82) Chúng ta định nghĩa biến đáp ứng Y như sau
Y =
Các giá trị của Y là các nhãn lớp Điều kiện trên X, biến ngẫu nhiên Bernoully
Y có P (Y = 1) = π1 và P (Y = 0) = 1 − π1 = π2 Do đó, chúng ta nghiên cứutrong mô hình dữ liệu nhị phân và cách thông thường chúng ta thực hiện điều
này là thông qua hồi quy logistic
Cho trước n quan sát, (Xi, Yi), i = 1, 2, , n trên (X, Y ), điều kiện hợp lý cho (β0, β) có thể được viết là
khi đó điều kiện hợp lý
Các ước lượng hợp lý cực đại, β0, β của (β0, β) thu được bằng cách cựcđại ℓ(β0, β) theo β0, β Thuật toán cực đại được rút thành một phiên bản lặpcủa quy trình bình phương tối thiểu có trọng số trong đó các trọng số và cácphản ứng được cập nhật tại mỗi bước tương tác Chi tiết của thuật toán lặpbình phương tối thiểu đánh lại trọng số được trình bày ở mục sau
Trang 30Ước lượng hợp lý cực đại β0, β có thể đưa vào (1.85) để đưa ra 1 ướclượng khác của LDF,
L(x) = β0 + βT x
Quy tắc phân lớp
x ∈ Π1, nếu L(x) > 0
x ∈ Π2, nếu L(x) < 0,
Chương 1 Phân tích phân biệt tuyến tính
được gọi là phân tích phân biệt logistic
Chúng ta chú ý rằng cực đại (1.90) nói chung sẽ không thu được cùng ướclượng cho β0, β như chúng ta tìm được trong (1.24) và (1.25) cho FisherLDF Một quy trình phân lớp tương đương là để sử dụng L(x) trong (1.91)
để ước lượng xác suất p(Π1|x) trong (1.83) Thay thế L(x) vào (1.83) thuđược ước lượng
p(Π1
vì vậy x được gán vào Π1 nếu p(Π1|x) là lớn hơn giá trị cắt nào đó, giả sử0.5 và x được gán vào Π2 nếu ngược lại
Thuật toán bình phương tối thiểu đánh lại trọng số lặp
Để rõ ràng hơn, chúng ta định nghĩa lại r vector xi và β như (r + 1)vectorsau: xi ←− (1, xTi )T và β ←− (β0, βT )T Do đó, β0 + βT xi có thể được viết gọnhơn là βT xi Chúng ta cũng viết p1(xi, β0, β) là p1(xi, β) và ℓ(β0, β) là ℓ(β)
Đạo hàm (1.90) và cho đạo hàm bằng 0 thu được phương trình điểm
ℓ(β) =Đây là r + 1 phương trình không tuyến tính trong r + 1 tham số logistic β
Từ (1.93), chúng ta thấy rằng n1 =
Các phương trình (1.93) được giải quyết bằng cách sử dụng thuật toán bìnhphương tối thiểu đánh lại trọng số lặp (IRLS) Đạo hàm cấp 2 của ℓ(β) đượccho bởi ma trận (r + 1) × (r + 1) Hessian
∂2ℓ(β)
Trang 31Thuật toán IRLS được dựa trên việc sử dụng tiếp cận lặp Newton Raphson
để tìm ước lượng ML
Thuật toán bắt đầu với β0 = 0 Sau đó, bước thứ k + 1 trong thuật toánthay thế lặp thứ k β(k) bởi
β(k+1) = β(k) − ℓ (β)
Trang 32Chương 1 Phân tích phân biệt tuyến tính
trong đó các đạo hàm được tính tại β(k)
Sử dụng ký hiệu ma trận, chúng ta lập
X = (X1, , Xn), Y = (Y1, , Yn)T ,lần lượt là ma trận dữ liệu ((r + 1) × n) và nvector, và cho W = diag{wi} là matrận trọng số đường chéo (n × n) với phần tử thứ i trên đường chéo đượccho bởi
wi = p1(xi, β)(1 − p1(xi, β)), i = 1, 2, , n
vector điểm của các đạo hàm cấp 1 của (1.93) và ma trận Hessian (1.94) có thể
được viết lại lần lượt là
ℓ(β) = X (Y − p1), ℓ(β) = −X WX T ,trong đó, p là n vector
Do đó, (1.95) có thể được viết là
β(k+1) = β(k) + (X WX T )−1X (y − p1)
= (X WX T )−1X W{X T β(k) + W−1(y − p1)}
= (X WX T )−1X WZ.trong đó,
là một n vector Phần tử thứ i của z được cho bởi
Chương 1 Phân tích phân biệt tuyến tính
Trang 33Nhận xét 1.2.1 Phân tích phân biệt Gauss hay Phân biệt logistic
So sánh lý thuyết và thực tiễn giữa 2 loại phân biệt chúng ta rút ra một vàikhác biệt dưới đây
1. Điều kiện hợp lý log (1.90) là có hiệu lực dưới các giả thiết của họ hàm
mũ trên f ( ) (bao gồm mô hình Gauss đa biến với cùng ma trậncovariance) Điều này cho thấy rằng phân biệt logistic là tốt hơn phântích phân biệt Gauss khi không có giả thiết chuẩn
2. Các nghiên cứu mô phỏng đã chỉ ra rằng khi giả thiết về phân phốiGauss hoặc giả thiết cùng ma trận covariance không được thỏa mãnthì phân biệt logistic thực hiện tốt hơn
3. Phân tích phân biệt logistic là tiệm cận ít hiệu quả hơn phân tích phânbiệt Gauss bởi vì Gauss LDA được dựa trên đầy đủ ML hơn là điềukiện ML
4. Tại điểm mà chúng ta kỳ vọng phân biệt tốt sẽ diễn ra, phân biệtlogistic đòi hỏi một kích thước mẫu lớn hơn Gauss LDA để đạt đượccùng phân phối tỷ lệ sai số (Efron, 1975) và kết quả này mở rộng tớiLDA bằng cách sử dụng 1 họ hàm mũ với ước lượng plugin
Phương pháp phân biệt logistic mở rộng cho trường hợp đa lớp (> 2) Đặt ui = loge{fi(x)πi}, chúng ta có thể biểu diễn (1.58) dưới dạng
p(Πi|x) =Trong ngôn ngữ thống kê, (1.100) được biết là mô hình logistic bội, trong khi
ở ngôn ngữ mạng neural, nó được gọi là hàm kích hoạt mũ chính tắc (hoặc softmax) Mặt khác, chúng ta có thể viết
σi =
Chương 1 Phân tích phân biệt tuyến tính
trong đó, ωi = ui −log{ euk } nên σi là 1 tổng quát của hàm kích hoạt sigmoid
k=i
Trang 34Giả sử chúng ta tùy ý thiết kế lớp cuối cùng (ΠK ) là 1 lớp tham khảo vàgiả thiết phân phối Gauss với ma trận covariance chung Khi đó, chúng tađịnh nghĩa
trong đó,
b0i = −Nếu chúng ta chia cả tử và mẫu của (1.100) cho eu K và sử dụng (1.102) thìxác suất tiên nghiệm có thể được viết là
Nếu chúng ta viết fi(x) = fi(x, ηi), trong đó ηi là một r vector của các tham sốchưa biết, thì chúng ta sẽ ước lượng ηi bởi ηi và fi(x) bởi fi(x) = fi(x, ηi) Quytắc phân lớp được thực hiện một cách tương tự đó là chúng ta sẽ gán x vàolớp mà cực đại fi(x, ηi), i = 1, 2, , K Quy tắc này được gọi là quy tắc phânbiệt logistic bội
Trang 35Chương 2
Support Vector Machine
2.1 Support vector machine tuyến tính
là 1 quy tắc phân loại
Như vậy, hàm tách f chia mỗi điểm mới x trong tập kiểm tra T vào mộttrong hai lớp Π+ hoặc Π− phụ thuộc vào liệu C(x) là +1 (nếu f (x) ≥ 0) hoặc
−1 (nếu f (x) < 0) Mục đích ở đây là để có 1 hàm f mà gán tất cả các điểmdương trong tập T (ví như những điểm có y = +1) vào Π+ và tất cả các điểm
âm trong T (y = −1) vào Π− Trong thực hành, chúng ta biết rằng không cókhả năng phân loại đúng 100%
Đầu tiên, xét trường hợp đơn giản nhất: Giả sử các điểm dữ liệu dương(yi = +1) và âm (yi = −1) từ tập dữ liệu L có thể được tách bởi một siêuphẳng
{x : f (x) = β0 + xT β = 0},
21
Chương 2 Support Vector Machine
Trang 36trong đó β là vector hệ số với chuẩn Euclid β
ngưỡng) Nếu siêu phẳng có thể chia tập dữ liệu vào 2 lớp mà không có lỗithì siêu phẳng được gọi là siêu phẳng tách Như vậy, rõ ràng là một số vôhạn các siêu phẳng tách như vậy Vấn đề đặt ra là làm sao có thể xác địnhsiêu phẳng tách tốt nhất
Xét siêu phẳng bất kỳ Gọi d− là khoảng cách ngắn nhất từ siêu phẳng táchtới điểm dữ liệu âm gần nhất và d+ là khoảng cách ngắn nhất cũng từ siêuphẳng đó tới điểm dữ liệu dương gần nhất Do đó, biên của siêu phẳng táchđược xác định như d = d− + d+ Ta thấy rằng, nếu khoảng cách của siêu phẳng
và các quan sát gần nhất là max thì siêu phẳng này sẽ là tách tối ưu
Nếu dữ liệu đầu vào từ 2 lớp là phân chia tuyến tính thì tồn tại β0 và βthỏa mãn
β0
β0
Nếu có vector dữ liệu trong L mà đẳng thức (2.4) xảy ra thì vector dữ liệu đónằm trên siêu phẳng H+ : (β0 − 1) + xT β = 0; tương tự nếu có vector dữ liệutrong L mà đẳng thức (2.5) đúng thì vector dữ liệu đó nằm trên siêu phẳng
Chương 2 Support Vector Machine
Do đó, biên của siêu phẳng tách là d =
Trang 37Bất đẳng thức (2.4) và (2.5) được viết lại dưới dạng
yi(β0 + xiT β) ≥ +1; i = 1, 2, , n
Hình 2.1: Support vector machines: trường hợp tách tuyến tính Các điểm đỏ tương ứng với các điểm dữ liệu có y = −1 và các điểm xanh tương ứng với các điểm dữ liệu
điểm dữ liệu nằm trên siêu phẳng H−1 và H+1 Biên của siêu phẳng là d =
Định nghĩa 2.1.2 Đại lượng yi(β0 + xTi β) được gọi là biên của (xi, yi) đối với siêu phẳng (2.3), i = 1, 2, , n.
Như vậy chúng ta thấy rằng xi là một support vector nếu biên của nó bằng
1 Bài toán đặt ra Tìm siêu phẳng tách tối ưu, cụ thể là tìm siêu phẳng mà
mà cực đại biên
với điều kiện
Trang 38Chương 2 Support Vector Machine
Chúng ta sẽ giải quyết bài toán này bằng cách sử dụng nhân tử
Lagrange Xét hàm gốc
FP (β0, β, α) =trong đó
là n vector (không âm) các hệ số Lagrange Chúng ta cần cực tiểu F theo
biến gốc β0, β và do đó là cực đại kết quả cực tiểu F theo biến đối ngẫu α
Karush Kuhn Tucker đưa ra điều kiện cần và đủ cho lời giải của bài toán tối
ưu có điều kiện Với bài toán gốc, β0, β, α phải thỏa mãn
Trang 39=
Trang 40Chương 2 Support Vector Machine
n
i=1
Biểu thức (2.20) được gọi là hàm đối ngẫu của bài toán tối ưu Chúng ta
cần tìm các nhân tử Lagrange bằng cách cực đại hàm đối ngẫu (2.20) với
các ràng buộc (2.16) và (2.18) Bài toán cực đại có ràng buộc (đối ngẫu
Wolfe) có thể được viết ở dạng ma trận như dưới đây
Bài toán Tìm α để
cực đại FD(α) = 1nT α −với ràng buộc
α > 0; αT y = 0,trong đó y = (y1, , yn)T và H = (Hij) là ma trận vuông cấp n với Hij =
yiyj (xTi xj )
Nếu α là lời giải của bài toán thì
β =
i=1
thu được vector hệ số tối ưu Nếu αi > 0 thì từ (2.17) chúng ta có yi(β0 ∗ +
xTi β∗) = 1, và do đó xi là 1 support vector Từ đây, chúng ta thấy rằng,
ứng với mọi quan sát mà không là support vector thì αi = 0
Cho sv ⊂ {1, 2, , n} là tập con của tập các chỉ số mà đồng nhất các vector
support (và cũng là các nhân tử Lagrange khác 0) Khi đó, tối ưu β được
cho bởi (2.23) trong đó tổng chỉ lấy trên các vector support; nghĩa là
i∈sv
Nói cách khác, β là 1 hàm tuyến tính chỉ của các vector support {xi; i ∈ sv}
Chúng ta thấy rằng, các vector support mang tất cả các thông tin cần thiết
để xác định siêu phẳng tối ưu
Chương 2 Support Vector Machine