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

12Tối ưu lồi và đối ngẫu Lagrange#

SVM ở Chương 13 là một bài toán tối ưu có ràng buộc: tìm siêu phẳng có lề lớn nhất, với điều kiện mọi điểm nằm đúng phía. Gradient descent không xử lý trực tiếp được ràng buộc, nên ta cần một công cụ khác. Công cụ đó là phương pháp Lagrange, với ý tưởng thay việc cấm vi phạm ràng buộc bằng việc tính giá cho mỗi đơn vị vi phạm. Từ ý tưởng này sẽ ra bài toán đối ngẫu và điều kiện KKT, và từ điều kiện KKT sẽ ra khái niệm vector hỗ trợ. Một ví dụ một biến được dùng xuyên suốt chương để mọi khái niệm đều có thể tính tay.

12.1Bài toán tối ưu có ràng buộc#

Định nghĩa 12.1 (Dạng chuẩn)

Bài toán tối ưu có ràng buộc ở dạng chuẩn là

min⁡xf0(x)vớifi(x)≤0,i=1,…,m,hj(x)=0,j=1,…,p.\begin{aligned} \min_x \quad & f_0(x) \\ \text{với} \quad & f_i(x) \le 0, \quad i = 1, \dots, m, \\ & h_j(x) = 0, \quad j = 1, \dots, p. \end{aligned}

Điểm thoả mọi ràng buộc gọi là điểm chấp nhận được. Giá trị tối ưu ký hiệu là p∗p^*. Bài toán gọi là bài toán lồi nếu f0,f1,…,fmf_0, f_1, \dots, f_m là hàm lồi và mọi hjh_j là hàm affine.

Ràng buộc đẳng thức phải là affine, không chỉ lồi, vì tập {x:h(x)=0}\{x : h(x) = 0\} với hh lồi nhưng không affine thường không lồi. Chẳng hạn h(x)=∥x∥2−1h(x) = \|x\|^2 - 1 lồi, nhưng {x:∥x∥2=1}\{x : \|x\|^2 = 1\} là mặt cầu, không phải tập lồi.

Ví dụ 12.1 (Ví dụ xuyên suốt chương)

Tìm min⁡xx2\min_x x^2 với ràng buộc x≥1x \ge 1. Viết ở dạng chuẩn: f0(x)=x2f_0(x) = x^2, f1(x)=1−x≤0f_1(x) = 1 - x \le 0. Nghiệm hiển nhiên là x∗=1x^* = 1 với p∗=1p^* = 1: không có ràng buộc thì cực tiểu ở x=0x = 0, nhưng điểm này không chấp nhận được, nên nghiệm nằm ở biên của miền ràng buộc.

12.2Hàm Lagrange và hàm đối ngẫu#

Ý tưởng của phương pháp Lagrange là thay việc cấm vi phạm ràng buộc bằng việc tính giá cho mỗi đơn vị vi phạm. Ta gắn cho mỗi ràng buộc bất đẳng thức một giá αi≥0\alpha_i \ge 0 và cho mỗi ràng buộc đẳng thức một giá νj\nu_j.

Định nghĩa 12.2 (Hàm Lagrange, hàm đối ngẫu)

Hàm Lagrange của bài toán ở Định nghĩa 12.1 là

L(x,α,ν)=f0(x)+∑i=1mαifi(x)+∑j=1pνjhj(x),\mathcal{L}(x, \alpha, \nu) = f_0(x) + \sum_{i=1}^{m}\alpha_i f_i(x) + \sum_{j=1}^{p}\nu_j h_j(x),

với các nhân tử Lagrange αi≥0\alpha_i \ge 0 và νj∈R\nu_j \in \mathbb{R}. Hàm đối ngẫu là cực tiểu của hàm Lagrange theo xx:

g(α,ν)=inf⁡xL(x,α,ν).g(\alpha, \nu) = \inf_x \mathcal{L}(x, \alpha, \nu).

Điều kiện αi≥0\alpha_i \ge 0 là bắt buộc: khi ràng buộc bị vi phạm, tức fi(x)>0f_i(x) > 0, số hạng αifi(x)\alpha_i f_i(x) phải làm tăng giá trị hàm, nghĩa là một khoản phạt.

