损失函数及其优化算法

Posted on   Charlie_ODD  阅读(2856)  评论(1编辑  收藏  举报

 

 

损失函数

损失函数(loss function)也叫代价函数(cost function)。是神经网络优化的目标函数,神经网络训练或者优化的过程就是最小化损失函数的过程(损失函数值小了,对应预测的结果和真实结果的值就越接近

 1、二次代价函数

二次代价函数就是欧式距离的和,在线性回归中用的比较多,但在目前的神经网络中用的相对较少。

 2、交叉熵代价函数

交叉熵(cross-entropy)代价函数来源于信息论中熵的概念。是目前神经网络分类问题中(比如图像分类)常用的代价函数。

交叉熵代价函数对分类问题有一个很好的解释:当分类输出正确类的结果(输出层使用softmax函数之后的值)接近于1,即a=~1时,对应正确类的标签为1,即y=1。则可得到,C中第一项接近于0,第二项等于0。对于非正确类,a接近于0,y=0,则C中第一项为0,第二项接近于0。故最终C接近于0;当分类输出正确类的结果与1的差距越大,则上式C的值越大。

 3、对数似然函数

对数似然函数与交叉熵代价函数类似,但只考了正确类损失,不考虑错误类的损失,用的也比较多。与交叉熵代价函数一样,对数似然也对分类有一个很好的解释:当正确类的输出值a(输出层只用softmax后的值)接近于1时,y=1,C接近于0;当输出值a距离a越大时,C值越大。
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示