机器学习篇——优化方法

原创 2018年04月15日 21:01:35

机器学习问题推导最终大多转化为对目标函数或者损失函数的优化
最优化模型包括梯度下降法、牛顿法及其改进
梯度下降法和牛顿法:
1、泰勒展开
对损失函数L(wt+1)在wt处展开,可以得到L(wt+1)为L(wt)加上一阶导数乘以(wt+1减去wt)
2、最小化损失函数
若要减小损失函数,即令一阶导数乘以(wt+1减去wt)小于0
3、求得w的更新量
技巧:可以令(wt+1减去wt)=-学习率*一阶导数,其中学习率大于0
这样就推出了梯度下降公式,牛顿法则是二次展开,令一次项+二次项等于0,解得(wt+1减去wt)的值

x += - learning_rate * dx #learning_rate为学习率,dx为一阶导数

批梯度下降法和随机梯度下降法:
1、原理
同梯度下降法,只不过梯度下降法每次更新用了所有的数据,而这两种方法采用部分数据更新
2、公式
同梯度下降法,只是求导数时,用部分数据的期望代替梯度下降法中所有数据的期望
动量梯度下降法
1、原理
保留一定比例上一轮更新量,给以更新量一定的惯性
2、公式

v = mu * v - learning_rate * dx # v为每次更新量,mu为保留的比例,
x += v 

3、变体
Nesterov动量,用x+muv处的导数代替x处的

x_ahead = x + mu * v
# 计算dx_ahead(在x_ahead处的梯度,而不是在x处的梯度)
v = mu * v - learning_rate * dx_ahead
x += v

Adagrad
1、学习率退火
学习率退火即每一轮对学习率乘以一个0到1的数(可以是指数函数、幂函数在第一象限单调递减形式)
2、公式

cache += dx**2
x += - learning_rate * dx / (np.sqrt(cache) + eps)

RMSP
1、原理
同adagrad,但是不同轮次的导数对cache贡献度不同,采用梯度平方的指数加权平均
2、公式

cache =  decay_rate * cache + (1 - decay_rate) * dx**2
x += - learning_rate * dx / (np.sqrt(cache) + eps)

Adam
1、原理
在RMSP的基础上再对梯度进行改进,引入梯度的滑动平均
2、公式

m = beta1*m + (1-beta1)*dx
v = beta2*v + (1-beta2)*(dx**2)
m_=m/(1-beta1**t)
v_=v/(1-beta2**t)
x += - learning_rate * m_ / (np.sqrt(v_) + eps)

启发式优化算法:
模拟退火方法、遗传算法、蚁群算法以及粒子群算法
有约束问题:
拉格朗日乘子法
要点:kkt条件是原始问题(最小最大问题)和对偶问题(最大最小问题)同解的充要条件
这里写图片描述
参考:cs229

机器学习中几种常见优化方法总结

1、梯度下降法 假设f(x)是具有一阶连续偏导数的函数。要求解的无约束最优化问题是: 梯度下降法是一种迭代算法,选取适当的初值x(0),不断迭代更新x的值,进行目标函数的极小化,直到收敛。由于...
  • sysu_cis
  • sysu_cis
  • 2016-05-29 00:42:35
  • 3010

机器学习中常见的几种优化方法

机器学习中常见的几种优化方法 声明:本文为转载,原文作者为:Poll的笔记,原文链接为:http://www.cnblogs.com/maybe2030/p/4751804.html#rd,尊重原创...
  • u012328159
  • u012328159
  • 2016-06-08 15:11:36
  • 8820

机器学习优化方法小结

最优化理论知识小结一. 梯度下降法一阶最优化算法,梯度其实是有方向的。若找到一个函数的局部极小值,必须向函数上当前点对应梯度的反方向的规定步长距离点进行迭代搜索;若向梯度正方向搜索,会接近函数的局部极...
  • Noshandow
  • Noshandow
  • 2017-03-23 20:53:21
  • 382

机器学习中常见的几种最优化方法

1. 梯度下降法(Gradient Descent) 2. 牛顿法和拟牛顿法(Newton's method & Quasi-Newton Methods) 3. 共轭梯度法(Conjugate Gr...
  • owen7500
  • owen7500
  • 2016-06-07 10:02:17
  • 15806

机器学习模型应用以及模型优化的一些思路

本文会介绍如何应用机器学习模型来构建一个智能化应用的通用的过程以及过程中每个环节一些实践性的思路,包括问题界定和定义、 label标注的定义、 数据样本的筛选和构造、 选择机器学习算法、 确定模型性能...
  • mozhizun
  • mozhizun
  • 2017-03-09 19:55:45
  • 5594

贝叶斯优化算法

  • 2015年04月13日 16:34
  • 244KB
  • 下载

机器学习评估与优化方法

https://www.coursera.org/learn/machine-learning/home/week/6提高算法精度的方法 用更多样本 减少特征 增加特征 增加ploynormial项 ...
  • sadfasdgaaaasdfa
  • sadfasdgaaaasdfa
  • 2015-08-05 11:19:39
  • 811

机器学习与智能优化 之 学习有道

要点 机器学习的目标是用一组训练样例去实现一个系统,它对训练过程未见且环境相同的新样本同样有效。 机器学习学习的是通过自动最小化训练集误差的方法为不定模型的自由变量确定一组合适的值。可能通过修改来...
  • WL2002200
  • WL2002200
  • 2015-01-27 08:11:44
  • 733

机器学习面试准备之二、优化方法

机器学习面试准备之二、优化方法
  • sunpeng19960715
  • sunpeng19960715
  • 2017-01-28 16:36:24
  • 1219

**ML:机器学习中的最优化方法进阶

线性规划、整数规划、目标规划等方法其目标函数与约束条件都是决策变量的一次函数,全部为线性规划,具有统一的数学模型及如单纯形法这样的通用解法。1947年丹齐格(G.B.Dantzig)提出了线性规划的一...
  • wishchin
  • wishchin
  • 2015-12-24 12:28:44
  • 2420
收藏助手
不良信息举报
您举报文章:机器学习篇——优化方法
举报原因:
原因补充:

(最多只允许输入30个字)