Hàm đối ngẫu gg luôn là hàm lõm theo (α,ν)(\alpha, \nu), kể cả khi bài toán gốc không lồi. Lý do là với mỗi xx cố định, L\mathcal{L} là hàm affine theo (α,ν)(\alpha, \nu), và cận dưới đúng (infimum) của một họ hàm affine luôn là hàm lõm. Nhờ vậy bài toán cực đại gg luôn là một bài toán tối ưu lồi, dù bài toán gốc khó tới đâu.

Ví dụ 12.2

Với Ví dụ 12.1, L(x,α)=x2+α(1−x)\mathcal{L}(x, \alpha) = x^2 + \alpha(1 - x). Cực tiểu theo xx: đạo hàm 2x−α=02x - \alpha = 0 cho x=α/2x = \alpha/2. Thay vào:

g(α)=α24+α(1−α2)=α−α24,α≥0.g(\alpha) = \frac{\alpha^2}{4} + \alpha\Big(1 - \frac{\alpha}{2}\Big) = \alpha - \frac{\alpha^2}{4}, \qquad \alpha \ge 0.

Đây là một parabol úp xuống, đúng là hàm lõm.

12.3Đối ngẫu yếu và đối ngẫu mạnh#

Định lý 12.1 (Đối ngẫu yếu)

Với mọi α≥0\alpha \ge 0 và mọi ν\nu: g(α,ν)≤p∗g(\alpha, \nu) \le p^*.

Chứng minh

Lấy xx bất kỳ chấp nhận được. Vì fi(x)≤0f_i(x) \le 0, αi≥0\alpha_i \ge 0 và hj(x)=0h_j(x) = 0, ta có L(x,α,ν)≤f0(x)\mathcal{L}(x, \alpha, \nu) \le f_0(x). Do đó g(α,ν)≤L(x,α,ν)≤f0(x)g(\alpha, \nu) \le \mathcal{L}(x, \alpha, \nu) \le f_0(x). Lấy cận dưới đúng theo mọi xx chấp nhận được, vế phải trở thành p∗p^*.

Mỗi giá trị của hàm đối ngẫu là một chặn dưới của giá trị tối ưu. Với ví dụ xuyên suốt, g(0)=0g(0) = 0, g(1)=0,75g(1) = 0{,}75, g(3)=0,75g(3) = 0{,}75 và g(4)=0g(4) = 0, đều không vượt quá p∗=1p^* = 1. Bài toán đối ngẫu là tìm chặn dưới tốt nhất:

d∗=max⁡α≥0, νg(α,ν)  ≤  p∗.d^{*} = \max_{\alpha \ge 0,\, \nu} g(\alpha, \nu) \;\le\; p^{*}.

Hiệu p∗−d∗≥0p^* - d^* \ge 0 gọi là khe đối ngẫu. Khi khe bằng 0 ta có đối ngẫu mạnh, và giải bài toán đối ngẫu cho đúng giá trị tối ưu của bài toán gốc.

Định lý 12.2 (Điều kiện Slater)

Nếu bài toán là lồi và tồn tại một điểm chấp nhận được thoả mọi ràng buộc bất đẳng thức một cách chặt, fi(x)<0f_i(x) < 0 với mọi ii, thì đối ngẫu mạnh xảy ra.

Điều kiện Slater yêu cầu miền chấp nhận được có "phần trong", và hầu hết các bài toán lồi trong học máy thoả điều kiện này. Chẳng hạn, với SVM lề cứng trên dữ liệu tách được, nhân một siêu phẳng tách đúng với một hệ số đủ lớn cho một điểm thoả mọi ràng buộc một cách chặt.

Ví dụ 12.3

Tiếp tục Ví dụ 12.2: g(α)=α−α2/4g(\alpha) = \alpha - \alpha^2/4 đạt cực đại tại α∗=2\alpha^* = 2, với d∗=g(2)=1d^* = g(2) = 1. Vậy d∗=p∗=1d^* = p^* = 1 và khe đối ngẫu bằng 0. Điều kiện Slater thoả vì điểm x=2x = 2 có f1(2)=−1<0f_1(2) = -1 < 0.

