机器学习基础-学习笔记 优化分析(一)
2017-08-18 00:46
309 查看
最近人形大宝宝抱怨我写的什么东西,完全在糊弄,那么问题来了,然后我需要解决- -
此处先理解为主,不讲究推导(不会推导- -)
这里只是一个非常简单的一个基础,感觉看完了也不会有太大的感触,让我一起来分析分析吧。
用于解决凸优化问题,什么是凸优化问题呢?
凸优化“ 是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。其中,目标函数为凸函数且定义域为凸集的优化问题称为无约束凸优化问题。而目标函数和不等式约束函数均为凸函数,等式约束函数为仿射函数,并且定义域为凸集的优化问题为约束优化问题
那什么是凸函数呢?
首先,我们知道什么是凸集
一个集合 称为凸集,若对任意的两个点 ,连接他们的两个点都在集合 内。 即,一般可见的集合都是凸集,例如单位球体。
例如下图(为非凸集)
下图为凸集
凸函数就是一个定义在某个向量空间的凸子集C(区间)上的实值函数。
他的意义又是什么呢?
可以看上面二个图就可知,如果从a点到b点,非凸集,需要绕路,进行复杂的运算,而凸集只需要二点一线即可,简单方便。
接着,让我们回到正题,什么是ADMM?
它适用于求解分布式凸优化问题,通过分解协调将大的全局问题分解为多个较小、容易求解的局部子问题,并通过协调子问题的解而得到大的全局问题的解。若优化问题可以表示为:
minx,zf(x)+g(z)
s.t.A⋅x+B⋅z=c
其中s.t. 指 subject to,受限制于。
其中, x∈Rs,z∈Rn,A∈Rp∗s,B∈Rp∗n,c∈Rp, 且f, g 分别可以将x, z映射至R。可以从ADMM的名字看出,通过引入新变量,然后交叉变换方向来交替优化,即引入 y∈RP, 求解如下的目标函数:
minx,y,zLp(x,y,z)=f(x)+g(z)+yT⋅(A⋅x+B⋅z−c)+ρ2||A⋅x+B⋅z−c||2F
优化过程具有可分解性,通过如下的迭代公式更新求解:
xk+1=argminxLρ(x,y(k),z(k))
z(k+1)=argminxLρ(x(k),y(k),z)
yk+1=y(k)+ρ⋅(A⋅x(k+1)+B⋅zk+1−c)
其中增广拉格朗日参数 ρ>0。
其中,乘子算法指一种使用增广拉格朗日函数的对偶上升方法,而交替迭代指的是x,z交替更新。
具体的看这里凸优化:ADMM(Alternating Direction Method of Multipliers)交替方向乘子算法
那么如何保证ADMM算法的收敛性?
首先,什么是收敛性?
数学分析的基本概念之一,它与“有确定的(或有限的)极限”同义,“收敛于……”相当于说“极限是……(确定的点或有限的数)”。
如果想保证收敛性,需要有以下二个假设条件:
函数f,g具有闭的、良态的(非病态)、凸函数的性质
拉格朗日函数Lρ(x,y,z) 在 ρ=0 时有鞍点。
未完待续- -,认真看一下每个关键字的链接,可以的。
此处先理解为主,不讲究推导(不会推导- -)
优化分析
优化
所谓优化,讲的就是如何求解目标函数在约束条件下的最优解。机器学习、人工智能中的绝大部分问题,到最后基本都会归结为求解优化问题,因此学习优化理论是非常有必要的。这里只是一个非常简单的一个基础,感觉看完了也不会有太大的感触,让我一起来分析分析吧。
分析
[b]交替迭代乘子算法(ADMM或交替方向乘子算法)[/b]用于解决凸优化问题,什么是凸优化问题呢?
凸优化“ 是指一种比较特殊的优化,是指求取最小值的目标函数为凸函数的一类优化问题。其中,目标函数为凸函数且定义域为凸集的优化问题称为无约束凸优化问题。而目标函数和不等式约束函数均为凸函数,等式约束函数为仿射函数,并且定义域为凸集的优化问题为约束优化问题
那什么是凸函数呢?
首先,我们知道什么是凸集
一个集合 称为凸集,若对任意的两个点 ,连接他们的两个点都在集合 内。 即,一般可见的集合都是凸集,例如单位球体。
例如下图(为非凸集)
下图为凸集
凸函数就是一个定义在某个向量空间的凸子集C(区间)上的实值函数。
他的意义又是什么呢?
可以看上面二个图就可知,如果从a点到b点,非凸集,需要绕路,进行复杂的运算,而凸集只需要二点一线即可,简单方便。
接着,让我们回到正题,什么是ADMM?
它适用于求解分布式凸优化问题,通过分解协调将大的全局问题分解为多个较小、容易求解的局部子问题,并通过协调子问题的解而得到大的全局问题的解。若优化问题可以表示为:
minx,zf(x)+g(z)
s.t.A⋅x+B⋅z=c
其中s.t. 指 subject to,受限制于。
其中, x∈Rs,z∈Rn,A∈Rp∗s,B∈Rp∗n,c∈Rp, 且f, g 分别可以将x, z映射至R。可以从ADMM的名字看出,通过引入新变量,然后交叉变换方向来交替优化,即引入 y∈RP, 求解如下的目标函数:
minx,y,zLp(x,y,z)=f(x)+g(z)+yT⋅(A⋅x+B⋅z−c)+ρ2||A⋅x+B⋅z−c||2F
优化过程具有可分解性,通过如下的迭代公式更新求解:
xk+1=argminxLρ(x,y(k),z(k))
z(k+1)=argminxLρ(x(k),y(k),z)
yk+1=y(k)+ρ⋅(A⋅x(k+1)+B⋅zk+1−c)
其中增广拉格朗日参数 ρ>0。
其中,乘子算法指一种使用增广拉格朗日函数的对偶上升方法,而交替迭代指的是x,z交替更新。
具体的看这里凸优化:ADMM(Alternating Direction Method of Multipliers)交替方向乘子算法
那么如何保证ADMM算法的收敛性?
首先,什么是收敛性?
数学分析的基本概念之一,它与“有确定的(或有限的)极限”同义,“收敛于……”相当于说“极限是……(确定的点或有限的数)”。
如果想保证收敛性,需要有以下二个假设条件:
函数f,g具有闭的、良态的(非病态)、凸函数的性质
拉格朗日函数Lρ(x,y,z) 在 ρ=0 时有鞍点。
未完待续- -,认真看一下每个关键字的链接,可以的。
相关文章推荐
- 机器学习基础-学习笔记 优化分析(二)
- 【机器学习-斯坦福】学习笔记18——线性判别分析(Linear Discriminant Analysis)(一)
- yii 学习笔记三 、yii框架基础流程和控制器及父类分析
- 统计自然语言处理基础学习笔记(7)——句法分析
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
- 【机器学习-斯坦福】学习笔记19——线性判别分析(Linear Discriminant Analysis)(二)
- 【机器学习-斯坦福】学习笔记14 主成分分析(Principal components analysis)-最大方差解释
- c&c++反汇编与逆向分析学习笔记(5)--加法的求值过程和编译器优化
- JDBC基础学习笔记_05_jdbc的程序优化_Dao
- 听课笔记(第五讲): 学习的可行性分析(一些概念和思想) (台湾国立大学机器学习基石)
- 机器学习笔记_数学基础_7-凸优化理论
- 嵌入式开发之C基础学习笔记02--第一个例子分析
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
- Coursera台大机器学习基础课程学习笔记2 -- 机器学习的分类
- 算法分析与设计基础 学习笔记 第一章
- Coursera台大机器学习基础课程学习笔记2 -- 机器学习的分类
- JDBC基础学习笔记_05_jdbc的程序优化_单立Connection并编写调用配置文件
- 【机器学习-斯坦福】学习笔记15 主成分分析(Principal components analysis)-最小平方误差解释
- Coursera台大机器学习基础课程学习笔记1 -- 机器学习定义及PLA算法
- 【机器学习-斯坦福】学习笔记16 独立成分分析(Independent Component Analysis)