SVM VỚI CÁC TẬP MẪU KHƠNG PHÂN TÁCH TUYẾN TÍNH

Một phần của tài liệu Nghiên cứu giải thuật naїve bayes trong bài toán phân loại văn bản (Trang 44)

3.4.1.Gần tuyến tính, sử dụng lề mềm – Soft margin

Trường hợp tập mẫu cĩ thể phân chia tuyến tính được chỉ là một trường hợp

đặc biệt. Trong trường hợp tổng quát, tập mẫu là một tập khơng phân chia tuyến

tính được bằng siêu phẳng.

Hình 10. Tập mẫu gần phân tách tuyến tính (khơng thể phân tách tuyến tính được)

Tuy nhiên ta vẫn muốn dùng siêu phẳng phân chia tập mẫu này. Để cĩ thể áp dụng được phương pháp trong phần trên, ta phải gán cho mỗi mẫu xi một sai số

để “xem như cĩ thể phân chia tuyến tính”. với yi = 1

với yi = - 1

; i = 1, 2,…, l

Với cách đặt như vậy thì sai số thực nghiệm Empirical Risk là:

Cũng giống như phần trước, nếu cực tiểu ||w|| thì sẽ làm cho VC dimension nhỏ

và từ đĩ VC confidence nhỏ. Do đĩ để thực thi nguyên tắc SRM (cực tiểu cùng lúc

Empirical risk và VC confidence), ta cĩ thể cực tiểu biểu thức sau:

Trong cĩ C là một hằng số dương tự chọn. Việc chọn C thể hiện nguyên tắc SRM. Nếu chọn C lớn sẽ làm cho Empirical Risk nhỏ - do tập trung cực tiểu . Cịn nếu C lớn sẽ làm cho VC confidence nhỏ - do cực tiểu w. (Cách này được gọi

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 40

là C-SVM do dựa trên giá trị của khoảng các lỗi, ngồi ra cịn một phương án khác là tối thiểu số điểm lỗi, được gọi là v-SVM).

Vậy ta cĩ thể phát biểu lại bài tốn như sau:

Cực tiểu:      l i i C w w b w f 1 2 1 ) , , ( Với yi(wzib)1i,i1,....,l l i i 0, 1,...,

Bài tốn đối ngẫu của bài tốn trên sẽ là: Cực đại với

Dựa trên

Cũng theo điều kiện Fermat, cực tiểu của

xảy ra tại w, b, sao cho: Lúc đĩ giá trị cực tiểu của L là:

Như vậy bài tốn đối ngẫu được viết lại thành:

Tìm cực đại của

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 41

Bài tốn này hồn tồn giống bài tốn phân chia tuyến tính, chỉ cĩ thêm điều kiện uiC. Giải bài tốn này ta tìm được u và từ đĩ tính dược w theo cơng thức

. Trong đĩ, xi là các support vector và các vector lỗi (ứng với 0 < ui

C). NS là số lượng support vector và vector lỗi.

Để tìm b, sử dụng điều kiện Karush Kuhn Tucker cho bài tốn gốc ta cĩ: (adsbygoogle = window.adsbygoogle || []).push({});

Chọn một ui sao cho 0 < ui < C. Lúc đĩ để điều kiện trên xảy ra. Do suy ra nên cĩ thêm điều kiện để điều kiện trên xảy ra. Lúc đĩ cĩ thể tính được

Vậy là đã tìm được siêu phẳng phân chia một tập dữ liệu khơng thể phân hoạch tuyến tính. Siêu phẳng như vậy được gọi là siêu phẳng khoảng cách phân hoạch mềm (soft-margin hyperplane)

3.4.2.Phi tuyến – Sử dụng hàm nhân.

Trong trường hợp tổng quát, thực tế mặt phân hoạch cĩ thể là một mặt phi tuyến bất kỳ (Hình 4-4). Giả sử các mẫu xi thuộc khơng gian Rn, khơng gian này

được gọi là khơng gian giả thiết (hypothesis space). Để tìm mặt phi tuyến trong khơng gian này, cĩ thể áp dụng một thủ thuật là ánh xạ các vector mẫu xi từ Rn vào một khơng gian Rd cĩ số chiều lớn hơn (d > n, d cĩ thể bằng ∞). Rd được gọi là

khơng gian đặc trưng (feature space). Sau đĩ áp dụng phương pháp SVM tuyến tính

để tìm ra một siêu phẳng phân hoạch khơng gian đặc trưng Rd. Siêu phẳng này sẽ tương ứng với mặt phi tuyến trong khơng gian Rn.

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 42

Hình 11. Phân tách phi tuyến nhưng chuyển đổi khơng gian để trở về tuyến tính

a)Hàm nhân – nhân

