Nền tảnggiáo trình tự học
Chương 1320 phút đọcTối ưu lồi và SVM

13Máy vector hỗ trợ#

Quay lại perceptron ở Mục 6.2: trên dữ liệu tách được, nó dừng ở siêu phẳng tách đúng đầu tiên mà nó tìm được, trong khi có vô số siêu phẳng như vậy. Với phiên bản tách được của sáu sinh viên ở Mục 6.5, ba người ôn 1, 2, 3 giờ trượt và ba người ôn 4, 5, 6 giờ đỗ, nên mọi ngưỡng nằm giữa 3 và 4 giờ đều tách đúng. Perceptron xuất phát từ w=0w = 0, duyệt lần lượt sáu người theo thứ tự, và dừng ở w=3w = 3, hệ số chặn −10-10, tức ngưỡng 3133\tfrac13 giờ, cách sinh viên 3 chỉ một phần ba giờ. Máy vector hỗ trợ (support vector machine, SVM) đặt ra một tiêu chí để chọn giữa chúng: lấy siêu phẳng cách xa dữ liệu nhất. Tiêu chí đơn giản này dẫn tới một bài toán tối ưu có ràng buộc, và toàn bộ công cụ của Chương 11 và 12 giờ được dùng tới: bài toán là lồi, điều kiện bù chỉ ra những điểm quyết định nghiệm, và bài toán đối ngẫu mở đường cho kernel, cách để SVM vẽ được biên quyết định phi tuyến.

13.1Ý tưởng lề cực đại#

Khi dữ liệu tách được tuyến tính, có vô số siêu phẳng tách đúng hai lớp. Perceptron dừng ở siêu phẳng đầu tiên nó tìm được, và siêu phẳng đó có thể nằm sát một điểm dữ liệu. Một điểm mới ở gần điểm đó, chỉ lệch đi một chút vì nhiễu, có thể bị phân loại sai.

SVM chọn siêu phẳng có lề lớn nhất, tức khoảng cách từ siêu phẳng tới điểm dữ liệu gần nhất là lớn nhất. Siêu phẳng như vậy nằm "chính giữa" khoảng trống giữa hai lớp. Với sáu sinh viên tách được, đó là ngưỡng 3,5 giờ, cách đều sinh viên 3 và sinh viên 4 nửa giờ. Trực giác là biên càng xa dữ liệu thì càng chịu được nhiễu. Lý thuyết học thống kê (Vapnik, 1995) chính xác hoá trực giác này: với dữ liệu nằm trong hình cầu bán kính RR, chiều VC của lớp các siêu phẳng có lề ít nhất γ\gamma không vượt quá min⁡(⌈R2/γ2⌉,d)+1\min\big(\lceil R^2/\gamma^2\rceil, d\big) + 1. Khi lề đủ rộng, độ phức tạp của mô hình được kiểm soát bởi tỉ số R/γR/\gamma chứ không bởi số chiều. Tỉ số này cũng là đại lượng xuất hiện trong định lý Novikoff ở Mục 6.2.

13.2Bài toán tối ưu của SVM lề cứng#

Theo Định lý 2.1, khoảng cách từ xix_i tới siêu phẳng w⊤x+b=0w^\top x + b = 0 là ∣w⊤xi+b∣/∥w∥|w^\top x_i + b|/\|w\|. Siêu phẳng không đổi nếu nhân ww và bb với cùng một số dương, nên ta có thể chọn thang đo sao cho điểm gần nhất thoả ∣w⊤xi+b∣=1|w^\top x_i + b| = 1. Khi đó mọi điểm thoả yi(w⊤xi+b)≥1y_i(w^\top x_i + b) \ge 1, và khoảng cách giữa hai siêu phẳng w⊤x+b=+1w^\top x + b = +1 và w⊤x+b=−1w^\top x + b = -1, tức độ rộng của lề, bằng 2/∥w∥2/\|w\|.

Cực đại 2/∥w∥2/\|w\| tương đương cực tiểu ∥w∥\|w\|, và tương đương cực tiểu 12∥w∥2\tfrac12\|w\|^2, dạng thuận tiện hơn vì khả vi.

