You are on page 1of 8

Bài toán đối ngẫu Lagrange (the Lagrange dual function)

a) Bài toán tối ưu tổng quát: x*  arg min f 0 ( x) (*)


x

Thoả điều kiện: fi ( x)  0, i  1, 2,..., m và h j ( x)  0, j  1, 2,..., p với miền xác định D là


giao của tất cả các miền các định của f i và h j và ở đây ta giả sử tập D khác rỗng

Lagrangian cũng được xây dựng tương tự với mỗi nhân tử lagrange cho một phương
trình ràng buộc:
m p
L( x,  , )  f 0 ( x)   i fi ( x)   j h j ( x)
i 1 j 1

Với   1 , 2 ,..., m  và    1 , 2 ,..., p  là các vector được gọi là dual variables (biến
đối ngẫu) hoặc lagrang multiplier vectors (vector nhân tử lagrange)
Hàm đối ngẫu Lagrange của bài toán tối ưu bên trên là một hàm các biến đối ngẫu
được định nghĩa bằng các cận dưới theo x trong tập xác định D của Lagrangian
L( x,  , ) :
m p
g ( , )  inf L( x,  , )  inf ( f 0 ( x)   i fi ( x)   j h j ( x))
xD xD
i 1 j 1

Nếu Lagrangian không bị chặn dưới, hàm đối ngẫu theo  , sẽ lấy giá trị bằng âm vô
cùng.
Chặn dưới của giá trị tối ưu: nếu p* là giá trị tối ưu của bài toán (*) ở trên, thì với các
biến đối ngẫu 1  0 , i và  bất kì ta sẽ có:

g ( , )  p * (1)

Ta chứng minh tính chất này này như sau:


Giả sử x0 là một điểm feasible bất kì của bài toán (*) (feasible set là tập hợp các điểm
x thỏa mãn các ràng buộc, mỗi điểm trong feasible set được gọi là feasible points, nếu
không nằm trong feasible set thì điểm đó sẽ được gọi là 1 infeasible points) tức là thỏa
mãn điều kiện fi ( x)  0, i  1, 2,..., m và h j ( x)  0, j  1, 2,..., p , ta sẽ có:
m p

 i fi ( x0 )   j hj ( x0 )  0  L( x, , )  f0 ( x0 )
i 1 j 1

g ( , )  inf L( x,  , )  L( x,  , )  f 0 ( x0 )
xD

Khi x0=x*, ta sẽ có bất đẳng thức (1)


b) Bài toán đối ngẫu Lagrange (the Lagrange dual problem)
Với mỗi cặp ( , ) , hàm đối ngẫu lagrange cho chúng ta một chặn dưới cho optimal
value p* của bài toán gốc (*). Bài toán đặt ra bây giờ là: với cặp giá trị nào của ( , ) ,
chúng ta sẽ có chặn dưới tốt nhất của p*? Nói cách khác, ta cần phải giải bài toán:
*, *  arg max g ( , ) (2)

Với điều kiện   0 (dấu lớn hơn hoăc bằng ở đây trong sách gốc là một ký hiệu nghĩa
là “ít công hơn” (curly les than), dùng để biểu thị bất đẳng thức vectơ hoặc bất đẳng
thức thành phần trong của vector, nghĩa là nếu vector u “curly les than” vector v
tương đương với ui<vi với mọi i, (trang 32, sách convex optimization), do word không
có kí hiệu này nên em dùng ký hiệu “  ”, ý nghĩa về toán học gần như không đổi)

