为什么平方损失函数不适用于分类问题?
邱锡鹏教授《神经网络与深度学习》的课后习题特别经典,并且书中并没有解答,非常值得我们思考,今天的这个问题就是出自此书的第二章的习题,想来和大家分享一下本题的一种思路,是从数据分布的角度叙述,本人知识有限不免有错误,希望大家能给予批评和建议,提出您的看法。
首先给出平方损失函数(Quadratic-Entropy Loss Function)的数学定义:
L
(
y
,
f
(
x
;
θ
)
)
=
1
2
(
y
−
f
(
x
;
θ
)
)
2
L(y,f(x; θ)) = \frac{1}{2}(y-f(x;θ))^2
L(y,f(x;θ))=21(y−f(x;θ))2
最大似然估计看平方损失函数
简要理解
从概率的角度看问题,线性回归中求解最优参数w中使用最大似然估计和最小二乘法(平方损失) 的解相同(下面的详细解释中会给出),而此处的最大似然估计的是对于高斯分布而言的,既然求解参数效果相同,那么若使用平方损失函数就类似于假设了高斯先验,高斯分布不太适合用在分类问题中(比如二分类问题符合二项分布,二项分布属于离散型随机变量,而正态分布属于连续型随机变量,二项分布逼近正态分布会有误差),那么平方损失函数自然不适用于分类问题。
在实际的分类问题中,在Softmax激活函数的作用下,若使用平方损失函数,离散型分布逼近于正态分布的损失会放大(非线性激活函数作用下,函数会变得复杂,不易于优化),损失越大导数反而越小,学习速率则会很慢。
详细解释:
需要的预备知识:线性回归、最小二乘法、概率论
平方损失函数中使用了最小二乘法,属于机器学习中用线性回归拟合一个函数,用来表示特征向量与标签之间关系的方法,而线性回归还可以从建模条件概率P(y|x)的角度去进行参数估计,建模过程中我们需要加入一个随机噪声ε,即:
y
=
f
(
x
;
w
)
+
ε
=
w
T
x
+
ε
y = f(x;w) + ε = w^Tx+ε
y=f(x;w)+ε=wTx+ε
其中,ε服从均值为0、方差为σ2的高斯分布,这样,y就服从均值为WTx、方差为σ2的高斯分布:
p
(
y
∣
x
;
w
;
σ
)
=
N
(
y
;
w
T
,
σ
2
)
=
p(y|x;w;σ) = N(y;w^T,σ^2) =
p(y∣x;w;σ)=N(y;wT,σ2)=
1
2
π
σ
e
x
p
(
−
(
y
−
w
T
x
)
2
2
σ
2
)
\frac{1}{\sqrt{2π}σ }exp(-\frac{(y-w^Tx)^2}{2σ^2})
2πσ1exp(−2σ2(y−wTx)2)
参数w在训练集D上的似然函数(Likelihood)为:
p
(
y
∣
X
;
w
,
σ
)
=
∏
n
=
1
N
p
(
y
(
n
)
∣
x
n
;
w
,
σ
)
p(y|X;w,σ) = \prod_{n=1}^Np(y^{(n)}|x^{n};w,σ)
p(y∣X;w,σ)=n=1∏Np(y(n)∣xn;w,σ)
=
∏
n
=
1
N
N
(
y
(
n
)
;
w
T
x
n
;
w
,
σ
2
)
= \prod_{n=1}^NN(y^{(n)};w^Tx^{n};w,σ^2)
=n=1∏NN(y(n);wTxn;w,σ2)
其中, y = [ y 1 , . . . , y N ] T y=[y^{1},...,y^{N}]^T y=[y1,...,yN]T为所有样本标签组成的向量, X = [ x 1 , . . . , x N ] T X=[x^{1},...,x^{N}]^T X=[x1,...,xN]T为所有样本特征向量组成的矩阵。
取对数似然函数:
l
o
g
p
(
y
∣
X
;
w
,
σ
)
=
∑
n
=
1
N
l
o
g
N
(
y
(
n
)
;
w
T
x
n
;
w
,
σ
2
)
logp(y|X;w,σ) = \sum_{n=1}^NlogN(y^{(n)};w^Tx^{n};w,σ^2)
logp(y∣X;w,σ)=n=1∑NlogN(y(n);wTxn;w,σ2)
最大似然估计是找到一组参数
w
w
w 使得似然函数
p
(
y
∣
X
;
w
,
σ
)
p(y|X;w,σ)
p(y∣X;w,σ) 最大,采用的方法是求导后求极值,等价于对数似然函数
l
o
g
p
(
y
∣
X
;
w
,
σ
)
log p(y|X;w,σ)
logp(y∣X;w,σ)最大,令:
∂
l
o
g
p
(
y
∣
X
;
w
,
σ
)
∂
w
=
0
\frac{∂log p(y|X;w,σ)}{∂w}= 0
∂w∂logp(y∣X;w,σ)=0得到:
w
=
(
X
X
T
)
−
1
X
y
w = (XX^T)^{-1}Xy
w=(XXT)−1Xy
可以看出,最大似然估计的解和最小二乘法的解是相同的。
Reference: 神经网络与深度学习 邱锡鹏