7 优化算法

  • 优化是应用数学的分支
  • 机器学习算法=模型表征+模型评估+优化算法。
  • 优化算法就是
    • 在模型表征空间中
    • 找到模型评估指标
    • 最好的模型。
  • 不同优化算法对应的模型表征和评估指标不尽相同
  • SVM对应的模型表征和评估指标分别为线性分类模型和最大间隔,
  • 逻辑回归为线性分类模型和交叉熵

  • 实际中多是大规模、高度非凸的优化问题,
  • 这给传统的基于全量数据、凸优化的优化理论带来挑战
    • 设计适用于新场景、高效、准确优化算法成为热点
  • 优化虽古老,但大部分能够用于训练深度神经网络的优化算法都是近几年才提出,如Adam算法

  • 大部分机器学习工具已内置常用优化算法
  • 实际应用时一行代码即可完成调用
  • 鉴于优化算法在机器学习中的重要
    • 了解优化算法的原理也很有必要。

1有监督学习的损失函数

场景描述

  • 机器学习关键一环是模型评估
    • 损失函数定义模型的评估指标。
    • 没有损失函数就无法求解模型参数。
  • 不同损失函数优化难度不同,
    • 最终得到的模型参数也不同,
    • 针对具体的问题需选取合适损失函数

有监督学习涉及的损失函数有哪些?请列举并简述它们的特点。

  • 有监督学习中,损失函数刻画模型和训练样本的匹配程度。
  • 训练样本为(xi,yi)(x_i,y_i)
  • 参数为θ\theta的模型可表示为函数

7 优化算法

  • 定义损失函数

7 优化算法

  • 越小,表明模型在该样本点匹配得越好

  • 对二分类,
  • Y={1,1}Y=\{1,-1\},
  • 希望sign(f(xi.θ))=yisign(f(x_i.\theta))=y_i,最自然的损失函数是0-1损失,

7 优化算法

  • IpI_p是指示函数Indicator Function,
    •     \iffP为真时取1
    • 否则0。
  • 该损失函数能直观地刻画分类的错误率,
    • 但其非凸、非光滑,很难直接对该函数优化。
  • 0-1损失的一个代理是Hinge损失函数

7 优化算法

  • Hinge是0-1相对紧的凸上界,且当fy1fy\ge 1时,该
    函数不对其做任何惩罚。
  • =1处不可导,因此不能用梯度下降法优化,
    • 而用Subgradient Descent

  • 0-1的另一个是 Logistic损失函数:

7 优化算法

  • 也是0-1损失函数的凸上界,处处光滑,可用梯度下降法优化。
  • 但是,该损失函数对所有的样本点都有惩罚,
    • 因此对异常值更敏感些。

  • 当预测值[-1,1]时,另一个常用是Cross Entropy损失函数

7 优化算法

  • 交叉熵损失函数也是0-1损失函数的光滑凸上界。

7 优化算法