Vì g ( , ) là một hàm lõm (concave function) và ràng buộc fi ( )  i là các hàm lồi
(convex function), vì vậy, bài toán dẫn ra ở đây là một bài toán lồi, do đó, trong nhiều
trường hợp bài toán này, được gọi là Lagrange dual problem (bài toán đối ngẫu
Lagrange) ứng với bài toán gốc (*) (primal problem). Dual fessible tức là fessible set
của bài toán đối ngẫu, bao gồm các điều kiện   0 và điều kiện ẩn g ( , )   ,
nghiệm của bài toán (2) được gọi là dual optimal hoạc optimal Lagrange multipliers
c) Weak duality
Gọi giá trị tối ưu của bài toán (2) là d*, ta có: d *  p * trong mọi trường hợp, kể cả khi
bài toán không lồi. Tính chất này được gọi là “weak duality”. Từ đây ta có hai nhận
xét:
- Nếu bài toán gốc không bị chặn dưới, tức là p*   , ta phải có d*   , tức là
bài tán đối ngẫu Lagrange không có giá trị nào thỏa mãn ràng buộc (infeasible).
- Nếu bài toán đối ngẫu không bị chặn trên, tức là d*   , chúng ta phải có
p*   , tức là bài toán gốc là infeasible.
Giá trị p*-d* được gọi là optimal duality gap, luôn là một số không âm.
d) Strong duality và Slater’s constraint qualification
Nếu đẳng thức p*  d * thoả mãn, the optimal duality gap bằng không, ta nói
rằng strong duality xảy ra. Lúc này, việc giải bài toán đối ngẫu đã giúp ta tìm
được chính xác giá trị tối ưu của bài toán gốc. strong duality không thường xuyên xảy
ra trong các bài toán tối ưu. Tuy nhiên, nếu bài toán gốc là lồi, tức có dạng:
x  arg min f 0 (0)
x

f i ( x)  0, i  1, 2,3..., m (3)
A.x = b
Trong đó fi là các hàm lồi, ta thường sẽ có strong duality. Có rất nhiều nghiên cứu
thiết lập các điều kiện, ngoài tính chất lồi, để strong duality xảy ra. Những điều kiện
đó thường có tên là constraint qualifications.
Một trong các constraint qualification đơn giản nhất là Slater’s condition.
Nếu trong bài toán (3), một điểm dược gọi là strictly feasible nếu:
fi ( x)  0, i  1, 2,3..., m, A.x = b

Ta có định lý Slater: Nếu tồn tại một điểm strictly feasible (và bài toán gốc là lồi),
thì strong duality xảy ra.
e) Optimality conditions
 Complementary slackness
Giả sử rằng strong duality xảy ra. Gọi x * là một điểm optimal của bài toán gốc
và ( *, *) là cặp điểm optimal của bài toán đối ngẫu. Ta có:

f0 ( x*)  g (*, *) (strong duality)


m p
 inf ( f0 ( x)   i * fi ( x)   j * h j ( x)) (định nghĩa hàm đối ngẫu)
x
i 1 j 1

m p
 f0 ( x*)   i * fi ( x*)   j * h j ( x*) (hiển nhiên vì infimum của một hàm nhỏ hơn
i 1 j 1

giá trị của hàm đó tại bất kỳ một điểm nào khác.)
 f 0 ( x*) (do các ràng buộc fi ( x*)  0, i  0, i  1, 2,3..., m và h j ( x*)  0 )

Từ đây có thể thế rằng dấu đẳng thức ở dòng ba và dòng bốn phải đồng thời xảy
ra. Ta lại có:
- x * là một điểm optimal của ( *, *)
m
-   * f ( x*)  0
i 1
i i

Vì mỗi phần tử trong tổng trên là không dương do i *  0, fi  0 , ta kết luận rằng :

i * fi ( x*)  0, i  1, 2,3,..., m

Điều kiện cuối cùng này được gọi là complementary slackness. Từ đây có thể suy
ra:
i *  0  fi ( x*)  0
fi  0  i *  0

Tức ta luôn có một trong hai giá trị này bằng 0.


f) KKT optimality conditions: Chúng ta vẫn giả sử rằng các hàm đang xét có đạo hàm
và bài toán tối ưu không nhất thiết là lồi.
Trong bài toán không lồi, giả sử rằng strong duality xảy ra. Gọi x * và ( *, *) là bất
kỳ primal và dual optimal points. Vì x * tối ưu hàm khả vi L( x,  , ) ta có đạo hàm của
Lagrangian tại x * phải bằng 0.
Điều kiện Karush-Kuhn-Tucker (KKT)) nói rằng x*,  *, * phải thỏa mã các điều
kiện:
fi ( x*)  0, i  1, 2,3..., m
h j ( x*)  0, j  1, 2,3,..., p
i *  0, i  1, 2,3..., m
i * fi ( x*)  0, i  1, 2,3,..., m
m p
f0 ( x*)   i * fi ( x*)   j * h j ( x*)
i 1 j 1