Định nghĩa 13.1 (SVM lề cứng)

Với dữ liệu tách được tuyến tính, SVM lề cứng giải bài toán

min⁡w,b  12∥w∥2vớiyi(w⊤xi+b)≥1,i=1,…,n.\min_{w,b} \;\tfrac12\|w\|^2 \qquad\text{với}\qquad y_i(w^\top x_i + b) \ge 1, \quad i = 1, \dots, n.

Hàm mục tiêu là hàm bậc hai lồi với Hessian bằng ma trận đơn vị, còn các ràng buộc là affine. Đây là một bài toán quy hoạch toàn phương lồi ở đúng dạng chuẩn của Mục 12.1, nên có nghiệm duy nhất và mọi công cụ của Chương 12 đều áp dụng được.

Với sáu sinh viên tách được, mỗi người có một ràng buộc yi(wxi+b)≥1y_i(w x_i + b) \ge 1, với yi=−1y_i = -1 cho người trượt và +1+1 cho người đỗ. Hai ràng buộc chặt nhất thuộc về hai người gần ngưỡng nhất: sinh viên 4 cần 4w+b≥14w + b \ge 1, sinh viên 3 cần 3w+b≤−13w + b \le -1. Trừ hai bất đẳng thức cho nhau được w≥2w \ge 2. Muốn 12w2\tfrac12 w^2 nhỏ nhất thì lấy w=2w = 2, kéo theo b=−7b = -7. Biên 2x−7=02x - 7 = 0 nằm ở 3,5 giờ, và lề rộng 2/w=12/w = 1 giờ, đúng khoảng trống từ 3 tới 4 giờ. Bốn người còn lại thoả ràng buộc với dư: sinh viên 2 và 5 có yi(wxi+b)=3y_i(w x_i + b) = 3, sinh viên 1 và 6 có 5.

13.3Bài toán đối ngẫu và vector hỗ trợ#

Viết ràng buộc ở dạng chuẩn, 1−yi(w⊤xi+b)≤01 - y_i(w^\top x_i + b) \le 0, và lập hàm Lagrange:

L(w,b,α)=12∥w∥2+∑i=1nαi[1−yi(w⊤xi+b)],αi≥0.\mathcal{L}(w, b, \alpha) = \tfrac12\|w\|^2 + \sum_{i=1}^n \alpha_i\big[1 - y_i(w^\top x_i + b)\big], \qquad \alpha_i \ge 0.

Cho đạo hàm theo ww và bb bằng 0, ta được

∇wL=w−∑iαiyixi=0  ⟹  w=∑iαiyixi,∂L∂b=−∑iαiyi=0.\begin{aligned} \nabla_w \mathcal{L} &= w - \sum_i \alpha_i y_i x_i = 0 \;\Longrightarrow\; w = \sum_{i}\alpha_i y_i x_i, \\ \frac{\partial\mathcal{L}}{\partial b} &= -\sum_i \alpha_i y_i = 0. \end{aligned}

Thay ww trở lại hàm Lagrange, số hạng chứa bb biến mất nhờ ∑iαiyi=0\sum_i \alpha_i y_i = 0, và ta được bài toán đối ngẫu.

Định lý 13.1 (Bài toán đối ngẫu của SVM lề cứng)

max⁡α∑iαi−12∑i,jαiαjyiyj xi⊤xjvớiαi≥0,∑iαiyi=0.\begin{aligned} \max_{\alpha} \quad & \sum_i \alpha_i - \tfrac12\sum_{i,j}\alpha_i\alpha_j y_i y_j \, x_i^\top x_j \\ \text{với} \quad & \alpha_i \ge 0, \quad \sum_i\alpha_i y_i = 0. \end{aligned}

Từ nghiệm α∗\alpha^*, trọng số là w∗=∑iαi∗yixiw^* = \sum_i \alpha_i^* y_i x_i, và bộ phân loại là f(x)=∑iαi∗yi xi⊤x+b∗f(x) = \sum_i \alpha_i^* y_i\, x_i^\top x + b^*.

