机器学习笔记_ 数值最优化_2:最优化算法
2015-11-24 01:20
316 查看
导数的算法
梯度下降牛顿方法:二阶展开(无需计算步长)
φ=f(xk)+f′(xk)(x−xk)12f′′(xk)(x−xk)2+R2(x)\varphi=f(x_k)+f^{'}(x_k)(x-x_k)_\frac{1}{2}f^{''}(x_k)(x-x_k)^2+R_2(x)
=>
φ′(x)≈f′(xk)+f′′(xk)(x−xk)\varphi ^{'}(x) \approx f^{'}(x_k)+f^{''}(x_k)(x-x_k)
=>
xk+1=xk−f′(xk)f′′(xk)x_{k+1}=x_k-\frac{f^{'}(x_k)}{f^{''}(x_k)}
牛顿法的特点:
收敛性: 无法保证(trust-region保证收敛)->初始点选择接近极值点,基本牛顿方法才可以保证局部收敛 (当初始点不接近极值点,可能出现Hessian矩阵不正定或者奇异的情况)
计算Hessian难道大,需要计算n(n+1)/2个二阶偏导数(L-BFGS)
Hessian矩阵的正定(无法保证)->修正牛顿
Hessian矩阵奇异,牛顿方向不存在
优化牛顿算法
阻尼牛顿
修正牛顿
LM(trust-region)
Heesian矩阵的计算量大,优化算法:
LBFGS
owl-qn
共轭梯度法(梯度法和牛顿法之间的算法)
提高速度同时避免牛顿方法的大量计算核心问题:计算正交方向最小化
Nesterov最优梯度方向
非求导方法
坐标下降算法 :目标函数的下降,沿着坐标分量方向的最小化相关文章推荐
- mysql存储过程汇总
- Android 自定义ImageView加载图片
- POJ 1389 (扫描线)
- android客户端访问服务器端(SSH框架)
- 用JavaScript实现动态省市县三级联动
- 用JavaScript实现动态省市县三级联动
- iOS.swift 纯代码 关于如何提取TableViewCell视图作为view
- JAVA程序调用MYSQL存储过程
- Unix网络编程---第二次作业
- POJ 1936 DP(公共序列+滚动数组)
- 文档检索和倒排索引
- Xcode:Foundation框架找不到,或者是自动提示出现问题
- hdu 1863 畅通工程(prim+kruskal)
- Unix网络编程---第一次作业
- 删除排序数组中的重复数字 II
- 团队作业M1反思
- MyEclipse插件不能安装原因
- MySQL存储过程 事务transaction
- JAVA笔记二
- Java多线程开发系列之番外篇:事件派发线程---EventDispatchThread