机器学习中的优化问题

最优化问题

  • 解析解存在:最优解可以由公式简单计算
  • 没有解析解
    • 数值计算
    • 启发式方法

  • 朴素贝叶斯、隐马尔可夫:最优解即极大似然估计值,可由概率计算公式直接计算
  • 感知机、逻辑回归、最大熵模型、条件随机场:利用梯度下降法、拟牛顿法等。无拘束最优化问题的解法。
  • 支持向量机:解凸二次规划的对偶问题。有序列最小最优化算法等。
  • 决策树:启发式算法。特征选择、生成、剪枝是启发式地进行正则化的极大似然估计。
  • 提升方法:加法模型、指数损失函数。启发式地从前往后逐步学习,逼近优化目标函数。
  • EM算法:迭代的求解隐变量概率模型参数,收敛性可以保证,但不能保证收敛到全局最优。

其中凸优化问题:支持向量机、逻辑回归、最大熵模型、条件随机场,全局最优解保证存在。

最优化算法

  • 迭代尺度法
  • 牛顿法:迭代算法,每一步需要求解目标函数的海塞矩阵的逆矩阵,计算比较复杂
  • 拟牛顿法:通过正定矩阵近似海塞矩阵的逆矩阵或海塞矩阵
  • 梯度下降法

拉格朗日对偶性:在约束最优化问题中,常常利用拉格朗日对偶性(Lagrange duality)将原始问题转换为对偶问题,通过解对偶问题而得到原始问题的解。如:最大熵模型、支持向量机。

梯度下降 参数更新方法

梯度下降法是求解无约束最优化问题的一种最常用的方法,有实现简单的优点。梯度下降是迭代算法,每一步需要求解目标函数的梯度向量。

当目标函数是凸函数时,梯度下降法的解是全局最优解。一般情况下,其解不保证是全局最优解。

SGD

Δθt=αgt Δ θ t = − α g t

Momentum

mt=γmt1+(1γ)gt m t = γ m t − 1 + ( 1 − γ ) g t

Δθt=αmt Δ θ t = − α m t

Adagrad

Gt=Gt1+g2t G t = G t − 1 + g t 2

Δθt=αgtG1/2t Δ θ t = − α g t G t − 1 / 2

Adadelta

vt=β2vt1+(1β2)g2t v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2

Δθt=αgtv1/2tD1/2t1 Δ θ t = − α g t v t − 1 / 2 D t − 1 1 / 2

Dt=β1Dt1+(1β1)(Δθt/α)2 D t = β 1 D t − 1 + ( 1 − β 1 ) ( Δ θ t / α ) 2

RMSprop

vt=β2vt1+(1β2)g2t v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2

Δθt=αgtv1/2t Δ θ t = − α g t v t − 1 / 2

Adam

mt=β1mt1+(1β1)gt m t = β 1 m t − 1 + ( 1 − β 1 ) g t

vt=β2vt1+(1β2)g2t v t = β 2 v t − 1 + ( 1 − β 2 ) g t 2

mˆt=mt/(1βt1) m ^ t = m t / ( 1 − β 1 t )

vˆt=vt/(1βt2) v ^ t = v t / ( 1 − β 2 t )

Δθt=αmˆtvˆ1/2t Δ θ t = − α m ^ t v ^ t − 1 / 2

《统计学习方法》

《深度学习》

你可能感兴趣的:(机器学习)