Kỹ thuật SMO là một trường hợp đặc biệt của kỹ thuật phân rã. Kỹ thuật này do John-Platt đề xuất năm 1998. Trong kỹ thuật này tại một thời điểm chỉ cập nhật hai hệ số của vector u (tức chọn q = 2 trong kỹ thuật phân rã). Tuy nhiên việc chọn
q = 2 lại cĩ một ưu điểm lớn là việc cập nhật hai hệ số cĩ thể được tiến hành bằng cách áp dụng các cơng thức cụ thể chứ khơng cần phải áp dụng các phương pháp
giải bài tốn QP truyền thống. Điều này khơng chỉ giúp tiết kiệm được bộ nhớ mà cịn làm tăng tốc việc huấn luyện SVM lên nhiều lần.
Với tính chất , phương pháp SMO được mơ tả tĩm tắt như sau:
●Chọn 2 giá trị ui và uj bất kỳ trong vector u theo một heuristic nào đĩ.
Mục tiêu là để tiến hành tối ưu hàm F(u) bằng cách thay đổi hai giá trị này của vector u, các giá trị khác được giữ khơng đổi.
●Tiến hành tối ưu (tìm cực đại) hàm F(u) dựa trên ui và uj qua một số phép
tính tốn mà khơng dùng phương pháp truyền thống.
●Sau đĩ quay lại bước 1 chọn ui và uj khác để tối ưu. Cứ như vậy cho đến
khi nào đạt được điều kiện dừng được thoả mãn, nghĩa là đã tính được vector u tối ưu.
Sau đây là mơ tả chi tiết hơn các bước trên:
a) Heuristic để chọn hai giá trị ui và uj
i)Chọn ui
Tìm một ui nào đĩ cùng với xi của nĩ vi phạm điều kiện KKT nhiều nhất dựa
vào các điều kiện trong phần trên.
ii) Chọn uj
Cần phải chọn một giá trị uj sao cho cùng với giá trị uj đã chọn thì giá trị của
hàm đối ngẫu F(u) tăng nhiều nhất. Việc tính giá trị tăng này theo một heuristic nào
đĩ chẳng hạn như tìm uj mà cĩ min của |E1 – E2| (xem phần tính tốn dưới đây).
b)Cực đại hàm F(u) chỉ dựa trên hai giá trị ui và uj thay vì dựa trên tất cả các thành phần của u
Khơng mất tổng quát ta gọi hai giá trị ui và uj được chọn là u1 và u2. Vì các giá
Luận văn tốt nghiệp Nghiên cứu giải thuật NB trong bài tốn TC
Trang 52
Do đĩ nếu ta thay bằng hai giá trị thì vẫn phải đảm bảo
điều kiện đĩ tức là:
Từ đĩ suy ra và phải nằm trên đường thẳng cho bởi phương trình trên như hình sau:
Hình 19. Các trường hợp cĩ thể xảy ra với u1 và u2
Vì 0 ≤ ui≤ C nên phải giới hạn trong hình hộp [(0, 0), (C, C)].
Và do đĩ nếu xét riêng thì phải thoả mãn điều kiện L ≤ ≤ H với:
●L = max(0, u1 - u2); H = min(C, C - u1 + u2) trong trường hợp
●L = max(0, u1 + u2 - C); H = min(C, u1 + u2) trong trường hợp
Do chỉ xét hàm F(u) dựa trên u1 và u2 khơng thơi nên cĩ thể viết F dưới dạng:
Trong đĩ Kij = K(xi, yj); i, j = 1, 2 cịn là các hằng số.
Dựa vào phương trình trên thì cĩ thể biểu diễn u1 theo u2 nên cuối cùng chỉ xét
F là hàm phụ thuộc chỉ vào mỗi u2: F(u2) là một hàm bậc 2, nên cĩ thể tìm được cực đại của F(u2) và giá trị của u2 tương ứng với cực đại này ( ) trong khoảng [0, C]. Từ đĩ cĩ thể tính được nhờ vào phương trình.
Hệ sốứng với là: - (K11 + K22 – K12)/2
Luận văn tốt nghiệp Nghiên cứu giải thuật NB trong bài tốn TC Trang 53 Hình 20. Các trường hợp đạt cực trị của hàm Cụ thể hơn thì cơng thức để tính u1 và u2 là: Đầu tiên tính: Với: ; i = 1, 2
phải thỏa mãn điều kiện nằm trong hình hộp nên ta cĩ như
sau:
Nếu K11 + K22 – K12 > 0, F(u2) là hàm bậc hai lồi do đĩ cực đại chỉ cĩ thể đạt
được tại L hoặc H (tức hay )
c) Điều kiện dừng là khi tất cả các thành phần của u thỏa mãn điều kiện KKT
theo một ngưỡng nào đĩ.