Từ định lý rút ra ngay hai điều. Điều thứ nhất là w∗w^* là tổ hợp tuyến tính của các điểm dữ liệu, với trọng số αi∗yi\alpha_i^* y_i. Điều thứ hai đến từ điều kiện bù (Mục 12.4): αi∗ [1−yi(w∗⊤xi+b∗)]=0\alpha_i^*\,[1 - y_i(w^{*\top} x_i + b^*)] = 0, nên αi∗>0\alpha_i^* > 0 chỉ có thể xảy ra với những điểm có yi(w∗⊤xi+b∗)=1y_i(w^{*\top} x_i + b^*) = 1, tức nằm đúng trên lề. Các điểm đó gọi là vector hỗ trợ. Mọi điểm khác có αi∗=0\alpha_i^* = 0 và không đóng góp gì vào w∗w^*.

Hệ số chặn b∗b^* tính được từ một vector hỗ trợ bất kỳ: vì ys(w∗⊤xs+b∗)=1y_s(w^{*\top} x_s + b^*) = 1 và ys2=1y_s^2 = 1, ta có b∗=ys−w∗⊤xsb^* = y_s - w^{*\top} x_s. Trên thực tế người ta lấy trung bình trên mọi vector hỗ trợ để giảm sai số số học.

Với sáu sinh viên tách được, chỉ sinh viên 3 và 4 nằm trên lề, nên chỉ α3\alpha_3 và α4\alpha_4 có thể khác 0. Điều kiện ∑iαiyi=0\sum_i \alpha_i y_i = 0 cho α3=α4\alpha_3 = \alpha_4, và w=α4⋅4−α3⋅3=α4w = \alpha_4 \cdot 4 - \alpha_3 \cdot 3 = \alpha_4. Vì w=2w = 2, ta được α3=α4=2\alpha_3 = \alpha_4 = 2. Giá trị bài toán đối ngẫu là α3+α4−12w2=4−2=2\alpha_3 + \alpha_4 - \tfrac12 w^2 = 4 - 2 = 2, bằng giá trị 12w2=2\tfrac12 w^2 = 2 của bài toán gốc, và hệ số chặn tính từ sinh viên 4 là b=1−2⋅4=−7b = 1 - 2 \cdot 4 = -7. Bốn sinh viên còn lại có αi=0\alpha_i = 0: bỏ họ khỏi dữ liệu, nghiệm không đổi.

Thí nghiệm giải SVM bằng thư viện libsvm (qua scikit-learn) trên 120 điểm tách được, rồi kiểm tra các khẳng định trên từ nghiệm đối ngẫu:

Văn bản
Dung lai w tu nghiem doi ngau: lech so voi coef_ cua sklearn = 0.000e+00
Vector ho tro co thoa y_i(w.x_i + b) = 1 khong? lech lon nhat = 2.523e-08
So vector ho tro: 3 tren 120 diem (2.5%)

Doi ngau manh:
  gia tri bai toan goc  0.5*||w||^2  = 1.1037868651
  gia tri bai toan doi ngau          = 1.1037868254
  khe doi ngau                       = 3.961e-08
Le = 2/||w|| = 1.346085; khoang cach nho nhat tu diem toi sieu phang x 2 = 1.346085

Kết quả khớp với lý thuyết ở cả bốn điểm: công thức w=∑iαiyixiw = \sum_i\alpha_i y_i x_i cho đúng vector trọng số của thư viện; các vector hỗ trợ nằm trên lề với sai lệch 2,5×10−82{,}5\times10^{-8}; khe đối ngẫu bằng 4,0×10−84{,}0\times10^{-8}, tức bằng 0 trong phạm vi dung sai của bộ giải; và độ rộng lề 2/∥w∥2/\|w\| đúng bằng hai lần khoảng cách từ điểm gần nhất tới siêu phẳng.

Chỉ 3 trong 120 điểm là vector hỗ trợ. Bỏ 117 điểm còn lại khỏi tập huấn luyện và huấn luyện lại thì nghiệm không đổi. Tính thưa này của SVM là hệ quả trực tiếp của điều kiện bù.