Có thể hiểu vì sao giá tốt nhất là 2. Với giá α\alpha, cực tiểu của hàm Lagrange theo xx là x=α/2x = \alpha/2. Giá quá thấp thì vi phạm ràng buộc vẫn có lời: với α=1\alpha = 1, cực tiểu là x=0,5x = 0{,}5, nằm ngoài miền x≥1x \ge 1. Giá quá cao thì ràng buộc bị thoả thừa: với α=3\alpha = 3, cực tiểu là x=1,5x = 1{,}5. Ở α=2\alpha = 2, cực tiểu rơi đúng vào x=1x = 1, điểm biên của ràng buộc, và chặn dưới chạm giá trị tối ưu.

12.4Điều kiện KKT#

Định lý 12.3 (Điều kiện Karush–Kuhn–Tucker)

Xét bài toán lồi có các hàm khả vi và thoả điều kiện Slater. Điểm x∗x^* là nghiệm tối ưu khi và chỉ khi tồn tại (α∗,ν∗)(\alpha^*, \nu^*) sao cho bốn nhóm điều kiện sau thoả:

Điều kiện Công thức Ý nghĩa
Chấp nhận được của bài toán gốc fi(x∗)≤0f_i(x^*) \le 0, hj(x∗)=0h_j(x^*) = 0 nghiệm thoả mọi ràng buộc
Chấp nhận được của bài toán đối ngẫu αi∗≥0\alpha_i^* \ge 0 giá không âm
Bù (complementary slackness) αi∗fi(x∗)=0\alpha_i^{*} f_i(x^{*}) = 0 ràng buộc không chặt thì giá bằng 0
Dừng ∇xL(x∗,α∗,ν∗)=0\nabla_x \mathcal{L}(x^*,\alpha^*,\nu^*) = 0 x∗x^* là điểm dừng của hàm Lagrange

Điều kiện bù là điều kiện quan trọng nhất cho Chương 13. Nó nói rằng với mỗi ràng buộc, một trong hai điều phải xảy ra: hoặc ràng buộc chặt tại nghiệm, fi(x∗)=0f_i(x^*) = 0, tức nghiệm nằm đúng trên biên của ràng buộc đó, hoặc giá của nó bằng 0, αi∗=0\alpha_i^* = 0. Một ràng buộc không chặt thì không ảnh hưởng tới nghiệm: bỏ nó đi, nghiệm không đổi.

Ví dụ 12.4

Với Ví dụ 12.1: điều kiện dừng 2x∗−α∗=02x^* - \alpha^* = 0, điều kiện bù α∗(1−x∗)=0\alpha^*(1 - x^*) = 0. Nếu α∗=0\alpha^* = 0 thì x∗=0x^* = 0, vi phạm ràng buộc x≥1x \ge 1. Vậy α∗>0\alpha^* > 0, kéo theo x∗=1x^* = 1 và α∗=2\alpha^* = 2, khớp với Ví dụ 12.3. Nếu đổi ràng buộc thành x≥−1x \ge -1, nghiệm là x∗=0x^* = 0, ràng buộc không chặt (0>−10 > -1), và điều kiện bù cho α∗=0\alpha^* = 0: ràng buộc này không có vai trò gì.

Nhân tử Lagrange còn có ý nghĩa giá bóng (shadow price): nó đo giá trị tối ưu thay đổi bao nhiêu khi ràng buộc được nới lỏng. Nếu ràng buộc fi(x)≤0f_i(x) \le 0 được nới thành fi(x)≤uf_i(x) \le u, thì ∂p∗/∂u=−αi∗\partial p^*/\partial u = -\alpha_i^*. Trong ví dụ, nới 1−x≤u1 - x \le u cho x≥1−ux \ge 1 - u và p∗(u)=(1−u)2p^*(u) = (1-u)^2, có đạo hàm tại u=0u = 0 bằng −2=−α∗-2 = -\alpha^*. Ràng buộc có giá lớn là ràng buộc đang "cản" nghiệm nhiều nhất.

