开发者学堂课程【机器学习算法 :不等式约束条件下求极值1】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/535/detail/7264
不等式约束条件下求极值1
内容介绍
一、补充数学知识
二、无约束条件求极值
三、等式约束条件求极值
一、补充数学知识
1.求极值常见的几种情况:
(1)没有任何约束条件
其中 x1、x2、x3、x4 取值范围不受任何限制求极值。是最常见最简单的方式
(2)约束条件为等式
需要满足 x1、x2、x3、x4相加和为1,在此条件下求极值
(3)约束条件为不等式
较为复杂的一种求极值的方式。这不仅要求四者和为1,同时还要求 x4≤C
我们所求的表达式均为凸函数,所谓的凸函数是函数图形上任意两个点的连线都在图形内。
举例以下图形:
六边形任意两点连线都在图形内,那么这个六边形就可以理解为凸函数。
右侧不规则图形,其中黑色线条两点连线在图形内,但红色线两点连线不全在图形内,所以此图形不为凸函数。
以下为典型图形例子:
第一个是抛物线可以来求极值,但第二个不可以求,有一部分在图形内,一部分在图形外。
二、无约束条件求极值
在没有约束条件的情况下求极值,通常都是对变量求导,导数等于0的点即为极值点(注意检查最大值和最小值)
求极值的目标函数为: f(x),则对该函数求x的偏导,并令其等于0,求解即可。
分别让 f(x)对 x1 求偏导,带入后得到 2x1=0,因为 x2、x3、x4 和 x1 没有关系,所以三项导数为0.同理 2x2=0、2x3=0、2x4=0,则可求出 x1=x2=x3=x4=0。因为 x 为非负,并且没有约束条件,则四者相加=0.
因为有多个分量,取 x1 和 x2,x1的平方则为 x1-0 的平方加 x2-0 的平方,中心点都在圆点(0,0),然后依次话等高线,最低点则为圆点,所以取 x1,x2 都为0是最小的
三、等式约束条件求极值
可以联立方程组代入消元,也可以使用拉格朗日乘子法,将约束条件加入到极值方程中来。
求极值的目标函数为:f(x),约束条件为:h(x)=0,h(x)=x1+x2+x3+x4-1=0,则得到新的目标函L(x,)=f(x)+h(x)=0,对x和求导数,同样在导数为0的地方为极值。
回到本例:
对 x1 求偏导就是2x1+=0,依次类推。
还需要对求偏导就是 h(x)约束
最后解得出结果即可。
通过图形来解决问题。四个分量,随便选择俩个分量,同样画等高线,若没有任何约束条件就画中间圆点,但有约束条件后,x1 和 x4 在一条直线上,一定和其中一条等高线相切,相切点就是我们需要求的极值点。约束条件的几度和目标函数的几度方向相反。等式约束条件求极值和原来没有约束条件求极值结果不一样,除非原来等式条件符合约束条件。