在学习机器学习过程中,我们经常会用到损失函数来判断模型是否在学习,经常使用的损失函数大多是平方损失函数,与交叉熵损失函数。平方损失函数,我们很容易理解为什么值越小分类效果越好。

Loss(w)=1mim(yiyhati)2Loss(w)=1m∑im(yi−yihat)2
<script type="math/tex; mode=display" id="MathJax-Element-33">Loss(w)=\frac{1}{m}\sum_{i}^{m}(y_i-y^{hat}_i)^2</script>
很显然,如果预测的越接近,则loss值越小,这个损失函数基本上没有什么疑问。但是由于这个函数不是凸函数,所以被应用的不多,大多数都是使用交叉熵损失函数。
Loss(w)=1mimyilogyhati+(1yi)log(1yhati)Loss(w)=−1m∑imyilogyihat+(1−yi)log(1−yihat)
<script type="math/tex; mode=display" id="MathJax-Element-34">Loss(w)=-\frac{1}{m}\sum_{i}^{m}y_ilogy_i^{hat}+(1-y_i)log(1-y_i^{hat})</script>
如果我们同样借助上面的思想,如果预测的越接近,则损失函数越小,很显然这个损失函数满足。但是我相信你绝对不仅仅满足于此,这个损失函数的由来是什么?平方损失很容易想到是两个空间向量的距离,越接近越好。交叉熵损失函数呢?今天就带你进入另一个世界。
此处划重点,交叉熵损失函数来源于参数估计,极大似然估计
分类属于监督学习,是利用有限的样本,来得到整体的样本分布。以二分类为例,
P(Y=1|x)=F(x);P(Y=0|x)=1F(x)P(Y=1|x)=F(x);P(Y=0|x)=1−F(x)
<script type="math/tex; mode=display" id="MathJax-Element-35">P(Y=1|x)=F(x);P(Y=0|x)=1-F(x)</script>
利用样本,来近似估计参数值,我们可以使用极大似然估计。既然是二分类,我们采集的样本一般是独立的,则样本的分布服从二项分布Yb(1,p)Y∼b(1,p)<script type="math/tex" id="MathJax-Element-36">Y\sim b(1,p)</script>,则Y的分布律为,
P(Y=yi)=pyii(1p1yii)P(Y=yi)=piyi(1−pi1−yi)
<script type="math/tex; mode=display" id="MathJax-Element-37">P(Y=y_i)=p_i^{y_i}(1-p_i^{1-y_i})</script>
似然函数为:
Πmipyii(1p1yii)Πimpiyi(1−pi1−yi)
<script type="math/tex; mode=display" id="MathJax-Element-38"> \Pi_{i}^{m} p_i^{y_i}(1-p_i^{1-y_i}) </script>
对其取对数,则得到对数似然函数为:
L(w)=imyilogpi+(1yi)log(1pi)L(w)=∑imyilogpi+(1−yi)log(1−pi)
<script type="math/tex; mode=display" id="MathJax-Element-39">L(w)=\sum_i^my_ilogp_i+(1-y_i)log(1-p_i)</script>
整理一下,pi=F(xi)=yhatipi=F(xi)=yihat<script type="math/tex" id="MathJax-Element-40">p_i=F(x_i)=y_i^{hat}</script>,则可得
L(w)=1mimyilogyhati+(1yi)log(1yhati)L(w)=1m∑imyilogyihat+(1−yi)log(1−yihat)
<script type="math/tex; mode=display" id="MathJax-Element-41">L(w)=\frac{1}{m}\sum_{i}^{m}y_ilogy_i^{hat}+(1-y_i)log(1-y_i^{hat})</script>
得到似然函数,则为了估计系数w,当L(w)函数取得最大值时,可得到估计值w,取似然函数的对偶形式,minLoss(w)=maxL(w)minLoss(w)=−maxL(w)<script type="math/tex" id="MathJax-Element-42">min Loss(w)=-max L(w)</script>,所以当Loss(w)越小时的w值,就越逼近真实的w值,那么模型拟合的就越好。
欢迎关注我的微信公共号

这里写图片描述

Logo

脑启社区是一个专注类脑智能领域的开发者社区。欢迎加入社区,共建类脑智能生态。社区为开发者提供了丰富的开源类脑工具软件、类脑算法模型及数据集、类脑知识库、类脑技术培训课程以及类脑应用案例等资源。

更多推荐