概述
在学习机器学习过程中,我们经常会用到损失函数来判断模型是否在学习,经常使用的损失函数大多是平方损失函数,与交叉熵损失函数。平方损失函数,我们很容易理解为什么值越小分类效果越好。
Loss(w)=1m∑im(yi−yhati)2
L
o
s
s
(
w
)
=
1
m
∑
i
m
(
y
i
−
y
i
h
a
t
)
2
很显然,如果预测的越接近,则loss值越小,这个损失函数基本上没有什么疑问。但是由于这个函数不是凸函数,所以被应用的不多,大多数都是使用交叉熵损失函数。
Loss(w)=−1m∑imyilogyhati+(1−yi)log(1−yhati)
L
o
s
s
(
w
)
=
−
1
m
∑
i
m
y
i
l
o
g
y
i
h
a
t
+
(
1
−
y
i
)
l
o
g
(
1
−
y
i
h
a
t
)
如果我们同样借助上面的思想,如果预测的越接近,则损失函数越小,很显然这个损失函数满足。但是我相信你绝对不仅仅满足于此,这个损失函数的由来是什么?平方损失很容易想到是两个空间向量的距离,越接近越好。交叉熵损失函数呢?今天就带你进入另一个世界。
此处划重点,交叉熵损失函数来源于参数估计,极大似然估计。
分类属于监督学习,是利用有限的样本,来得到整体的样本分布。以二分类为例,
P(Y=1|x)=F(x);P(Y=0|x)=1−F(x)
P
(
Y
=
1
|
x
)
=
F
(
x
)
;
P
(
Y
=
0
|
x
)
=
1
−
F
(
x
)
利用样本,来近似估计参数值,我们可以使用极大似然估计。既然是二分类,我们采集的样本一般是独立的,则样本的分布服从二项分布 Y∼b(1,p) Y ∼ b ( 1 , p ) ,则Y的分布律为,
P(Y=yi)=pyii(1−p1−yii)
P
(
Y
=
y
i
)
=
p
i
y
i
(
1
−
p
i
1
−
y
i
)
似然函数为:
Πmipyii(1−p1−yii)
Π
i
m
p
i
y
i
(
1
−
p
i
1
−
y
i
)
对其取对数,则得到对数似然函数为:
L(w)=∑imyilogpi+(1−yi)log(1−pi)
L
(
w
)
=
∑
i
m
y
i
l
o
g
p
i
+
(
1
−
y
i
)
l
o
g
(
1
−
p
i
)
整理一下, pi=F(xi)=yhati p i = F ( x i ) = y i h a t ,则可得
L(w)=1m∑imyilogyhati+(1−yi)log(1−yhati)
L
(
w
)
=
1
m
∑
i
m
y
i
l
o
g
y
i
h
a
t
+
(
1
−
y
i
)
l
o
g
(
1
−
y
i
h
a
t
)
得到似然函数,则为了估计系数w,当L(w)函数取得最大值时,可得到估计值w,取似然函数的对偶形式, minLoss(w)=−maxL(w) m i n L o s s ( w ) = − m a x L ( w ) ,所以当Loss(w)越小时的w值,就越逼近真实的w值,那么模型拟合的就越好。
欢迎关注我的微信公共号
最后
以上就是小巧秀发为你收集整理的为什么交叉熵损失函数值越小分类效果越好?的全部内容,希望文章能够帮你解决为什么交叉熵损失函数值越小分类效果越好?所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复