Ánh xạ từ khơng gian Rn vào khơng gian Rd: Gọi ánh xạ được áp dụng là , như vậy:

Ví dụ: x = (x1, x2) R2. Định nghĩa hàm ánh xạ như sau:

Với ánh xạ trên thì mặt hình vuơng [-1, 1]×[-1,1] trong khơng gian R2 sẽ trở

thành một mặt cong trong khơng gian R3 như trong hình dưới. Bây giờ dùng một mặt phẳng trong khơng gian R3 này sẽ cĩ thể thực hiện chia mặt cong trên thành hai phần (mà trong khơng gian R2 phải dùng một đường cong mới cĩ được kêt quả phân chia tương ứng).

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 43

Ấp dụng siêu phẳng phân hoạch mềm (soft-margin hyperlane trong khơng gian Rd cho các mẫu thì siêu phẳng này sẽ là:

Và từ đĩ cũng cĩ hàm phân hoạch là trong khơng gian Rn là hàm hợp .

Đây là một hàm phi tuyến.

Cách tiếp cận trên gặp phải một vấn đề là hàm cĩ thể cĩ số chiều rất lớn (nếu khơng gian Rd cĩ d lớn). Và do đĩ tiêu tốn thời gian nhiều trong các phép. Tuy nhiên, cĩ thể nhận xét rằng trong các phép tính chỉ xuất hiện dưới dạng tích vơ

hướng, tức là dạng mà khơng xuất hiện đơn lẻ. Đây là một nhận xét quan trọng trong việc tìm ra quy tắc sau:

Thay vì sử dụng dạng tường minh của thỉ chỉ cần sử dụng hàm biểu diễn giá trị vơ hướng .

Đặt K(x,y) = , K(x,y) được gọi là hàm hạt nhân (nhân function)

Như vậy là chỉ cần biết dạng của hàm hạt nhân K(x,y) mà khơng cần biết cụ

thể ánh xạ . Lúc đĩ hàm nhận dạng trở thành:

Tuy nhiên khơng thể chọn tuỳ ý hàm K(x,y) mà phải chọn K(x,y) sao cho tồn tại một hàm mà K(x,y) = . Điều kiện để đảm bảo vấn đề này là điều kiện

Mercer. Sau đây là một ví dụ về K và :

Với x = (x1, x2) R2, thì K(x,y) =

Tĩm lại phương pháp SVM phi tuyến là tìm một hàm nhân K(x,y) để tìm ra u và b. Cuối cùng xây dựng hàm nhận dạng đối với một mẫu thử x* nào đĩ là: (adsbygoogle = window.adsbygoogle || []).push({});

Cịn một vấn đề là tìm hàm nhân K(x,y) như thế nào. Rõ ràng đây là một vấn

đề phụ thuộc vào bài tốn nhận dạng. Đối với những bài tốn nhận dạng đơn giản

trong đĩ sự phân bố các mẫu của hai lớp {-1, 1} khơng quá phức tạp thì cĩ thể tìm hàm K(x,y) đơn giản sao cho số chiều của là khơng quá lớn.

Việc chọn hàm K(x,y) sao cho phù hợp là cần thiết vì nếu cứ chọn K(x,y) phức tạp thì phải trả giá là VC dimension lớn dù rằng cĩ được Empirical Risk nhỏ.

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 44

Hình 13. Phân hoạch phi tuyến cĩ nhiễu

Trong ví dụ ở trên, hàm nhân là (1 + x.y)2. Trường hợp này tập mẫu vẫn bị

phân hoạch cĩ lỗi (được đánh dấu bởi các dấu X, Empirical Risk ≠ 0). Lỗi này cĩ thể do nhiễu. Do đĩ đây là hàm phân hoạch ứng với nhân này là phù hợp nhất. Việc tìm những hàm nhân phức tạp để Empirical Risk = 0 là khơng cần thiết và khơng

đúng (vì nĩ sẽ xem lỗi như là một mẫu đúng).

b)Mt s ví d v hàm nhân

