神经网络以某个指标为线索寻找最优权重参数。神经网络的学习中所用的指标称为损失函数 (loss function)。这个损失函数可以使用任意函数,但一般用均方误差和交叉熵误差等。
均方误差可以用作损失函数的函数有很多,其中最有名的是均方误差 (mean squared error)。均方误差如下式所示。
这里,yk 是表示神经网络的输出,tk 表示监督数据,k 表示数据的维数。
如式(4.1)所示,均方误差会计算神经网络的输出和正确解监督数据的各个元素之差的平方,再求总和。现在,我们用 Python 来实现这个均方误差,实现方式如下所示。
import numpy as np
def mean_squared_error(y, t):
return 0.5 * np.sum((y - t) ** 2)
if __name__ == '__main__':
t = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0]
y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0]
print(mean_squared_error(np.array(y), np.array(t)))
运行结果:
0.09750000000000003
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)