作者:李龙
链接:https://www.zhihu.com/question/319865092/answer/661457523
来源:知乎
这个我看过吴恩达的机器学习视频上说过,一般平方损失函数的公式如下图所示:
h表示的是你的预测结果,y表示对应的标签,J就可以理解为用二范数的方式将预测和标签的差距表示出来,模型学习的过程就是优化权重参数,使得J达到近似最小值,理论上这个损失函数是很有效果的,但是在实践中却又些问题,它这个h是**函数**后的结果,**函数通常是非线性函数,例如sigmoid之类的,这就使得这个J的曲线变得很复杂,并不是凸函数,不利于优化,很容易陷入到局部最优解的情况。吴恩达说当**函数是sigmoid的时候,J的曲线就如下图所示,可以看到这个曲线是很难求出全局最小值的,稍不留神就是局部最小值。
我们当然希望J的曲线能使下图所示,这样可以很容易通过梯度下降来求近似的全局最优解。
所以用均方来做损失函数就显得有局限性,现在大多数损失函数的设计都是基于交叉熵的,如下公式:
他们的曲线就是下图所示:
这样更加容易优化。
希望能够对你有所帮助