Áp dụng vào SVM ở chương sau, điều kiện bù có nghĩa là chỉ những điểm dữ liệu nằm đúng trên lề mới có nhân tử αi>0\alpha_i > 0 và mới ảnh hưởng tới nghiệm. Đó là định nghĩa của vector hỗ trợ, và nó là hệ quả của điều kiện KKT chứ không phải một lựa chọn thiết kế.

12.5Ý nghĩa của bài toán đối ngẫu#

Có ba lý do để giải bài toán đối ngẫu thay vì bài toán gốc. Lý do đầu tiên là kích thước: bài toán gốc của SVM có dd biến là các trọng số, còn bài toán đối ngẫu có nn biến, mỗi điểm dữ liệu một nhân tử, nên khi dd lớn hơn nn nhiều thì bài toán đối ngẫu nhỏ hơn. Lý do thứ hai là chặn dưới: với bất kỳ α≥0\alpha \ge 0 nào, g(α)g(\alpha) là chặn dưới của p∗p^*, nên hiệu f0(x)−g(α)f_0(x) - g(\alpha) giữa một điểm chấp nhận được và một điểm đối ngẫu cho biết nghiệm hiện tại cách tối ưu tối đa bao xa, và nhiều thuật toán dùng khe này làm tiêu chí dừng. Với ví dụ xuyên suốt, điểm chấp nhận được x=1,2x = 1{,}2 có f0=1,44f_0 = 1{,}44 và g(1)=0,75g(1) = 0{,}75, nên x=1,2x = 1{,}2 cách tối ưu không quá 0,69 mà không cần biết p∗p^*; thực tế nó cách 0,44. Lý do thứ ba, quan trọng nhất, là cấu trúc: bài toán đối ngẫu của SVM chỉ phụ thuộc vào dữ liệu qua các tích vô hướng xi⊤xjx_i^\top x_j. Nhận xét này dẫn thẳng tới kernel, vì thay tích vô hướng bằng một hàm kernel là SVM làm việc được trong không gian đặc trưng phi tuyến. Ở dạng bài toán gốc, cấu trúc này không lộ ra.

12.6Tóm tắt#

Phương pháp Lagrange thay ràng buộc bằng khoản phạt có giá αi≥0\alpha_i \ge 0, và hàm đối ngẫu, cực tiểu của hàm Lagrange theo xx, luôn lõm. Mỗi giá trị của hàm đối ngẫu là một chặn dưới của giá trị tối ưu, và với bài toán lồi thoả điều kiện Slater, chặn dưới tốt nhất đúng bằng giá trị tối ưu. Điều kiện KKT đặc trưng cho nghiệm tối ưu, trong đó điều kiện bù nói rằng ràng buộc nào không chặt thì có giá bằng 0 và không ảnh hưởng tới nghiệm. Nhân tử Lagrange là giá bóng, đo giá trị tối ưu thay đổi bao nhiêu khi nới ràng buộc. Ví dụ min⁡x2\min x^2 với x≥1x \ge 1 cho x∗=1x^* = 1, α∗=2\alpha^* = 2 và khe đối ngẫu bằng 0; α∗=2\alpha^* = 2 là giá làm cực tiểu không ràng buộc của hàm Lagrange rơi đúng vào biên của ràng buộc.

Chương 13 áp dụng toàn bộ bộ công cụ này cho SVM: bài toán gốc tìm siêu phẳng có lề lớn nhất, điều kiện bù chỉ ra vector hỗ trợ, và bài toán đối ngẫu dẫn tới kernel.


Tự kiểm tra

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

  1. 1Điều kiện bù trong KKT phát biểu điều gì?

  2. 2Hàm đối ngẫu g(α,ν)g(\alpha,\nu) có tính chất gì?

  3. 3Với bài toán cực tiểu x2x^2 với ràng buộc x≥1x \ge 1, nhân tử Lagrange tối ưu bằng bao nhiêu?

  4. 4Vì sao SVM được giải qua bài toán đối ngẫu?

Đã trả lời 0/4