alternating minmize算法
2016-03-05 00:16
302 查看
alternating minmize算法,中文称作交替最小法。
假定初始有(U,V)=(U0,V0)
U1 = argmin_U{f(U,V0)}
得到(U1, V0)--->f(U1,V0)
V1 = argmin_V{f(U1,V)}
得到(U1,V1)--->f(U1,V1)
则必有f(U0,V0)>=f(U1,V0)>=f(U1,V1)
通过不停的迭代可以实现最小化目标函数。
值得注意的是,当目标函数非凸时,经验表明altmin算法也能达到非常好的效果。altmin算法原理简单,经验效果好,不失为实践时用来解决非凸问题的一个方法。
另外有趣的是,实际上altmin算法与常用的em算法有联系,可以说em算法是am算法的一个特例!
算法思想:
假定有目标函数f(U,V),每次仅把其中的一个变量视作可变量进行优化,其他的变量视作常量,对所有的变量交替进行此优化操作。假定初始有(U,V)=(U0,V0)
U1 = argmin_U{f(U,V0)}
得到(U1, V0)--->f(U1,V0)
V1 = argmin_V{f(U1,V)}
得到(U1,V1)--->f(U1,V1)
则必有f(U0,V0)>=f(U1,V0)>=f(U1,V1)
通过不停的迭代可以实现最小化目标函数。
算法分析
当目标函数是凸函数或者是光滑的函数时,altmin算法必然能得到全局最优解。值得注意的是,当目标函数非凸时,经验表明altmin算法也能达到非常好的效果。altmin算法原理简单,经验效果好,不失为实践时用来解决非凸问题的一个方法。
另外有趣的是,实际上altmin算法与常用的em算法有联系,可以说em算法是am算法的一个特例!
参考文件
相关文章推荐
- Shibboleth
- POJ1860-Currency Exchange-判正环
- Android开发60需要注意的问题
- 在eclipse项目下点击Build path出现No action available的错误
- 让AllocateHwnd接受一般函数地址作参数(105篇博客)
- 自助去除APK的广告!(整理、修改、简化版)
- DDL、DML和DCL的理解
- UVA 11324 The Largest Clique(SCC+dp)
- Ajax实现定时从服务器获取数据,定时更新数据
- week1:个人博客作业
- codeforce344 C report
- TMsgThread, TCommThread -- 在delphi线程中实现消息循环(105篇博客,好多研究消息的文章)
- codeforces 631C C. Report
- Hadoop日志文件分析系统
- 人生第一次
- 在界面线程不能使用Sleep和WaitForSingleObject之类的函数, 使用 MsgWaitForMultipleObjects
- Android下设置drawableleft导入的图片大小
- 今天算是把变量提升给整明白了
- 深入Delphi -- Windows 消息机制
- LeetCode Zigzag Iterator