损失函数
一、损失函数
损失函数是表示神经网络性能的“恶劣程度”的指标,即当前的神经网络对监督数据在多大程度上不拟合,在多大程度上不一致。以“性能的恶劣程度”为指标可能会使人感到不太自然,但是如果给损失函数乘上一个负值,就可以解释为“在多大程度上不坏”,即“性能有多好”。并且,“使性能的恶劣程度达到最小”和“使性能的优良程度达到最大”是等价的,不管是用“恶劣程度”还是“优良程度”,做的事情本质上都是一样的。
1、均方误差
yk是表示神经网络的输出, tk表示监督数据, k表示数据的维数。
def mean_squared_error(y, t): return 0.5 * np.sum((y-t)**2)
2、交叉熵误差
log表示以e为底数的自然对数(log e)。 yk是神经网络的输出, tk是正确解标签。
def cross_entropy_error(y, t): delta = 1e-7 return -np.sum(t * np.log(y + delta))