均方误差和交叉熵误差


均方误差个交叉熵误差都是常用的损失函数之一。

首先简要介绍下损失函数:

损失函数是用来表示神经网络性能的“恶劣程度”的指标。即当前神经网络对监督数据在多大程度上不拟合,在多大

程度上不一致。说白了,即所创建的神经网络对输入数据的预测输出值与监督数据(实际输出值)的差距。

均方误差:

 

上面是计算公式,其中yk表示神经网络的预测输出值,tk表示监督数据,k表示数据的维数。前面的1/2是为了求导

的时候可以消去指数下来的2。

下面是Python的简单实现:

# 均方误差
def mean_squared_error(y, t):
    return 0.5 * np.sum((y - t)**2)

交叉熵误差:

 

上面是计算公式,log表示以e为底数的自然对数,yk是神经网络预测输出值,tk是正解标签。并且tk中只有正确解

标签的索引为1,其他都是0(one-hot表示)。

下面是Python的简单实现:

# 交叉熵误差
def cross_entropy_error(y, t):
    delta = 1e-7 # 注意此处为0.0000001 用于防止出现np.log(0)时出现的无穷小 防止出现-inf后无法继续计算
    return -np.sum(t * np.log(y + delta))

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM