7 优化算法
- 优化是应用数学的分支
- 机器学习算法=模型表征+模型评估+优化算法。
- 优化算法就是
- 在模型表征空间中
- 找到模型评估指标
- 最好的模型。
- 不同优化算法对应的模型表征和评估指标不尽相同
- SVM对应的模型表征和评估指标分别为线性分类模型和最大间隔,
- 逻辑回归为线性分类模型和交叉熵
- 实际中多是大规模、高度非凸的优化问题,
- 这给传统的基于全量数据、凸优化的优化理论带来挑战
- 设计适用于新场景、高效、准确优化算法成为热点
- 优化虽古老,但大部分能够用于训练深度神经网络的优化算法都是近几年才提出,如Adam算法
- 大部分机器学习工具已内置常用优化算法
- 实际应用时一行代码即可完成调用
- 鉴于优化算法在机器学习中的重要
- 了解优化算法的原理也很有必要。
1有监督学习的损失函数
场景描述
- 机器学习关键一环是模型评估
- 损失函数定义模型的评估指标。
- 没有损失函数就无法求解模型参数。
- 不同损失函数优化难度不同,
- 最终得到的模型参数也不同,
- 针对具体的问题需选取合适损失函数
有监督学习涉及的损失函数有哪些?请列举并简述它们的特点。
- 有监督学习中,损失函数刻画模型和训练样本的匹配程度。
- 训练样本为
- 参数为的模型可表示为函数
- 定义损失函数
- 越小,表明模型在该样本点匹配得越好
- 对二分类,
- ,
- 希望,最自然的损失函数是0-1损失,
- 即
-
是指示函数Indicator Function,
- P为真时取1
- 否则0。
- 该损失函数能直观地刻画分类的错误率,
- 但其非凸、非光滑,很难直接对该函数优化。
- 0-1损失的一个代理是Hinge损失函数
- Hinge是0-1相对紧的凸上界,且当时,该
函数不对其做任何惩罚。 - =1处不可导,因此不能用梯度下降法优化,
- 而用Subgradient Descent
- 0-1的另一个是 Logistic损失函数:
- 也是0-1损失函数的凸上界,处处光滑,可用梯度下降法优化。
- 但是,该损失函数对所有的样本点都有惩罚,
- 因此对异常值更敏感些。
- 当预测值[-1,1]时,另一个常用是Cross Entropy损失函数
- 交叉熵损失函数也是0-1损失函数的光滑凸上界。