支持向量机:图解KKT条件和拉格朗日乘子法
Posted 人工智能爱好者社区
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了支持向量机:图解KKT条件和拉格朗日乘子法相关的知识,希望对你有一定的参考价值。
前文回顾:
前言
支持向量机求解最优化参数的过程中需要用到拉格朗日乘子法和KKT条件,本文用清晰易懂的图解法说明拉格朗日乘子法和KKT条件的含义,希望能够帮助你理解这种最优化思想。
最优化问题
本文讨论各种约束条件下的f(x,y)的最小值。
函数等高线和梯度
等高线如下图,同心圆为等高线,圆的半径越大,等高线也越大,即f(x,y)值越大。
梯度方向是函数增加最快的方向,即等高线的法向量方向,图示的绿色箭头为梯度方向。
无约束条件下的最小值
单一约束条件下的最小值
(1)
解法:
约束区域为绿色虚线区域,因此,目标函数最小值为0。
(2)修改约束条件:
图解法:
上图,当f(x,y)的等高线与约束条件的边界直线相切时,f(x,y)有最小值。
拉格朗日乘子法:
结合图解法理解拉格朗日乘子法的含义:
由(4.6)式的梯度关系,表示在图形的含义如下图:
如上图,拉格朗日乘子α的含义是约束条件边界直线的法向量与目标函数等高线的法向量是共线向量,结合约束边界直线在C点的定义(g(x,y)=0),即KKT条件,表示为:
讨论
本节简单讨论上面为未提及的两种情况:
(1)增加约束条件h(x,y)=0
写成拉格朗日函数:
图形表示如下:
目标函数的梯度可以表示为约束条件的梯度展开的向量空间,系数为拉格朗日乘子α和β。若再增加限制条件,结论是一致的。
(2)拉格朗日乘子α的取值情况
当目标函数的最优解在约束条件的区域内时,拉格朗日乘子α=0;如下图:
最优解是对应的红色实心圆,α=0。
当目标函数的最优解在约束条件的边界直线内时,拉格朗日乘子α>0,如下图:
最优解是对应的黑色实心圆,拉格朗日乘子α>0。
参考
https://www.matongxue.com/madocs/987/
- END -
回复 免费 获取免费课程
回复 直播 获取系列直播课
回复 Python 1小时破冰入门Python
回复 人工智能 从零入门人工智能
回复 深度学习 手把手教你用Python深度学习
回复 机器学习 小白学数据挖掘与机器学习
回复 贝叶斯算法 贝叶斯与新闻分类实战
回复 数据分析师 数据分析师八大能力培养
回复 自然语言处理 自然语言处理之AI深度学习
以上是关于支持向量机:图解KKT条件和拉格朗日乘子法的主要内容,如果未能解决你的问题,请参考以下文章