2.5.2. Siêu phẳng (hyperplane)
Siêu phẳng [22] là một yếu tố quan trọng c a thuật tốn SVM. Giả sử có hai lớp dữ liệu đã đƣợc phân loại nhƣ trong hình 2.19. Một cách trực quan, ta thấy có vơ số đƣờng thẳng có thể phân chia hai lớp dữ liệu thành hai miền khác nhau, các đƣờng này đƣợc gọi là siêu phẳng. Tuy nhiên với đƣờng phân chia H5, đã có một điểm bị phân loại nhầm. Nhƣ vậy, cần tìm ra siêu phẳng tốt nhất để phân lớp dữ liệu. Siêu phẳng mà SVM tìm kiếm là siêu phẳng có giá trị lề lớn nhất, hay cịn gọi là siêu phẳng với lề cực đại (maximal margin hyperplane).
Lề cực đại (maximal margin) là khoảng cách lớn nhất c a siêu phẳng biên song song với siêu phẳng mà không ch a điểm dữ liệu nào bên trong nó.
Các vector hỗ trợ (support vectors) là các điểm dữ liệu gần nhất với siêu phẳng phân cách, những điểm này nằm trên siêu phẳng biên, nhƣ trong hình 2.22.
x1 x2
Support vector Support vector
Hình 2.22. Các siêu phẳng phân chia tập mẫu thành hai lớp và support vector
trong SVM.
Để phân loại tốt nhất thì phải xác định siêu phẳng tối ƣu (Optimal hyperplane) nằm ở càng xa các điểm dữ liệu c a tất cả các lớp càng tốt. Lề càng lớn thì sai số tổng qt hóa c a thuật tốn phân loại càng bé. Muốn các điểm dữ liệu có
thể đƣợc chia tách một cách tuyến tính, cần xác định hai siêu phẳng biên sao cho khơng có điểm nào ở giữa chúng và khoảng cách giữa chúng là lớn nhất.
2.5.3. Phân loại tuyến tính với lề cực đại (maximum-margin linear classifier)
Xây dựng một hàm tuyến tính để phân tách một tập dữ liệu phân loại hai lớp rời nhau. Dữ liệu phân loại hai lớp là một tập các đối tƣợng S gồm l phần tử, trong
đó mỗi phần tử đƣợc mơ tả bởi một vector d chiều và một giá trị nhãn +1 hoặc −1:
S = (xi, yi), xi ∈ Rd, yi ∈ {−1, 1} , i = 1, ..., l . (2.13)
Giả sử phân tách đƣợc các mẫu có nhãn +1 (các hình trịn đặc) ra khỏi các mẫu có nhãn −1 (các hình trịn rỗng) nhƣ hình 2.22.
Khi đó tồn tại một siêu phẳng có phƣơng trình f(x) = w.x + b (2.14) trong không gian Rd nằm giữa hay chia đôi tập dữ liệu S thành hai phần, mỗi phần
gồm toàn các đối tƣợng chung một nhãn +1 hay −1. Trong đó:
xi: Là một vector thực nhiều chiều (n chiều).
w: Vector trọng số, w={w1,w2, wn}. n: Số thuộc tính (hay số chiều dữ liệu). b: một đại lƣợng vô hƣớng (bias).
Các siêu phẳng này là các đƣờng thẳng trong không gian hai chiều, mặt phẳng trong không gian ba chiều, và tổng quát hơn là các không gian con Rd−1 chiều trong không gian Rd. Khi tập dữ liệu S đƣợc dùng để xây dựng nên các siêu phẳng thì S
thƣờng đƣợc gọi là tập huấn luyện và các phần tử trong đó đƣợc gọi là dữ liệu (hay vector huấn luyện).
Các điểm xi nằm trên siêu phẳng thỏa mãn: w.x + b=0 (2.15)
w là một vectơ pháp tuyến c a siêu phẳng và khoảng cách từ siêu phẳng đến gốc tọa
độ là
w b
, trong đó w là độ lớn c a w. Nếu gọi d+ (hoặc d-) là khoảng cách ngắn
nhất từ siêu phẳng đến các mẫu có nhãn +1 (các mẫu có nhãn -1). Lề c a siêu phẳng là (d+ d-) [23, 24]. Đối với dữ liệu khả phân tuyến tính, các vector hỗ trợ tìm các siêu phẳng phân cách có giá trị lề càng lớn càng tốt. Giả sử tất cả các dữ liệu huấn luyện thỏa mãn điều kiện:
w.xi + b ≥ +1 khi yi = +1, (2.16) w.xi + b ≤ −1 khi yi = −1, (2.17)
kết hợp (2.16) và (2.17), ta có : yi(w.xi + b) − 1 ≥ 0, i = 1, ...l. (2.18)
hay yi(w.xi + b) ≥ 1, (lề hàm bằng 1). (2.19)
Khi dấu bằng trong (2.19) xảy ra, ta có các điểm nằm trên đƣờng biên giới hạn c a siêu phẳng H+: w.xi + b = +1 và khoảng cách đến gốc tọa độ là 1b / w . Tƣơng tự, các điểm nằm trên đƣờng biên giới hạn c a siêu phẳng H-: w.xi + b = -1
có khoảng cách đến gốc tọa độ là 1b/ w . Vì vậy, dd1/ w và độ lớn lề
là2/ w . Vấn đề là tìm w và b tối ƣu. Ta có thể tìm cặp siêu phẳng sao cho độ lớn lề cực đại tƣơng đƣơng với việc tìm siêu phẳng f có giá trị w nhỏ nhất thỏa mãn điều
kiện 2 , 2 1 min w b w (2.20), thỏa mãn phƣơng trình (2.18).
Công việc này đƣợc thực hiện bằng cách chuyển phƣơng trình (2.18) sang vấn đề tƣơng ng với tiên đề Lagrange.
l i i i i l i i p wb w y wx b L 1 1 2 ) . ( 2 1 ) , , ( (2.21) Trong đó i 0 là các nhân tử Lagrange.
x1 x2
H+
H-