Tiêu chuẩn đầu tiên để chọn một hàm nhân K là phải tồn tại để K(x,y) = tức K phải thoả điều kiện Mercer.

Giả sử cĩ l điểm mẫu, thành lập một ma trận K kích thước l × l như sau: Kij =

K(xi,xj); i,j = 1, 2,…,l. Người ta đã chứng minh rằng nếu K là hàm nhân thì ma trận

K là ma trận nửa xác định dương (semipositive define, các trị riêng của ma trận ≥

0).

Một số đặc tính của hàm nhân là:

Nếu K1(x,y), K2(x,y) là các hàm nhân thì K3(x,y) cũng là hàm nhân với:

● ● ●

Từ các cơng thức trên ta cĩ thể suy ra một số hàm nhân như sau:

i)Hàm đa thức:

Chiều của khơng gian đặc trưng ứng với nhân này là . Nhân này cĩ thể chuyển tất cả các mặt cong bậc p trong khơng gian Rn thành siêu phẳng trong

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 45

ii) Hàm bán kinh căn bản Gaussian RBF (Radial Basis Function)

Chiều của khơng gian đặc trưng ứng với nhân này là ∞. Do đĩ nĩ cĩ thể

chuyển một mặt cong bất kỳ trong khơng gian Rn thành siêu phẳng trong khơng

gian đặc trưng.

Hình 14. Chuyển thành siêu phẳng với hàm Gaussian RBF

Ngồi ra hàm nhân này cĩ một đặc điểm là x và y khơng liên hệ với nhau qua (adsbygoogle = window.adsbygoogle || []).push({});

tích vơ hướng mà là theo khoảng các Euclid ||x - y||2.

3.4.3.SVM cho vấn đề nhận dạng đa lớp

Trong các phần trên đã đề cập đến vấn đề sử dụng phương pháp SVM để nhận dạng 2 lớp, yi = {-1, 1}. Phương pháp SVM chỉ được xây dựng trên nền tảng nhận dạng hai lớp, bắt đầu từ lý thuyết học thống kê. Khi thực hiện nhận dạng đa lớp, cĩ thể khắc phục bằng các kết hợp nhiều SVM lại với nhau qua một số phương pháp như sau:

a)One-vs-rest

Giả sử cần phải nhận dạng k lớp thì cần sử dụng k SVM. SVM thứ i sẽ phân biệt lớp thứ I và các lớp cịn lại (i là lớp -1, cịn lại là lớp 1). Một mẫu thứ x sẽ được cho kiểm tra trên k SVM này. Hàm nhận dạng của SVM thứ I nào cho ra kết quả cĩ giá trị bé nhất thì mẫu thứ x thuộc lớp thứ i đĩ. Sau đây là ví dụ về nhận dạng bốn lớp trong khơng gian Rd:

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 46

Hình 15. One-vs-rest với 4 lớp

b)One-vs-one

Phương pháp one-vs-one do John Platt và Nello Cristianini đưa ra. Trong phương pháp này, các lớp khơng phải là kết quả nhận dạng được loại trừ dần dần.

Ứng với mỗi cặp lớn i, j, một SVM(i, j) được thiết lập chỉ dựa trên những mẫu của 02 lớp này (i là lớp -1, j là lớp +1). Đặc điểm của SVM này là nếu một mẫu thử cĩ kết quả âm thì nĩ khơng kết luận mẫu này thuộc lớp i mà nĩ chỉ kết luận mẫu này khơng thuộc lớp j và ngược lại. Cĩ k(k-1)/2 SVM như vậy.

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 47

