经验风险最小化与结构风险最小化
经验风险最小化
经验风险最小化模型如下:
min1N∑i=1NL(yi,f(xi))
min
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
经验风险最小化的目标是使模型预测出来的结果与真实值尽量接近,但是这可能导致模型为了使预测结果接近真实值而使模型变得复杂,从而可能导致过拟合,即在训练集上效果很好,但是在测试集上效果却不好。
结构风险最小化
于是,为了使模型不过于复杂,就有了结构风险最小化模型:
min1N∑i=1NL(yi,f(xi))+λJ(f)
min
1
N
∑
i
=
1
N
L
(
y
i
,
f
(
x
i
)
)
+
λ
J
(
f
)
也就是在经验风险最小化模型基础上,加上正则化项 J(f) J ( f ) ,正则化项可以是 L1正则化,也可以是L2正则化 L 1 正 则 化 , 也 可 以 是 L 2 正 则 化 ,通过正则化项对模型的参数进行限制。
损失函数归纳
损失函数 | 公式 | 应用 |
---|---|---|
0-1损失函数 | l(y,y^)={1,y≠y^1,y=y^ l ( y , y ^ ) = { 1 , y ≠ y ^ 1 , y = y ^ | |
交叉熵损失函数 | loss=−∑[y^lny+(1−y^)ln(1−y)] l o s s = − ∑ [ y ^ l n y + ( 1 − y ^ ) l n ( 1 − y ) ] | 逻辑回归 |
hinge损失函数 | loss=max(0,1−y^∗y) l o s s = m a x ( 0 , 1 − y ^ ∗ y ) | SVM |
平方误差损失函数 | loss=∑(y^−y)2 l o s s = ∑ ( y ^ − y ) 2 | 线性回归 |
* 在神经网络中,当用sigmoid作为激活函数,用平方误差作为损失函数时,可能会导致梯度消失。此时,若用交叉熵作为损失函数,则可以避免梯度消失