Loss Function

常见的损失函数。

范数

损失函数中, 正则项一般是参数的 Lp 距离.

L1最优化问题的解是稀疏性的, 其倾向于选择很少的一些非常大的值和很多的insignificant的小值. 而L2最优化则更多的非常少的特别大的值, 却又很多相对小的值, 但其仍然对最优化解有significant的贡献. 但从最优化问题解的平滑性来看, L1范数的最优解相对于L2范数要少, 但其往往是最优解, 而L2的解很多, 但更多的倾向于某种局部最优解.

L0范数本身是特征选择的最直接最理想的方案, 但如前所述, 其不可分, 且很难优化, 因此实际应用中我们使用L1来得到L0的最优凸近似. L2相对于L1具有更为平滑的特性, 在模型预测中, 往往比L1具有更好的预测特性. 当遇到两个对预测有帮助的特征时, L1倾向于选择一个更大的特征. 而L2更倾向把两者结合起来.

lp-balls

L0-范数

d=i=1n(xi0)10d=\sum_{i=1}^{n}\bigg(x_i^{0}\bigg)^{\frac {1}{0}}

向量中非零元素的个数

在 Sparse Coding 中, 通过最小化 L0 寻找最少最优的稀疏特征. 但难以优化, 一般转化成 L1 L2

L1-范数

曼哈顿距离

d=i=1nxiyid=\sum_{i=1}^{n}\bigg|x_i-y_i\bigg|

如计算机视觉中对比两张图片的不同像素点之和

L2-范数

欧几里得距离

d=i=1n(xiyi2)12d=\sum_{i=1}^{n}\bigg(|x_i-y_i|^{2}\bigg)^{\frac {1}{2}}

Lp-范数

d=i=1n(xiyip)1pd=\sum_{i=1}^{n}\bigg(|x_i-y_i|^{p}\bigg)^{\frac {1}{p}}

无限范数距离

切比雪夫距离

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|)

损失函数

0 - 1 损失函数

gold standard

L01(m)={0if m01elseL_{01}(m)=\begin{cases} 0 &\text{if } m \ge 0 \\ 1 &\text{else} \end{cases}

对数损失函数

Log Loss, cross entropy error

L(Y,P(YX))=logP(YX)L(Y,P(Y|X))=-\log P(Y|X)

对 LR 而言, 把它的条件概率分布方程

P(Y=0X)=11+ewx+b,P(Y=1X)=1P(Y=0X)P(Y=0|X)=\frac {1}{1+e^{wx+b}}, P(Y=1|X)=1-P(Y=0|X)

带入上式, 即可得到 LR 的对数损失函数

平方损失函数

Square Loss

L(Y,P(YX))=i=1n(Yf(X))2L(Y,P(Y|X))=\sum_{i=1}^{n}(Y-f(X))^2

其中 $$Y-f(X)$$ 表示残差, 整个式子表示残差平方和, Residual Sum of Squares

指数损失函数

Exponential Loss

L(Y,f(X))=eYf(X)L(Y,f(X))=e ^ {-Y f(X)}

如 Adaboost, 它是前向分步加法算法的特例, 是一个加和模型, 损失函数就是指数函数. 经过m此迭代之后, 可以得到

fm(x)=fm1(x)+αmGm(x)f_m(x)=f_{m-1}(x)+\alpha_mG_m(x)

Adaboost 每次迭代的目标是最小化指数损失函数

arg minα,G=i=1Ne[yi(fm1(xi)+αG(xi))]{\arg\ \min}_{\alpha, G}=\sum_{i=1}^{N}e^{[-y_i(f_{m-1}(x_i)+\alpha G(x_i))]}

合页损失

Hinge Loss, 如 SVM

L(Y,f(X))=max(0,1Yf(X)),Y={0,1}L(Y,f(X))=\max (0,1-Y*f(X)), Y=\{0,1\}

Huber 损失

常用于回归树。与比平方损失相比,它对 outlier 更加不敏感

对于回归问题

Lδ(a)={12a2for aδ,δ(a12δ)otherwise.L_{\delta}(a) = \begin{cases} \frac{1}{2} a^2 &\text{for } |a| \le \delta,\\ \delta \big( |a| - \frac{1}{2} \delta \big) &\text{otherwise.} \end{cases}

其中 $$|a|=y-f(x)$$

对分类问题

Lδ(y,f(x))={12(yf(x))2for yf(x)δ,δyf(x)12δ2otherwise.L_{\delta}\big(y, f(x)\big) = \begin{cases} \frac{1}{2} \big(y-f(x)\big)^2 &\text{for } \big|y-f(x)\big| \le \delta,\\ \delta \big|y-f(x) \big| - \frac{1}{2} \delta^2 &\text{otherwise.} \end{cases}

下图是 huber loss(绿色)与平方损失(蓝色)的对比,来自 wiki

huber loss

正则化

Regulization or Penalization:

minwΘ1Ni=lNL(yi,f(xi,w))+λJ(w){\min}_{w \in \Theta}\frac{1}{N}\sum_{i=l}^{N}L(y_i,f(x_i,w))+\lambda J(w)

其中第一项是经验风险, 第二项是正则化项。常见的正则项,通过 L0,L1,L2L_0,L_1,L_2 范数衡量参数 ww,有

J0(w)={i:wi0}J_0(w) = \big|\{i:w_i \ne 0\}\big|

J1(w)=iwiJ_1(w) = \sum_i |w_i|

J2(w)=12w2J_2(w) = \frac{1}{2} ||w||^2

其中 L2L_2 正则项最常用,因为它是凸函数,可以用梯度下降法求解。

L1L_1 正则项有特征选择功能,能够得到更加稀疏、更多 0 的解。可以用简单截断法,梯度截断法(TG, Truncated Gradient),ADMM 方法求解。

wR2w\in \mathbb R^2 为例,椭圆形是 loss 的损失等高线,灰色区域是约束区域,等高线与约束区域相交的地方,就是最优解。可以看出,L1 较 L2 有更大的概率在角处相交,得到稀疏解。

l1vsl2

本文有帮助?