Đây là điều kiện cần để x*,  *, * là nghiệm của hai bài toán.
Với các bài toán lồi và strong duality xảy ra, các điệu kiện KKT phía trên cũng là điều
kiện đủ. Vậy với các bài toán lồi với hàm mục tiêu và hàm ràng buộc là khả vi, bất kỳ
điểm nào thoả mãn các điều kiện KKT đều là primal và dual optimal của bài toán gốc
và bài toán đối ngẫu.
Từ đây ta có thể thấy rằng: Với một bài toán lồi và điều kiện Slater thoả mãn (suy
ra strong duality) thì các điều kiện KKT là điều cần và đủ của nghiệm.
Các điều kiện KKT rất quan trọng trong tối ưu. Trong một vài trường hợp đặc biệt (sẽ
thấy trong bài Support Vector Machine sắp tới), việc giải hệ (bất) phương trình các
điều kiện KKT là khả thi. Rất nhiều các thuật toán tối ưu được xây dựng giả trên việc
giải hệ điều kiện KKT
Tóm tắt:
Giả sử rằng các hàm số đều khả vi:
 Các bài toán tối ưu với chỉ ràng buộc là đẳng thức có thể được giải quyết bằng
phương pháp nhân tử Lagrange. Ta cũng có định nghĩa về Lagrangian. Điều kiện
cần để một điểm là nghiệm của bài toán tối ưu là nó phải làm cho đạo hàm của
Lagrangian bằng 0.
 Với các bài toán tối ưu có thêm ràng buộc là bất đẳng thức (không nhất thiết là
lồi), chúng ta có Lagrangian tổng quát và các biến Lagrange  , Với các giá trị
( , ) cố định, ta có định nghĩa về hàm đối ngẫu Lagrange (Lagrange dual
function) g ( , ) được xác định là infimum của Lagrangian khi x thay đổi trên
miền xác định của bài toán.
 Miền xác định và tập các điểm feasible thường khác nhau. Feasible set là tập con
của tập xác định.
 Với mọi ( , ) , g ( , )  p *
 Hàm số g ( , ) là lồi bất kể bài toán tối ưu có là lồi hay không. Hàm số này được
gọi là dual Lagrange fucntion hay hàm đối ngẫu Lagrange.
 Bài toán đi tìm giá trị lớn nhất của hàm đối ngẫu Lagrange với điều kiện
  0 được gọi là bài toán đối ngẫu (dual problem). Bài toán này là lồi bất kể bài
toán gốc có lồi hay không.
 Gọi giá trị tối ưu của bài toán đối ngẫu là d * thì ta có: d *  p * Đây được gọi
là weak duality.
 Strong duality xảy ra khi p*  d * .Thường thì strong duality không xảy ra, nhưng
với các bài toán lồi thì strong duality thường (không luôn luôn) xảy ra.
 Nếu bài toán là lồi và điều kiện Slater thoả mãn, thì strong duality xảy ra.
 Nếu bài toán lồi và có strong duality thì nghiệm của bài toán thoả mãn các điều
kiện KKT (điều kiện cần và đủ).
 Rất nhiều các bài toán tối ưu được giải quyết thông qua KKT conditions.

Bài toán đối ngẫu Lagrange trong soft margin SVM


Nhắc lại về bài toán tối ưu dạng chuẩn cho Soft-Margin SVM:
N
1
(w, b,  )  arg min w  C   n (4)
2

w ,b , 2 n 1

Điều kiện: 1   n  yn (wT xn  b)  0, n  1, 2,..., N ; n  0, n  1, 2,..., N

a) Kiểm tra tiêu chuẩn Slater: Rõ ràng là với mọi n  1, 2,..., N và mọi (w, b) , ta luôn
có thể tìm được các số dương n . n  1, 2,..., N đủ lớn sao cho:
 n  yn (wT xn  b)  1, n  1, 2,..., N

Vậy nên bài toán này thoả mãn tiêu chuẩn Slater.
b) Lagrangian của bài toán Soft-margin SVM
Lagrangian cho bài toán (4) là:
N N N
1
L(w, b,  ,  ,  )  w 2  C   n   n (1   n  yn ( wT xn  b))   n n
2

2 n 1 n 1 n 1 (5)
Với  ,  là các biến đối ngẫu Lagrange (vector nhân tử Lagrange)

c) Bài toán đối ngẫu :


Hàm số đối ngẫu của bài toán tối ưu (5) là: g (,  )  min L(w, b,  , ,  )
w ,b ,

