大数据算法超星考试答案(大数据算法第四讲)

大数据算法超星考试答案(大数据算法第四讲)(1)

大数据算法超星考试答案(大数据算法第四讲)(2)

作者:李智博

版权所有©德塔精要,转载请注明出处

通过前面的几个专题介绍,相信大家对数据整理,特征选择,算法选择都有了一个整体的认识。但是选择算法后,算法是如何工作的,如何确定算法模型对真实数据的拟合效果怎么样,这就是损失函数的作用,那损失函数(也叫代价函数)是什么?本篇带大家梳理一下常见的损失函数以及损失函数在算法中的作用?

损失函数

损失函数(loss function)是用来估量你模型的预测值f(x)与真实值Y的不一致程度,它是一个非负实值函数,通常使用L(Y, f(x))来表示,损失函数越小,模型的鲁棒性就越好。损失函数是经验风险函数的核心部分,也是结构风险函数重要组成部分。模型的结构风险函数包括了经验风险项和正则项,通常可以表示成如下式子:

通常损失函数由上面公式的两部分组成,前部分就是计算算法预测的值和训练样本真实标签之间的距离,不同的距离计算方式代表了不同的计算损失函数的方法。第二部分J(f)代表了正则化选项,当训练的出函数过于复杂时,可能会导致训练的参数过拟合了,这时需要引入正则化因子来控制模型的复杂度。防止过拟合的产生。

介绍完损失函数我们介绍一下参数学习的方式,

    ωj = ωj - λ ∂L(ωj) / ∂ωj

通过计算损失函数关于w参数的梯度来逐步调整w参数,使损失函数越来越小,完成模型的训练,参数达到收敛。

如下图所示,算法模型的训练就是通过利用损失函数衡量模型是否已经收敛,如果未收敛,通过计算损失函数的梯度,沿着梯度下降的方法不断调整参数的值,重新计算算法的输出。周而复始,不断迭代直到模型收敛,损失函数达到一个极小值为止。

大数据算法超星考试答案(大数据算法第四讲)(3)

下面介绍几种比较主流的损失函数计算方法:

平方损失函数

平方损失函数就是计算算法的预测结果和真实训练数据标签信息之间的差值的平方,计算公式如下:

大数据算法超星考试答案(大数据算法第四讲)(4)

Y-f(X)表示的是残差,整个式子表示的是残差的平方和,而我们的目的就是最小化这个目标函数值(注:该式子未加入正则项),也就是最小化残差的平方和(residual sum of squares,RSS)。

交叉熵损失函数

由于平方损失函数在计算梯度的时候,需要计算激活函数的梯度,但是在有些情况下激活函数的梯度值,例如sigmod函数在输入值不在0值附近时梯度衰减的十分严重,如下图的平方均值损失函数的梯度计算。导致参数的迭代更新非常缓慢,进而影响迭代的收敛速度。

大数据算法超星考试答案(大数据算法第四讲)(5)

基于此,有人提出一种更换代价函数的方式,具体为交叉熵的激活函数,公式如下:

大数据算法超星考试答案(大数据算法第四讲)(6)

对交叉熵进行计算梯度,具体计算如下,对参数w和权重的梯度计算如下。

大数据算法超星考试答案(大数据算法第四讲)(7)

大数据算法超星考试答案(大数据算法第四讲)(8)

可以看出对参数和梯度的计算中不包括激活函数的梯队,这样就解决了激活函数梯度衰减导致的算法迭代慢,收敛速度不快的问题。

对数似然函数损失函数

Log对数损失函数的形式为:

大数据算法超星考试答案(大数据算法第四讲)(9)

损失函数L(Y, P(Y|X))表达的是样本X在分类Y的情况下,使概率P(Y|X)达到最大值(换言之,就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大)。通过这种方法来计算来求导和更新算法中的参数变量。因为log函数是单调递增的,所以logP(Y|X)也会达到最大值,因此在前面加上负号之后,最大化P(Y|X)就等价于最小化L了。

将对数损失函数的条件概率进行数学带入后(具体数学公式可以参考相关资料)发现对数似然函数的数学表达式和交叉熵损失函数是相同的。可以说交叉熵是直接衡量两个分布,或者说两个model之间的差异。而似然函数则是解释以model的输出为参数的某分布模型对样本集的解释程度。因此,可以说这两者是“同貌不同源”,但是“殊途同归”啦。

0-1损失函数和绝对值损失函数

0-1损失函数

大数据算法超星考试答案(大数据算法第四讲)(10)

绝对值损失函数

大数据算法超星考试答案(大数据算法第四讲)(11)

以上两个函数比较好理解,虽然在衡量损失的方面比较简单粗暴,但是在某种程度上也相当于加入了噪声因子,导致在迭代计算更新参数时,可以跳出某些局部最优值,在全局探索更好的解。

大数据算法超星考试答案(大数据算法第四讲)(12)

本篇文章带大家回顾了一下损失函数,算法参数迭代的一些知识,其中对目前主流的损失函数进行了介绍。由于后续会讲解正则化的相关知识,所以在本文的损失函数中并未讨论正则化方面的相关知识。

大数据算法超星考试答案(大数据算法第四讲)(13)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页