Các ứng dụng kỹ thuật của Toán học.
Trang 13.1 Các ứng dụng kỹ thuật SVM [51;U71.[111,[171,[18],[19]1,{22],[24].[25]
Kỹ thuật SVM đã có các ứng dụng đáng quan tâm qua các công bố gần đây:
- St dung SVM cho việc tái thiết động hệ thống hỗn độn (SVM for Dynamic Reconstruction of a Chaotic System) của Davide Mattera và Simon Haykin
- St dung SVM cho việc dự báo chuỗi thời gian (Using SVM for time Series Prediction) cla Klaus Miller St dung Support Vector hdi qui cho viée xay dựng lại hệ thống hổn độn và dự báo chuỗi thời gian
-_ Phân lớp Pairwise và SVM mô tả ứng dụng định hướng thực hiện trên vấn để
nhận dạng ký tự bằng quang hoc (OCR), xem như là một nền tảng thử nghiệm vào lúc khởi đầu nghiên cứu SVM
Kỹ thuật SVM đã áp dụng thành công trong các lĩnh vực:
- Ngành tin học sinh học: xây dựng biểu thức gene, phân tích các chuỗi
protein, các chất hoạt hóa
-_ Nhận dạng chữ viết tay
-_ Phân loại văn bản
Kỹ thuật SVM được đánh giá là công cụ mạnh để phân loại dữ liệu và xem là thích hợp cho việc phân loại văn bản vì văn bản có các đặc trưng phù hợp kỹ thuật SVM:
-_ Không gian dữ liệu nhập có nhiều chiều: khi học qua các hàm phân loại văn
bản, người ta phải giải quyết rất nhiều các đặc trưng, văn bản có khoảng 10”
chiều và có khoảng hơn 10.000 đặc trưng Dựa vào đặc tính quan trọng của SVMs là khả năng học của SVM độc lập với chiều của không gian đặc trưng,
Trang 2SVM do độ phức tạp của các giả thuyết dựa trên biên lớp dữ liệu được phân chia mà không dựa trên số lượng các đặc trưng Vì vậy, có thể tổng quát hóa ngay cả khi dữ liệu có rất nhiều đặc trưng nếu dữ liệu phân chia bằng độ rộng của biên, sử dụng các hàm từ không gian giả thuyết [17]
- Có rất ít các đặc trưng không thích hợp trong văn bản; vì vậy việc lựa chọn
đặc trưng linh hoạt phải được giải quyết cẩn thận, bởi vì các kết quả thực
nghiệm cho thấy việc lựa chọn này rất dễ làm mất thông tin quan trọng SVM
đặc biệt thích hợp để giải quyết vấn để này, thực hiện tốt hơn các phương
pháp đã có trước đây về căn bản trong khi vẫn giữ được độ ổn định cao
(Joachims 1998- Dumais 1998)
-_ Các vectơ dữ liệu rời rạc: đối với mỗi tư liệu, vectơ dữ liệu tương ứng chỉ
chứa vài mục chọn nhập khác 0 và kỹ thuật SVMI thì thích hợp cho những bài toán có các khái niệm dày đặc và các thể hiện rời rạc
-_ Hầu hết các vấn để phân lớp văn bản được phân chia tuyến tính phù hợp với
ý tưởng cơ bản của kỹ thuật SVM là tìm các công cụ phân chia tuyến tính
3.2 Các thuật toán của SVM
3.2.1 SVM theo phương pháp qui nạp (SVM for induction) [18]
Ý tưởng: SVM theo phương pháp qui nạp là tạo ra một hàm phân lớp từ tập dữ liệu luyện; hàm này sẽ tạo nên sự thực thi hiệu quả trên tập dữ liệu thử nghiệm Cho trước một tập luyện {Xx), Xo, ., xạ} là các vectơ trong không gian X G R1 được gán nhãn{y\, yo, ., Ya} với y¡ e (-1,1} SVM: tìm siêu phẳng tuyến tính phân chia dữ liệu luyện bằng biên rộng nhất, các vectơ nằm một bên mặt siêu phẳng được dán nhãn là -1 và các vectơ nằm bên còn lại được dán nhãn là 1, các vectơ dữ liệu luyện nằm trên biên phân cách gọi là support vector Một cách tổng quát hơn SVM cho phép xử lý dữ liệu luyện gốc trong không gian X thành
Trang 3không gian đặc trung nhiéu chiéu F théng qua mét ham K Vi vay, chi cần quan tâm đến hàm công cụ phân lớp theo dang:
Bằng cách chọn các hàm K khác nhau, có thể xử lý hoàn toàn tập dữ liệu luyện
X vào không gian F, sau đó SVM tính các ơ; tương ứng siêu phẳng tối ưu trong F
(siêu phẳng trong F tương ứng với đường biên quyết định rất phức tạp trong không gian gốc X )
Hai hàm K được sử dụng phổ biến trong SVM theo qui nạp:
a Ham da thitc
K(u,v)=(u.v)P hoặc K(u,v)=(u.v+l)P
Tạo ra các đường biên đa thức cấp P trong không gian gốc X
Trang 4Ý tưởng: Trong nhiều trường hợp phân lớp, có thể tốt hơn nếu không dùng hàm
quyết định để tạo ra sai số thấp trên toàn bộ sự phân bố các dữ liệu luyện đối
với việc học theo phương pháp qui nạp mà thực hiện phân lớp một tập các mẫu thử nghiệm (test set) có một vài sai số và làm giảm tối đa sự phân lớp sai chỉ
trên các mẫu trong tập thử nghiệm Đặc điểm dữ liệu trong thuật toán: có rất ít các dữ liệu luyện và có một tập rất lớn dữ liệu thử nghiệm
Việc cài đặt thuật toán TSVM được Vapnik giới thiệu năm 1998 Cho một tác vụ học P(š, y) = P(y/š)P(x), công cụ học L được cho một không gian giả thuyết H của các hàm h: X —> {-1, 1} va tap Stain (di liệu đã được chuyển đổi theo mô hình không gian vectơ) của các mẫu luyện:
(y0, (X,.Y2) (X, Yn)
Mỗi mẫu luyện gồm có một vectơ dữ liệu #eX và một nhãn nhị phân
y € {-l,+1} Khác với việc cài đặt qui nạp, công cụ học được cho mét tap Stes
của k mẫu thử nghiệm #;/,x;, x, có sự phân bố tương tự
Công cụ học chuyển đổi L nhim muc dich lua chon mét ham hy = L(StrainsStest) tif
khéng gian H st dung Strain Va Stext để có sai số dự báo:
i
R(L) = Frou, (%), 9) )dP(%,.y,) d PR)
i=
trên các mẫu thử nghiệm là giảm tối đa:
6(a,b) = 0 nếu a = b và ngược lại 9 = 1 Sai số luyện:
Trang 5Độ tin cậy Q (n,k,d,7) phu thudc vào số lượng các mẫu luyện n; số mẫu thử nghiệm k và VC-dimension của H
Trong thuật toán TSVM có thể học qui luật hàm quyết định dựa trên dữ liệu
luyện, sau đó áp dụng hàm này cho dữ liệu thử nghiệm Để giải quyết vấn để ước tinh k giá trị nhị phân z;,y;, y¿ chúng ta cần phải giải quyết vấn để phức tạp
của một hàm tính toán trong không gian liên tục Điều này không thuận lợi nếu như tập dữ liệu luyện nhỏ Tập dữ liệu luyện và dữ liệu thử chia nhỏ không gian giả thuyết H thành một số hữu hạn các lớp tương đương H' Hai hàm của H thuộc
về một lớp tương đương nếu như chúng phân lớp dữ liệu luyện và dữ liệu thử nghiệm theo cùng một cách Điều này làm giảm việc tìm kiếm một hàm trong tập vô hạn H mà chỉ tìm kiếm một trong nhiều lớp tương đương hữu han H’ Quan trọng hơn cả là có thể dùng các lớp tương đương này để xây dựng cấu trúc làm tăng VC-dimension Có thể xây dựng cấu trúc dựa trên độ rộng biên của các siêu phẳng phân chia trên dữ liệu luyện và dữ liệu thử nghiệm vì Vapnik đã chứng minh rằng bằng kích thước biên, thì có thể điều khiển số lượng lớn nhất của các lớp tương tương (là giá trị VC-dimension),
a) Thuật toán OP1 của TSVM cho vấn đề tối tu hóa trong trường hợp dữ liệu phân chia tuyến tính:
Tối thiểu hóa trên ( yj, , y},#,b) :
Ly oy
¬mừ sl
dOi voi V",, : y,[wx, +b] 21,
VE sy [WE +b] 21
Trang 6Giải quyết vấn để này có nghĩa là việc tìm các nhãn y;, y„ của dữ liệu thử
nghiệm và siêu phẳng <#,b > sao cho siêu phẳng phân chia cả dữ liệu thử nghiệm và dữ liệu luyện bằng độ rộng biên lớn nhất
b) Thuật toán OP2 của TSVM cho vấn đề tối ưu hóa trong trường hợp đữ liệu
phân chia phi tuyến:
Tối thiểu hóa trén (9) 0 91, 9,B,E ES es):
Giải quyết trường hợp dữ liệu không thể phân chia, biến sai số phân lớp š; ,£j
được giới thiệu tương tự như trong SVMI cho trường hợp phi tuyến C và C” là các
tham số cài đặt bởi người dùng, cho phép thay đổi kích thước biên chống lại các
mẫu luyện phân lớp sai hoặc có thể loại bỏ các mẫu thử nghiệm
3.2.3 Semi supervised suport vertor machines (MSVM) [21]
a Khdi niém hoc tich cuc theo té hop (Pool based active learning)
Việc học tích cực dựa theo tổ hợp, thực hiện như sau: cho trước một tổ hợp các
dữ liệu chưa có nhãn Giả sử rằng dữ liệu X được phân bố độc lập và theo cùng phân bố đối với phân bố cơ bản P(x) và các nhãn được phân bố theo một phân
bố điều kién P(y|x) Cho trước một tổ hợp U chưa có nhãn, một công cụ học chủ dong | gdm 3 thành phần (f, q, X) Thành phần đầu tiên là công cụ phân lớp
f: X — {1,-1} luyện trên tập đã có nhãn X (và cũng có thể luyện trên các thể hiện chưa có nhãn) Thành phần thứ 2 qŒX) là hàm truy vấn: cho trước một tập X
Trang 7có nhãn, chọn một thể hiện trong tổ hợp dữ liệu U để truy vấn tiếp theo Công
cụ học chủ động trả về một phân lớp f sau mỗi truy vấn (học trực tuyến) hoặc
sau một số câu truy vấn
Sự khác biệt chủ yếu giữa học chủ động và học bị động là thành phần truy vấn
q Vấn đề là cách thức chọn thể hiện không có nhãn tiếp theo để truy vấn: sử
dụng cách tiếp cận mà các điểm truy vấn có thể làm giảm kích thước của không gian đặc trưng dữ liệu nhiều nhất; trong cách tiếp cận cực cận: để giảm không
gian đặc trưng dữ liệu, chọn câu truy vấn chia đôi không gian làm 2 phần bằng
nhau Các thủ tục dùng để chia đôi không gian đặc trưng là: Simple Margin, Maxmin Margin, Ratio Margin
b.Ý tưởng thuật toán: thuật toán TSVMI được thể hiện trong một thuật toán mới gọi là MSVM thực hiện việc học tích cực (Pool-based Lewis và Gale-1994) bằng SVM như sau: cho trước 2 tập dữ liệu có dán nhãn và chưa dán nhãn, nhiệm vụ học là xác định nhãn cho các dữ liệu chưa có nhãn một cách chính xác SVM có
thể thực thi chuyển đổi trạng thái bằng cách tìm siêu phẳng để làm tối đa hóa
biên liên quan đến dữ liệu có nhãn và không có nhãn
-_ Qui trình phân lớp theo MSVM thực hiện:
“ Dán nhãn một tỷ lệ phần trăm khoảng 5% đến 10% dữ liệu bằng thuật
toán phân cụm
- Mét SVM tuyến tính được luyện sử dụng ít mẫu có dán nhãn đồng thời với việc phân lớp các mẫu chưa dán nhãn còn lại tới 1 hoặc 2 lớp làm rộng tối đa khoảng cách giữa 2 mặt biên để xác định mặt phẳng phân chia giữa hai lớp Kết quả cho mức chính xác của tập dữ liệu thử nghiệm cao hơn 5,2% với SVM tuyến tính luyện trên toàn bộ dữ liệu có dán nhãn Dữ liệu sử dụng cho thuật toán giảm cao nhất là 81% và trung bình là 66% so với toàn bộ tập dữ liệu
Trang 83.2.4 Thuật toán chunking với SVM [19],{23]
Ý tưởng thuật toán : là một trong những phương pháp giải quyết bài toán QP, sử
dụng sự kiện giá trị các dạng thức bậc hai thì như nhau nếu bỏ đi các hàng và các cột của ma trận tương ứng với các hệ số nhân Lagrange bằng 0 Vì vậy, bài
toán QP lớn bị chuyển đổi thành một chuỗi các bài toán QP nhỏ hơn Ở mỗi bước
thuật toán chunking giải quyết bài toán QP chứa các mẫu dữ liệu có hệ số nhân
ơ; khác 0 ở bước trước và M mẫu vi phạm điều kiện KKT nghiêm trọng, nếu M
ít thì tất cả các mẫu vi phạm được lấy thêm vào Mỗi bài toán QP trong chuỗi
được cho giá trị khởi đầu từ bài toán QP trước đó Ở bước cuối cùng, tìm được một tập các mẫu có hệ số œ khác không (các support vertor) bài toán QP lớn
xem như đã được giải quyết
* Khái niệm
Chunking được xem như là chuỗi tuân tự các xử lý, đầu tiên nhận ra các chưnks
(các cụm từ tiếng Anh cơ bản) hợp lệ từ sự kết hợp các mã thông báo (chẳng hạn như các từ và mỗi ký tự được xem như một mã thông báo) tiếp theo là phân loại các chunk thành các lớp theo văn phạm Các kỹ thuật máy học thường sử dụng chunking bởi vì công việc này được xem xét như việc thiết lập một hàm nhận dạng từ các thông tin có sẵn (các đặc trưng) trong lân cận ngữ cảnh từ ngữ
Trong lĩnh vực xử lý ngôn ngữ tự nhiên SVM được áp dụng cho việc phân loại văn bản, sự phân tích cấu trúc theo cú pháp được cho là đã đạt được mức chính xác cao hơn các cách tiếp cận trước đó (Joachims 1998 Taira & Haruno 1999, Kudo & Matsumoto 2000)
Để đạt được kết quả có độ chính xác cao, việc tính theo trọng số (weighted voting) cla 8 hé thống dựa trên SVM được áp dụng để luyện dữ liệu sử dụng các
mồ tả chunk khác nhau
Trang 9Có hai loại mô tả các chunk hợp lệ là: mô ta Inside/ Outside (IOB1) va mé ta Start/ End
Inside/ Outside: m6 ta nay dugc Ramshaw & Marcus gidi thiéu nim 1995 Phương pháp IOBI sử dụng 3 đính mục cho việc mô tả một chunk hợp lệ: I_ mã thông báo hiện hành ở bên trong chunk
O mã thông báo hiện hành ở bên ngoài chunk
B mã thông báo hiện hành ở bắt đầu của chunk trực tiếp theo sau một chunk khác,
Các phương pháp khác :
IOB2: đính mục A, B được cho trong mỗi mã thông báo tổn tại ở điểm bắt đầu của chunk
IOEI: một đính mục E được dùng để đánh dấu mã thông báo cuối cùng của
một chunk gần nhất với một chunk có trước
IOE2: một đính mục E được cho trước đối với mỗi mã thông báo tổn tại ở
Star/ End: mô tả này được dùng trong tiếng Nhật đặt tên công việc rút trích
từ ngữ và yêu câu 5 đính mục cho mỗi mô tả một chunk hợp lệ (thuật toán Uchimoto 2000)
B ma théng bdo hién hanh 6 vi trí đầu của một chunk chứa nhiều hơn một
Trang 10Nếu phải nhận diện theo lớp văn phạm của mỗi chunk chúng ta mô tả chúng
bằng một cặp của một nhãn I/ O/ B/ E/ S va một nhãn lớp Ví dụ trong mô tả IOB2 nhãn B-VP được cho trước đối với một mã thông báo là mô tả bắt đầu của một cụm từ động từ (VP)
" Áp dụng SVM trong thuật toán chunking
Về cơ bản SVM là các công cụ phân lớp nhị phân vì vậy chúng ta cần phải mở rộng SVM cho các công cụ phân lớp đa lớp để phân làm ba lớp (B, I, O) hoặc nhiều lớp (B, I, O, E, S)
Sử dụng phương pháp phân lớp pairwise: Ý tưởng phương pháp là xây dựng
K.(K-1)/ 2 các công cụ phân lớp: xét đến tất cả các cặp của các lớp và quyết định cuối cùng được thực hiện bằng việc biểu quyết theo trọng số Phương pháp
này được chọn thực hiện vì các lý do sau đây:
Trang 11¡ Kỹ thuật SVM yêu cầu độ phức tạp O(n?) ~ O(n?) cho phi tổn luyện dữ liệu (n là kích thước của dữ liệu luyện) Vì vậy, nếu kích thước dữ liệu luyện với các
lớp nhị phân riêng biệt nhỏ chúng ta có thể giảm đáng kể phí tổn luyện Mặc dù
các công cụ phân lớp pairwise có khuynh hướng tạo ra một số lượng lớn các công cụ phân lớp nhị phân, phí tổn luyện đòi hỏi cho phương pháp paizwise thì
dễ vận dụng hơn nhiều so với phương pháp one vs.all other (ý tưởng của phương pháp này là xây dựng hàm công cụ phân lớp để phân chia một lớp từ tất cả các lớp khác: phân chia các quan sát từ lớp j và từ phần còn lại - phần còn lại là tất
cả những quan sát từ các lớp khác j được kết hợp thành một lớp ,siêu phẳng tối
ưu phân chia các mẫu từ lớp j và lớp kết hợp được tìm bằng cách dùng SVM
chuẩn)
ii Một số kết quả thực nghiệm (Krebel 1999) chứng tổ rằng liên kết của các công cụ.phân lớp theo phương pháp pairise thực thi tốt hơn công cụ phân lớp theo phuong phap one vs all others
Đối với các tập đặc trưng cho tác vụ luyện dữ liệu trên thực tế và sự phân lớp theo SVMs, chúng ta dùng tất cả thông tin có sẳn trong lân cận ngữ cảnh, như các từ, các đính mục theo từ loại của các từ cũng tốt như các nhãn chunk Cụ thể hơn chúng ta dùng các đặc trưng sau đây để nhận dạng nhãn chunk c; của từ ngữ thet i
—> hướng >
Với w; là từ ngữ xuất hiện ở vi tri thtti, t; 1A đính mục POS của từ w; và c¡ là nhãn chunk của từ thứ ¡
Trang 12Thêm vào đó, dùng các hướng phân tích cú pháp sau:
Phương pháp Forward Parsing: đảo ngược lại hướng phân tích cú pháp từ phải sang trái (nhãn chunk trước đó là c¡¡, c¡.;)
Phương pháp Backward parsing: phân tích cú pháp từ phải sang trái (nhãn chunk trước đó là c¡¿¡, C¡¿z)
Vì các nhãn cụm từ c¡,¡, c¡¿; hoặc c¡, c¡.; không được cho trước trong dữ liệu thử nghiệm mà được chọn lựa động trong lúc gắn đính mục nhãn chunk Kỹ thuật này được xem như là một kiểu so sánh động (Dynamic Programing - DP) sẽ cho câu trả lời tốt nhất bằng cách làm tối đa hóa tỷ số toàn bộ mối liên kết của các đính mục Theo kinh nghiệm, có thể thu nhận được các mức chính xác thỏa đáng
bằng việc phân tích cú pháp theo phương pháp quyết định Với mục tiêu là so sánh các lược đồ trọng số theo biểu quyết và chỉ ra phương pháp tính trọng số
hiệu quả để để làm tối đa độ rộng biên giữa các mẫu gần biên nhất và mặt siêu phẳng phân chia và tạo ra một hàm quyết định có sự thực thi được tổng quát
"_ Áp dụng cách tính trọng số của 8 hệ thống dựa trên SVM:
Trước khi áp dụng phương pháp biểu quyết theo trọng số, việc đầu tiên cần phải
quyết định các trọng số được cho trước đối với các hệ thống riêng biệt Trong kỹ
thuật boosting việc tính theo trọng số được cho dựa vào độ chính xác của dữ liệu
luyện trong lúc lặp lại việc thay đổi tân số của đữ liệu luyện Trong kỹ thuật
SVM không thể dùng độ chính xác của dữ liệu luyện đối với việc tính theo trọng
số, vì SVM không phụ thuộc vào tân số của dữ liệu luyện và có thể phân chia dữ
liệu luyện không có sự phân lớp sai bằng cách chọn một hàm công cụ thích hợp
và tham số biên trong trường hợp dữ liệu phân chia phi tuyến Dựa theo lý thuyết của SVM có 4 phương pháp tính trọng số được sử dụng
Trang 13¡ Các trọng số không đổi (uniform weights): cho cùng trọng số như nhau cho tất
cả hệ thống Phương pháp này được dùng như đường biên cho các phương pháp
tính trọng số khác
ii Sự kiểm tra chéo (Cross validation): phan chia dữ liệu thành N phần, thực hiện
luyện với N-I phần và ước tính phần còn lại Trong cách này, chúng ta sẽ có N mức chính xác khác nhau Các trọng số theo biểu quyết cuối cùng được cho bằng
giá trị trung bình của NÑ mức chính xác
iii Gidi han VC (VC- bound)
Giá trị VC-bound được định nghĩa như sau:
liii Leave-one-ow-bound: sử dụng phương pháp 3 sẽ thiết lập giới hạn thấp về
độ chính xác của hệ thống Việc để nghị tính trọng số được tính: w = l - E,
Với E, là sai số thử nghiệm (test error)
"_ Thuật toán chunking theo SVM thực liện các bước sau:
- Chuyển đổi dữ liệu luyện thành 4 mô tả (IOB1/ IOB2/ IOE1/ IOE2)
- _ Xét phân tích cú pháp theo 2 hướng (forward/ backward) cho mỗi mô tả 4 x 2
= § hệ thống cho một tập hợp luyện riêng biệt sau đó thực hiện luyện SVM dùng các mô tả chunk độc lập trên
Trang 14Sau bước luyện dữ liệu, kiểm tra giới hạn VC và giới hạn Leave-One-Out
cho mỗi một trong 8 hệ thống Đối với việc tính trọng số bằng phương pháp kiểm tra chéo thực hiện 2 bước trên cho mỗi dữ liệu luyện bị phân chia và thu nhận các trọng số
Kiểm tra § hệ thống này bằng một tập hợp dữ liệu thử nghiệm có thể phân chia Trước khi thực hiện biểu quyết theo trọng số chúng ta phải chuyển đổi
chúng thành các trọng số không đổi bởi vì các tập đính mục dùng trong 8 hệ
thống riêng biệt thì khác nhau, tiếp tục chuyển đổi mỗi một kết quả được ước lượng thành 4 mô tả (IOBI, IOB2, IOE1, IOE2)
Thực hiện biểu quyết theo trọng số của § hệ thống đối với việc chuyển đổi 4
mô tả trên và 4 lược đồ biểu quyết trọng số tương ứng Cuối cùng chúng ta
có 4 (loại mô tả) x 4 (loại trọng số) = 16 kết quả
Kết quả thực nghiệm cho thấy rằng ta nhận được độ chính xác cao nhất khi áp
dụng mô tả IOE2-B cho dữ liệu phân cụm Kỹ thuật SVM thực thi tốt bất chấp
mô tả chunk vì SVM có sự thực thi tổng quát hóa tốt ngay cả không gian vectơ
đa chiều và có khả năng chọn các đặc trưng tối ưu đối với nhiệm vụ cho trước
Áp dụng biểu quyết theo trọng số của § hệ thống dựa vào SVM để luyện dữ liệu
sử dụng các mô tả chunk khác nhau thu được độ chính xác cao
3.2.5 Thuật toán SMO (Sequential Minimal Optimization) [8]
Trong các thuật toán để xuất giải quyết bài toán đối ngẫu, các thuật toán mở
rộng của SVM nói trên không phù hợp với bài toán có kích thước lớn vì:
Đồi hỏi hàm chủ yếu k(x¡.x;) được tính toán và lưu trử trong bộ nhớ, yêu cầu này đòi hỏi bộ nhớ phải rất lớn
Các phép tính ma trận tốn kém
Muốn phát triển các áp dụng riêng các hàm công cụ phân lớp SVM thì việc
mã hoá các thuật toán này rất khó khăn
Trang 15John C Platt để xuất một thuật toán gọi là Sequential Minimal Optimization
(SMO): SMO phân tích bài toán bậc hai tổng quát của SVM thành các bài toán con: việc chọn lựa tập con trong thuật toán Osuna thực hiện ở mức nghiêm ngặt bằng cách lặp lại nhiều lần việc lựa chọn tập con chỉ có độ lớn bằng 2 (Thuật
toán Osuna đề xuất dùng một tập con các vectơ như tập con cơ sở lập luận và tối
ưu hóa trên các œ¡ tương ứng trong khi các vectơ khác được giữ cố định)
SMO là thuật toán đơn giản có thể giải quyết nhanh chóng bài toán bậc hai
SVM mà không lưu trử ma trận, không yêu cầu thủ tục số học lặp cho mỗi bài toán con Mỗi bài toán tối ưu nhỏ nhất chứa hai hệ số nhân Lagrange Ở mỗi
bước, SMO chọn hai hệ số Lagrange để tối ưu hóa cùng lúc, tìm giá trị tối ưu cho
các hệ số và cập nhật các SVM tương ứng với các giá trị tối ưu mới Ưu điểm của thuật toán SMO nằm trong yếu tố giải quyết các hệ số nhân Lagrange bằng
phân tích Vì vậy, vòng lặp bên trong của thuật toán được biểu diễn bằng ngôn
ngữ lập trình hơn là dẫn chứng bằng một thủ tục thư viện QP lặp Mặc dù có nhiều bài toán tối ưu nhỏ được giải quyết trong thuật toán, mỗi bài toán con này
thực thi rất nhanh để bài toán QP tổng thể được giải quyết nhanh chóng
Một cách khái quát trong kỹ thuật SVM, bài toán QP dùng luyện các vectơ support được mô tả làm tối đa hoá hàm mục tiêu W(œ)
Bài toán QP sẽ được giải quyết theo thuật toán SMO Một điểm là điểm tối ưu
hoá theo phương trình trên nếu và chỉ nếu các điều kiện KKT được thực thi
Điều kiện KKT đơn giản về chỉ tiết, bài toán QP được giải quyết khi tất cả các điểm thỏa mãn:
Trang 16Có 3 phần chính trong thuật toán SMO:
-_ Phương pháp phân tích tính toán hai hệ số nhân Lagrange thỏa điều kiện tối
Thêm vào đó thuật toán SMO có thể nhanh hơn khi sử dụng các kỹ thuật làm
tăng tốc độ thực thi hàm mục tiêu
i- Giải pháp đối với hai hệ số nhân Lagrange
Đầu tiên thuật toán SMO tìm kiếm các miễn khả thi của bài toán đối ngẫu để
thực hiện tối đa hoá hàm mục tiêu W, thuật toán thực thi bằng cách tối ưu hoá
đồng thời hai hệ số nhân œ¡ Dùng chỉ số 1 và 2 mô tả cho hai hệ số nhân này
Xã
Do điều kiện ràng buộc 3`ø,y, = 0 nên y¡Œity20; =y,ø‡“ + y„ø?“, sự tối ưu hoá
isl
phải ở trên một đường thẳng nên điểm bị ràng buộc tối đa của hàm mục tiêu
phải nằm trên một phân đoạn đường chéo Ràng buộc này giải thích tại sao hai
là con số tối đa hệ số Lagrange được tối ưu hoá: nếu thuật toán SMO tối ưu hóa
chỉ một hệ số nó sẽ không thực hiện được ràng buộc đẳng thức tuyến tính ở mỗi
bước
Trang 17YiFY2> M1 -O2 =¥ YI= Y2 — 0¡†02=Y
Hai hệ số nhân phải tuân theo tất cả các ràng buộc của bài tốn QP tổng thể
Các ràng buộc bất đẳng thức là nguyên nhân làm cho các hệ số nhân nằm trong
một hộp cĩ giới hạn được mơ tả như trên Ràng buộc đẳng thức tuyến tính
Vay, = 01a nguyên nhân làm các hệ số nhân phải nằm trên đường chéo Vi
isl
vậy, một bước trong thuật tốn SMO phải tìm ra giá trị tối ưu của hàm mục tiêu
trên phân đoạn đường chéo Với 7 = a +sa3" là hằng số phụ thuộc vào giá trị
œ¡ và œ; trước đĩ và s = ÿ\.¿
Các điểm cuối của phân đoạn đường chéo cĩ biểu diễn rất đơn giản Đâu tiên
thuật tốn phải tính hệ sé a) va tính các điểm cuối của phân đoạn đường chéo
theo các giới hạn của œ¿
Nếu y¡ #y; thì các gidi han sau 4p dung cho a
L= max(0,z;“ -z?“), H=min(C,C+z?“ +à?“)
Nếu y¡= y; thì các giới hạn sau đây áp dung cho a,
L= max(0,a34 +a?4-C), H =min(C, z7“ +ø?“)
Đạo hàm bậc hai của hàm mục tiêu dọc theo đường chéo cĩ thể biểu diễn:
1) = 2k(%,, X,) — k(X,.%,) — k(X,.X,) Bước kế tiếp của thuật tốn SMO là tính tốn vị trí các điểm bị rang buộc nhiều
nhất theo hàm mục tiêu trong phương trình ràng buộc và cho phép chỉ hai hệ số