Với mỗi cặp ( ,  ) ta sẽ quan tâm tới ( ,  ,  ) thoả mãn điều kiện đạo hàm của
Lagrangian bằng 0:
L N
 0  w   n yn x n (6)
w n 1

L N
 0   n yn  0 (7)
b n 1

L
 0  n  C  n (8)
 n

Từ (8) ta thấy rằng ta chỉ quan tâm tới những cặp ( ,  ) sao cho n  C  n .Từ đây
ta cũng suy ra 0  n , n  C, n  1, 2,..., N .Thay các biểu thức này vào Lagrangian ta
sẽ thu được hàm đối ngẫu:
N
1 N N
g ( ,  )   n   n yn xTn m ym x m
n 1 2 n 1 m 1

hàm này không phụ thuộc vào  nhưng ta cần lưu ý ràng buộc (8), ràng buộc này
và điều kiện không âm của  có thể được viết gọn lại thành 0  n  C và ta đã
giảm được biến  . Lúc này, bài toán đối ngẫu được xác định bới:

  arg max g ( )

N
Điều kiện:  y
n 1
n n  0 và 0  n  C, n  1, 2,..., N (9)

Bài toán này gần giống với bài toán đối ngẫu của Hard Margin SVM, chỉ khác là
ta có chặn trên cho mỗi n . Khi C rất lớn, ta có thể coi hai bài toán là như nhau.
Ràng buộc (9) còn được gọi là box constraint vì không gian các điểm  thoả mãn
ràng buộc này giống như một hình hộp chữ nhật trong không gian nhiều chiều.
d) Hệ điều kiện KKT
Hệ điều kiện KKT của bài toán tối ưu Soft Margin SVM là: n  1, 2,..., N :
1   n  yn (w T xn  b)  0
n  0
n  0
n  0
n (1   n  yn (wT xn  b))  0
 n n  0
N
w   n yn x n
n 1
N

 y
n 1
n n 0

n  C  n

Nhận xét:

Nếu n  0 thì từ n  C  n , ta suy ra n  C  0 , và từ  n n  0 thì ta lại có  n  0 . Nói


cách khác, không có sự hy sinh nào xảy ra ở x n ,hay x n nằm trong vùng an toàn,

Nếu n  0 , từ n (1   n  yn (wT xn  b))  0 ta có: yn (wT xn  b)  1  n

 Nếu 0  n  C, n  1, 2,..., N , từ n  C  n , ta suy ra n  0 ,hay


yn (wT xn  b)  1  n , những điểm x n nằm chính xác trên margin
 Nếu n  C thì  n =0 và n có thể nhận bất kỳ giá trị nào không âm, Nếu ξn≤1,xn
sẽ được phân lớp đúng (vẫn đúng phía so với đường phân chia). Ngược lại, các
điểm tương ứng với ξn>1 sẽ bị phân lớp sai.
 λn không thể lớn hơn C vì khi đó theo điều kiện n  C  n , μn<0, mâu thuẫn
với n  0

Ngoài ra, những điểm tương ứng với 0<λn≤C bây giờ là sẽ là các support vectors. Mặc dù
những điểm này có thể không nằm trên margins, chúng vẫn được coi là support vectors vì
N
có công đóng góp cho việc tính toán w thông qua phương trình w   n yn x n
n 1

Như vậy, dựa trên các giá trị của λnλn ta có thể dự đoán được vị trí tương đối của xn so
với hai margins. Đặt M={n:0<λn<C} và S={m:0<λm≤C} }. Tức M là tập hợp các chỉ số
của các điểm nằm chính xác trên margins - hỗ trợ cho việc tính bb, SS là tập hợp các chỉ
số của các support vectors - hỗ trợ trực tiếp cho việc tính ww. Tương tự như với Hard
Margin SVM, các hệ số w,b có thể được xác định bởi:
w   m ym x m
mS

1 1
b
NM
y
nM
n  wT xn 
NM
 (y  
nM
n
mS
T
y x x )
m m m n

mục đích cuối cùng là xác định nhãn cho một điểm mới chứ không phải là tính w và b
nên ta quan tâm hơn tới cách xác định giá trị của biếu thức sau với một điểm dữ liệu x bất
kỳ:
1
wT xn  b   m ym xTm xn   (y  
n
T
y x x )
m m m n
mS NM nM mS

You might also like