优化算法
实际上,机器学习算法=模型表征+模型评估+优化算法。其中,优化算法所做的事情就是在模型表征空间中找到评估模型指标最好的模型。不同的优化算法对应的模型表征和评估指标不尽相同,例如经典的支持向量机对应的模型表征和评估指标分别是线性分类模型和最大间隔,逻辑回归对应的模型表征和评估指标则分别为线性分类模型和交叉熵。
随着大数据和深度学习的迅猛发展,实际应用中面临的大多是大规模、高度非凸的优化问题,这给传统的基于全量数据、凸优化的优化理论带来了巨大的挑战。如何设计适用于新场景、高效的、准确的优化算法成为近年来研究的热点。优化虽然是一门古老的学科,但是大部分能够用于训练深度神经网络的优化算法都是近几年才被提出的,如Adam算法等。
有监督学习的损失函数
机器学习算法的关键环节是模型评估,而损失函数定义了模型的评估指标,没有损失函数就无法求解模型参数。
在有监督学习中,损失函数刻画了模型和训练样本的匹配程度。假设训练样本的形式为 ( x i , y i ) (x_i,y_i) (xi,yi),其中 x i ∈ X x_i∈X xi∈X表示第i个样本点的特征, y i ∈ Y y_i∈Y yi∈Y表示该样本点的标签。参数为 θ \theta θ的模型可以表示为函数 f ( ⋅ , θ ) : X → Y f(\cdot,\theta):X→Y f(⋅,θ):X→Y,模型关于第i个样本点的输出为 f ( x i , θ ) f(x_i,\theta) f(xi,θ)。为了刻画模型输出与样本标签的匹配程度,定以损失函数 L ( ⋅ , ⋅ ) : X → Y → R ≥ 0 L(\cdot,\cdot):X→Y→R_{≥0} L(⋅,⋅):X→Y