KKT Condition

对于原优化问题:

KKT Condition_第1张图片

其拉格朗日函数如下:

其中\alpha,\beta 为拉格朗日算子

定义

 对于给定的w,如果原问题的约束没有被满足(例如对于某个i:g_i(w)\ge0)或者h_i(w)\ne 0,可以得知

 相反,如果对于给定的w,primal的约束被满足,那么\theta_p(w)=f(w),即:

如下最小化primal问题与原问题具有同样的解

定义\theta_D(\alpha,\beta)=min_wL(w,\alpha,\beta),注意\theta_p是针对\alpha,\beta的优化(求最大),对w优化(最小化).我们可以将对偶优化问题定义为

我们可以定义p^*=\min_w\theta_p(w)为primal最小化问题的值,d^*=\max_{\alpha,\beta}\theta_D(\alpha,\beta)为dual问题的值.他们的关系如下(一个函数的"max min总是小于min max"):

 只有在KKT条件下:d^*=p^*,在这种条件下,我们就可以通过求解对偶(dual)问题来求解原(primal)问题.

假设f,g_i都是凸函数,h_i都是仿射的,同时假设存在w使得g_i(w)< 0,那么一定存在w^*,\alpha^*,\beta^*满足Karush-Kuhn-Tucker(KKT)条件,同时w^*,\alpha^*,\beta^*也是primal和dual问题的解.KKT条件如下:

KKT Condition_第2张图片

KKT Condition_第3张图片

 

KKT直观理解

KKT Condition_第4张图片

 

KKT Condition_第5张图片

先补充说明向量的内积和直线的线性表示

KKT Condition_第6张图片

wx+b=0这条直线斜率垂直的方向是w. 

例如:斜率的垂直方向是(1,1).

KKT Condition_第7张图片

KKT Condition_第8张图片

KKT Condition_第9张图片

 

KKT Condition_第10张图片

 

KKT Condition_第11张图片

 

通过对偶问题可以采用SMO算法求出\alpha的值,得到\alpha自然可以得到w的值,得到w后,通过w^Tx+b=0,求得b^*的值,b^*的值为负边界的b加上正边界的b除以2.负边界的b为-1-\max_{i:y^(i)=-1}w^tx^(i),正边界的b为1-\min_{i:y^(i)=-1}w^tx^(i),,可以推倒出b^*的值为:

 

你可能感兴趣的:(机器学习)