常见的损失函数。
损失函数中, 正则项一般是参数的 Lp 距离.
L1最优化问题的解是稀疏性的, 其倾向于选择很少的一些非常大的值和很多的insignificant的小值. 而L2最优化则更多的非常少的特别大的值, 却又很多相对小的值, 但其仍然对最优化解有significant的贡献. 但从最优化问题解的平滑性来看, L1范数的最优解相对于L2范数要少, 但其往往是最优解, 而L2的解很多, 但更多的倾向于某种局部最优解.
L0范数本身是特征选择的最直接最理想的方案, 但如前所述, 其不可分, 且很难优化, 因此实际应用中我们使用L1来得到L0的最优凸近似. L2相对于L1具有更为平滑的特性, 在模型预测中, 往往比L1具有更好的预测特性. 当遇到两个对预测有帮助的特征时, L1倾向于选择一个更大的特征. 而L2更倾向把两者结合起来.
向量中非零元素的个数
在 Sparse Coding 中, 通过最小化 L0 寻找最少最优的稀疏特征. 但难以优化, 一般转化成 L1 L2
曼哈顿距离
如计算机视觉中对比两张图片的不同像素点之和
欧几里得距离
切比雪夫距离
d=\lim_{p \to \infty}\sum_{i=1}^{n}\bigg(|x_i-y_i|^{p}\bigg)^{\frac {1}{p}} = \max(|x_1-y_1|,…,|x_n-y_n|)
gold standard
Log Loss, cross entropy error
对 LR 而言, 把它的条件概率分布方程
带入上式, 即可得到 LR 的对数损失函数
Square Loss
其中 $$Y-f(X)$$ 表示残差, 整个式子表示残差平方和, Residual Sum of Squares
Exponential Loss
如 Adaboost, 它是前向分步加法算法的特例, 是一个加和模型, 损失函数就是指数函数. 经过m此迭代之后, 可以得到
Adaboost 每次迭代的目标是最小化指数损失函数
Hinge Loss, 如 SVM
常用于回归树。与比平方损失相比,它对 outlier 更加不敏感
对于回归问题
其中 $$|a|=y-f(x)$$
对分类问题
下图是 huber loss(绿色)与平方损失(蓝色)的对比,来自 wiki
Regulization or Penalization:
其中第一项是经验风险, 第二项是正则化项。常见的正则项,通过 L0,L1,L2L_0,L_1,L_2L0,L1,L2 范数衡量参数 www,有
其中 L2L_2L2 正则项最常用,因为它是凸函数,可以用梯度下降法求解。
而 L1L_1L1 正则项有特征选择功能,能够得到更加稀疏、更多 0 的解。可以用简单截断法,梯度截断法(TG, Truncated Gradient),ADMM 方法求解。
以 w∈R2w\in \mathbb R^2w∈R2 为例,椭圆形是 loss 的损失等高线,灰色区域是约束区域,等高线与约束区域相交的地方,就是最优解。可以看出,L1 较 L2 有更大的概率在角处相交,得到稀疏解。