13.4SVM lề mềm#

Bài toán ở Định nghĩa 13.1 vô nghiệm khi dữ liệu không tách được tuyến tính, và ngay cả khi tách được, một điểm nhiễu nằm lẫn sang lớp kia có thể ép lề hẹp lại rất nhiều. SVM lề mềm (Cortes và Vapnik, 1995) cho phép vi phạm lề nhưng tính giá cho mỗi vi phạm.

Định nghĩa 13.2 (SVM lề mềm)

Với các biến bù ξi≥0\xi_i \ge 0 và tham số C>0C > 0:

min⁡w,b,ξ12∥w∥2+C∑i=1nξivớiyi(w⊤xi+b)≥1−ξi,ξi≥0.\begin{aligned} \min_{w,b,\xi} \quad & \tfrac12\|w\|^2 + C\sum_{i=1}^n \xi_i \\ \text{với} \quad & y_i(w^\top x_i + b) \ge 1 - \xi_i, \quad \xi_i \ge 0. \end{aligned}

Biến bù ξi\xi_i đo mức vi phạm của điểm thứ ii: ξi=0\xi_i = 0 nếu điểm nằm ngoài lề và đúng phía, 0<ξi≤10 < \xi_i \le 1 nếu điểm nằm trong lề nhưng vẫn đúng phía, ξi>1\xi_i > 1 nếu điểm bị phân loại sai. Tại nghiệm tối ưu, ξi=max⁡(0,1−yi(w⊤xi+b))\xi_i = \max(0, 1 - y_i(w^\top x_i + b)), đúng bằng mất mát hinge ở Mục 6.1. Do đó bài toán tương đương với

min⁡w,b  12∥w∥2+C∑i=1nmax⁡(0, 1−yi(w⊤xi+b)),\min_{w,b}\; \tfrac12\|w\|^2 + C\sum_{i=1}^n \max\big(0,\ 1 - y_i(w^\top x_i + b)\big),

tức mất mát hinge cộng regularization ℓ2\ell_2. Cách viết này cho thấy SVM lề mềm nằm trong cùng khung với hồi quy logistic có regularization: cùng mô hình tuyến tính, cùng thành phần phạt ∥w∥2\|w\|^2, khác nhau ở hàm mất mát. Tham số CC đóng vai trò nghịch đảo của hệ số regularization: CC lớn nghĩa là phạt vi phạm nặng, tức regularization yếu.

Bài toán đối ngẫu của SVM lề mềm giống hệt Định lý 13.1, chỉ thêm chặn trên αi≤C\alpha_i \le C. Điều kiện KKT chia các điểm dữ liệu thành ba nhóm, như bảng dưới.

Nhân tử αi\alpha_i Vị trí của điểm Ảnh hưởng tới nghiệm
αi=0\alpha_i = 0 ngoài lề, đúng phía (yif(xi)≥1y_i f(x_i) \ge 1) không
0<αi<C0 < \alpha_i < C đúng trên lề (yif(xi)=1y_i f(x_i) = 1) có
αi=C\alpha_i = C vi phạm lề: trong lề hoặc sai phía (yif(xi)≤1y_i f(x_i) \le 1) có

Sáu sinh viên ban đầu, với sinh viên 3 đỗ và sinh viên 4 trượt, có đủ cả ba nhóm. Dữ liệu này không tách được nên SVM lề cứng vô nghiệm. Với lề mềm và mọi C≥1/3C \ge 1/3, nghiệm là w=2/3w = 2/3, b=−7/3b = -7/3: biên vẫn ở 3,5 giờ, hai mép lề ở 2 giờ và 5 giờ, lề rộng 3 giờ. Sinh viên 1 và 6 nằm ngoài lề, yif(xi)=5/3y_i f(x_i) = 5/3, nên αi=0\alpha_i = 0. Sinh viên 2 và 5 nằm đúng trên mép lề, yif(xi)=1y_i f(x_i) = 1, với 0<αi<C0 < \alpha_i < C; ở C=1C = 1 thì αi≈0,556\alpha_i \approx 0{,}556. Sinh viên 3 và 4 nằm sai phía, yif(xi)=−1/3y_i f(x_i) = -1/3, nên αi=C\alpha_i = C. Tăng CC thêm nữa không đổi nghiệm, vì tăng ww chỉ làm lề hẹp lại mà không cứu được sinh viên 3 và 4: không ngưỡng nào phân loại đúng cả hai người. Ngược lại, khi CC nhỏ thì vi phạm rẻ và lề rộng ra: ở C=0,1C = 0{,}1, w=0,4w = 0{,}4, hai mép lề ở 1 giờ và 6 giờ, và cả sáu sinh viên đều là vector hỗ trợ.