Hình 16. Các phân loại với SVM (1,4)

Khi bắt đầu nhận dạng, SVM(1,2) sẽ được xem xét để cần phải loại trừ lớp 1 hay loại trừ lớp 2. Nếu là loại lớp 2 thì SVM(1, 3) sẽ được xem xét tiếp, cịn ngược lại thì SVM(2, 3) sẽ được xem xét. Cứ loại trừ dần như vậy cho đến khi chỉ cịn lại một lớp cuối cùng thì lớp đĩ là kết quả nhận dạng

Hình 17. One-vs-one với 4 lớp

Cĩ thể thấy rằng việc nhận dạng một mẫu khơng cần phải trải qua hết k(k-1)/2 SVM mà chỉ cần trải qua k - 1 SVM mà thơi. Do đĩ số lượng các giá trị các nhân

K(x,y) cần phải tính chỉ là (k – 1)×MS với MS là số lượng support vector trung bình của một SVM hai lớp i, j. Vì MS nhỏ hơn nhiều so với NS nên thời gian nhận dạng sẽ được giảm bớt so với phương pháp one-vs-rest.

3.5. KỸ THUẬT THỰC HIỆN SVM

Như phần trước đã nêu các vấn đề của phương pháp SVM:

●Xác định một hàm nhân K(x, y) thỏa mãn điều kiện Mercer. Qua đĩ ngầm

xác định khơng gian đặc trưng để ánh xạ các mẫu vào.

●Trong giai đoạn huấn luyện, giải bài tốn đối ngẫu:

Tìm max của

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 48

Để tìm ra các ui từ đĩ tìm ra b. Đây là một bài tốn tối ưu bậc hai QP (Quadratic Programming).

●Trong giai đoạn nhận dạng, tìm phân lớp của một mẫu bằng các kiểm tra

dấu của hàm:

Như vậy vấn đề cơ bản trong giai đoạn huấn luyện là ở giải bài tốn QP để tìm max của F(u). Để tìm max F(u), phương pháp cơ bản là phương pháp giảm đạo hàm. Xuất phát từ một u0 nào đĩ trong miền xác định, ở mỗi bước t thay ut bằng (adsbygoogle = window.adsbygoogle || []).push({});

ut+1 theo chiều giảm đạo hàm của F(u) để cĩ F(ut+1) > F(ut) trong khi ut vẫn nằm trong miền xác định. Sau một số bước lặp hữu hạn sẽ chọn được ut sao cho F(ut) cĩ giá trị lớn nhất. Vì bài tốn SVM là bài tốn lồi, F(u) và miền xác định đều lồi, nên bảo đảm đây là nghiệm của bài tốn. Cĩ một số tiêu chuẩn xấp xỉ để dừng việc lặp

(điều kiện dừng) là:

F(ut+1) khơng tăng quá F(ut) một tỉ lệ ngưỡng nào đĩ. Đây là một điều kiện dễ thấy, tuy nhiên khơng đạt hiệu quả cao trong thực tế.

ut thoả điều kiện Karush-Kuhn-Tucker. Chương 3 đã nĩi rằng nếu một

điểm thoả điều kiện KKT thì đĩ là cực trị. Đối với bài tốn trên các điều kiện KKT là như sau: ◦Đối với bài tốn gốc: i = 1, 2,…,l i = 1, 2,…,l i = 1, 2,…,l i = 1, 2,…,l ◦Đối với bài tốn đối ngẫu: i = 1, 2,…,l i = 1, 2,…,l i = 1, 2,…,l i = 1, 2,…,l Trong điều kiện f là hàm nhận dạng: f(x) =

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 49 Dựa trên các điều kiện trên suy ra được:

◦Nếu : (mẫu khơng phải support vector)

◦Nếu (mẫu là support vector)

◦Nếu ui = C: (mẫu là lỗi)

Do đĩ nếu một xi mà ứng với một ui nào đĩ mà thoả mãn điều kiện KKT thì cũng thoả mãn điều kiện. Và ngược lại nếu vi phạm điều kiện thì cũng là vi phạm điều kiện KKT.