Thí nghiệm trên hai lớp chồng lấn nhau, với năm giá trị CC, đếm số điểm trong từng nhóm.

Hình 9
Hình 9. Trái và giữa: cùng một tập dữ liệu với hai giá trị CC; đường liền là biên quyết định, hai đường đứt là hai mép lề. Phải: SVM với kernel RBF trên dữ liệu hai đường tròn đồng tâm.
CC Lề 2/∣w∣2/|w| Số vector hỗ trợ Đúng trên lề Vi phạm lề Sai số huấn luyện Sai số kiểm tra
0,003 5,6121 114 0 114 0,1500 0,1795
0,030 2,6409 66 3 63 0,1750 0,1727
0,300 1,8286 48 3 45 0,1583 0,1790
3,000 1,7312 45 3 42 0,1667 0,1795
300,000 1,7311 45 3 42 0,1667 0,1795

Với CC nhỏ, vi phạm rẻ nên lề rộng (5,61) và rất nhiều điểm vi phạm lề: ở C=0,003C = 0{,}003, cả 114 vector hỗ trợ đều là điểm vi phạm, không điểm nào nằm đúng trên lề. Với CC lớn, vi phạm đắt nên lề hẹp lại (1,73) và số vector hỗ trợ giảm còn 45. Từ C=3C = 3 trở lên nghiệm gần như không đổi, vì các điểm vi phạm còn lại là những điểm nằm sâu trong vùng chồng lấn, không siêu phẳng nào tránh được, giống sinh viên 3 và 4 ở trên.

Sai số kiểm tra chỉ dao động trong khoảng 0,173 tới 0,180, tức CC ảnh hưởng ít tới chất lượng trong thí nghiệm này. Điều đó phản ánh bản chất của dữ liệu: biên tối ưu ở đây vốn là tuyến tính, và SVM tuyến tính không đủ linh hoạt để overfitting đáng kể. Với kernel phi tuyến, mô hình linh hoạt hơn nhiều, và CC trở thành siêu tham số quan trọng cần chọn bằng cross-validation.

13.5Kernel#

Bài toán đối ngẫu ở Định lý 13.1 và bộ phân loại f(x)=∑iαiyi xi⊤x+bf(x) = \sum_i \alpha_i y_i\, x_i^\top x + b chỉ dùng dữ liệu qua các tích vô hướng. Giả sử ta muốn biến đổi dữ liệu sang một không gian đặc trưng mới bằng ánh xạ φ\varphi, chẳng hạn thêm các đặc trưng bậc hai, rồi chạy SVM tuyến tính trong không gian mới. Khi đó ta chỉ cần tính được tích vô hướng trong không gian mới:

K(x,x′)=φ(x)⊤φ(x′).K(x, x') = \varphi(x)^\top \varphi(x').

Hàm KK gọi là kernel. Nếu KK tính được trực tiếp từ xx và x′x' mà không cần tính φ\varphi, ta làm việc được trong không gian đặc trưng mà không bao giờ phải dựng nó. Kỹ thuật này gọi là thủ thuật kernel (kernel trick).

Ví dụ 13.1

Với x∈R2x \in \mathbb{R}^2, xét K(x,z)=(x⊤z)2K(x, z) = (x^\top z)^2. Khai triển:

(x1z1+x2z2)2=x12z12+2x1x2z1z2+x22z22=φ(x)⊤φ(z),φ(x)=(x12, 2 x1x2, x22).\begin{aligned} (x_1 z_1 + x_2 z_2)^2 &= x_1^2 z_1^2 + 2x_1x_2 z_1z_2 + x_2^2 z_2^2 \\ &= \varphi(x)^\top\varphi(z), \qquad \varphi(x) = \big(x_1^2,\ \sqrt2\,x_1x_2,\ x_2^2\big). \end{aligned}

Tính KK trực tiếp tốn một tích vô hướng hai chiều và một phép bình phương. Chẳng hạn với x=(1,2)x = (1, 2) và z=(3,−1)z = (3, -1): x⊤z=1x^\top z = 1 nên K(x,z)=1K(x, z) = 1; còn φ(x)=(1; 22; 4)\varphi(x) = (1;\ 2\sqrt2;\ 4) và φ(z)=(9; −32; 1)\varphi(z) = (9;\ -3\sqrt2;\ 1) cho φ(x)⊤φ(z)=9−12+4=1\varphi(x)^\top\varphi(z) = 9 - 12 + 4 = 1. Với x∈Rdx \in \mathbb{R}^d và kernel đa thức bậc pp, không gian đặc trưng có số chiều cỡ dpd^p, trong khi KK vẫn chỉ tốn O(d)O(d).

Không phải hàm hai biến nào cũng là một kernel. Điều kiện cần và đủ, theo định lý Mercer, là với mọi tập điểm x1,…,xnx_1, \dots, x_n, ma trận kernel [K(xi,xj)]i,j[K(x_i, x_j)]_{i,j} đối xứng và nửa xác định dương. Điều kiện này bảo đảm bài toán đối ngẫu vẫn lồi. Bảng dưới liệt kê ba kernel thông dụng.

Kernel Công thức Không gian đặc trưng
Tuyến tính x⊤x′x^\top x' chính Rd\mathbb{R}^d
Đa thức bậc pp (γ x⊤x′+r)p(\gamma\, x^\top x' + r)^p mọi đơn thức bậc không quá pp
RBF (Gauss) exp⁡(−γ∣x−x′∣2)\exp(-\gamma|x - x'|^2) vô hạn chiều

Kernel RBF cho giá trị gần 1 khi hai điểm gần nhau và gần 0 khi chúng xa nhau, nên có thể hiểu nó như một thước đo độ giống nhau. Tham số γ\gamma quyết định "gần" là bao xa: γ\gamma lớn làm mỗi điểm chỉ ảnh hưởng một vùng rất nhỏ quanh nó, biên quyết định uốn lượn theo từng điểm và dễ overfitting; γ\gamma nhỏ làm biên trơn. Không gian đặc trưng của kernel RBF có vô hạn chiều, nhưng mỗi lần tính kernel chỉ tốn O(d)O(d).

Thí nghiệm trên dữ liệu hai đường tròn đồng tâm, loại dữ liệu không tách được bằng bất kỳ đường thẳng nào, cho kết quả sau.

Kernel Độ chính xác
Tuyến tính 0,6150
Đa thức bậc 2 1,0000
RBF 1,0000

Kernel đa thức bậc 2 đạt độ chính xác tuyệt đối vì không gian đặc trưng của nó chứa x12x_1^2 và x22x_2^2, nên chứa x12+x22x_1^2 + x_2^2, bình phương khoảng cách tới tâm, đúng là đại lượng phân biệt hai đường tròn. Ví dụ này minh hoạ một nguyên tắc chung: chọn kernel là đưa vào mô hình một giả thiết về dạng của biên quyết định.

13.6SVM nhiều lớp và chi phí tính toán#

SVM được thiết kế cho hai lớp. Có ba cách mở rộng sang KK lớp, tóm tắt trong bảng dưới.

Cách Số mô hình Ghi chú
Một chọi phần còn lại (one-vs-rest) KK đơn giản; điểm số của các mô hình không cùng thang đo
Một chọi một (one-vs-one) K(K−1)/2K(K-1)/2 mỗi mô hình chỉ học trên dữ liệu hai lớp; cách mặc định của libsvm
Crammer–Singer 1 một bài toán tối ưu chung cho mọi lớp; ít dùng hơn

Điểm yếu thật sự của SVM với kernel là chi phí tính toán. Huấn luyện cần làm việc với ma trận kernel n×nn \times n, và các thuật toán thực tế như SMO có chi phí trong khoảng O(n2)O(n^2) tới O(n3)O(n^3) tuỳ dữ liệu. Khi dự đoán, phải tính kernel giữa điểm mới và mọi vector hỗ trợ, mà số vector hỗ trợ thường tăng tuyến tính theo nn khi dữ liệu chồng lấn. Với nn cỡ hàng triệu, cả hai chi phí đều quá lớn, trong khi mỗi epoch của SGD trên mạng nơ-ron chỉ tốn chi phí tuyến tính theo nn. Vì vậy SVM với kernel ít được dùng cho dữ liệu rất lớn, và lý do không nằm ở độ chính xác.

SVM vẫn là lựa chọn tốt khi số điểm dữ liệu vừa phải, tới vài chục nghìn, số đặc trưng lớn so với số điểm, và cần một mô hình mạnh với ít siêu tham số. Với dữ liệu văn bản biểu diễn bằng vector TF-IDF, SVM tuyến tính đến nay vẫn là một mô hình cơ sở rất khó vượt qua.

13.7Tóm tắt#

SVM chọn siêu phẳng có lề lớn nhất, và với thang đo chọn sao cho điểm gần nhất có ∣w⊤x+b∣=1|w^\top x + b| = 1, bài toán trở thành cực tiểu 12∥w∥2\tfrac12\|w\|^2 dưới các ràng buộc affine, một bài toán lồi. Với sáu sinh viên tách được, SVM đặt ngưỡng ở 3,5 giờ với w=2w = 2, b=−7b = -7, trong khi perceptron dừng ở 3133\tfrac13 giờ. Bài toán đối ngẫu cho w=∑iαiyixiw = \sum_i \alpha_i y_i x_i, và điều kiện bù làm αi\alpha_i bằng 0 với mọi điểm không nằm trên lề, nên chỉ vài vector hỗ trợ quyết định nghiệm: sinh viên 3 và 4 với α3=α4=2\alpha_3 = \alpha_4 = 2 trong ví dụ, 3 trên 120 điểm trong thí nghiệm, với khe đối ngẫu cỡ 4×10−84 \times 10^{-8}. SVM lề mềm thêm biến bù và tương đương với mất mát hinge cộng regularization ℓ2\ell_2, với CC là nghịch đảo của cường độ regularization; trên sáu sinh viên ban đầu, nó chia các điểm thành ba nhóm của điều kiện KKT, với sinh viên 3 và 4 vi phạm lề ở mọi CC. Vì bài toán đối ngẫu chỉ dùng tích vô hướng, thay tích vô hướng bằng kernel cho biên phi tuyến mà không phải dựng không gian đặc trưng. Điểm yếu của SVM với kernel là chi phí tăng nhanh theo số điểm dữ liệu.

Mười ba chương đầu đều làm việc với dữ liệu có nhãn. Ba chương còn lại chuyển sang dữ liệu không có nhãn, bắt đầu bằng câu hỏi: trong hàng trăm đặc trưng, những hướng nào thật sự mang thông tin? Chương 14 trả lời bằng PCA.


Tự kiểm tra

6 câu. Chọn đáp án để xem ngay lời giải thích.

  1. 1SVM chọn siêu phẳng nào trong các siêu phẳng tách đúng dữ liệu?

  2. 2Trong thí nghiệm ở Mục 13.3, có bao nhiêu vector hỗ trợ?

  3. 3Điều kiện KKT chia các điểm trong SVM lề mềm thành những nhóm nào?

  4. 4SVM lề mềm tương đương với bài toán nào?

  5. 5Thủ thuật kernel cho phép làm gì?

  6. 6Vì sao SVM với kernel ít được dùng cho dữ liệu rất lớn?

Đã trả lời 0/6