Do đĩ với một vector ut, nếu tất cả các thành phần của nĩ thoả điều kiện theo một ngưỡng nào đĩ thì xem như là một điều kiện dừng.

●Khi khoảng cách đối ngẫu giữa bài tốn gốc và bài tốn đối ngẫu nhỏ hơn

một ngưỡng nào đĩ (theo chương 3 giá trị của bài tốn gốc và giá trị của

bài tốn đối ngẫu bằng nhau tại điểm cực trị nên khoảng các đối ngẫu bằng 0).

Trở lại phương pháp giảm đạo hàm, đứng về phương diện tính tốn việc tính

đạo hàm của F(u) gặp phải một số khĩ khăn như sau: Đạo hàm riêng phần theo chiều i là:

Việc tính tốn hết tất cả các chiều (cĩ l chiều như vậy) địi hỏi phải tốn rất nhiều phép tính và bộ nhớ (cĩ l giá trị ). Để giải quyết vấn đề trên, các nhà nghiên cứu đã đề xuất các phương án hueristic để tại mỗi bước lặp chỉ cần cập nhật một số chiều của vector u mà thơi chứ khơng phải thay đổi giá trị của tất cả l chiều.

Đĩ là các phương pháp gom cụm, phân rã, và cực tiểu tuần tự.

3.5.1.Gom cụm (Chunking)

Phương pháp này sử dụng tính thưa của các mẫu là support vector. Mặc dầu tập mẫu ban đầu cĩ thể cĩ số lượng lớn (l lớn), tuy nhiên số lượng support vector lại khơng nhiều. Các vector ứng với ui = 0 cĩ thể được bỏ đi mà khơng làm ảnh

hướng đến kết quả của bài tốn. Đĩ là cơ sở của phương pháp gom cụm.

Đầu tiên, chọn trong l dữ liệu mẫu một số lượng nhỏ m mẫu bất kỳ (m<<l) để

tạo thành một cụm (chunk). Áp dụng các SVM cho m mẫu dữ liệu này để chọn ra các support vector và huỷ đi các mẫu dữ liệu khơng phải là support vector, tức ứng với ui = 0. Tại bước tiếp theo chọn M mẫu trong những mẫu chưa được sử dụng để

thêm vào cụm các support vector trên để tạo thành một cụm mới. Thao tác được lặp lại với cụm mới và cứ như vậy cho đến khi sử dụng hết l mẫu dữ liệu, và cụm cuối cùng chứa tồn bộ các support vector của bài tốn.

Luận văn tốt nghiệp Nghiên cu gii thut NB trong bài tốn TC

Trang 50

Cĩ thể thấy rằng việc hình thành nên cụm giúp cho mỗi bước áp dụng SVM chỉ cần tính các giá trị nhân K(xi,xj) cĩ trong cụm. Việc huỷ bỏ các dữ liệu khơng phải là support vector giúp duy trì số lượng các mẫu trong cụm ít.

Hình 18. Quá trình gom cụm để xây dựng siêu phẳng

3.5.2.Phân rã (Decomposition) (adsbygoogle = window.adsbygoogle || []).push({});

Kỹ thuật phân rã này do Osuna đề xuất [9]. Trong phương pháp giảm đạo hàm, tại một bước lặp, cập nhật cả l thành phần của vector u. Cịn trong kỹ thuật của Osuna, tại mỗi bước lặp, chỉ cĩ một số cố định các thành phần ui là được cập nhật cịn các thành phần khác được giữ khơng đổi:

Chia vector u làm hai phần uB gồm q thành phần (q là một hằng số) và uN là l –

q thành phần cịn lại. Tại mỗi bước chỉ áp SVM cho q mẫu tương ứng với uB để thay đổi giá trị của ui trong uB. Cịn các mẫu tương ứng với uN thì khơng xét đến do

Một phần của tài liệu Nghiên cứu giải thuật naїve bayes trong bài toán phân loại văn bản (Trang 44)