- 损失函数(loss function)可以为任意函数,常用的是均方误差和交叉熵误差
- 损失函数:最优参数解的参考指标,希望它越小越好
- 用于评价神经网络的性能“恶劣程度”,当前神经网络对监督数据(训练数据)在多大程度上不拟合,不一致
均方误差(mean squared error):
yk:神经网络的输出
tk:监督数据(训练数据)
mean_squared_error.py
# oding: utf-8
# 损失函数之均方误差
import numpy as np
def mean_squared_error(y, t):
return 0.5 * np.sum((y - t) ** 2)
# 手写数字识别MNIST
t = [0, 0, 1, 0, 0, 0, 0, 0, 0, 0] # 设置“2”为正确解,监督数据
y = [0.1, 0.05, 0.6, 0.0, 0.05, 0.1, 0.0, 0.1, 0.0, 0.0] # softmax输出激活函数故可以理解为概率,设置‘2’为最高概率
print(mean_squared_error(np.array(y), np.array(t))) # 0.09750000000000003 损失函数值很低
y = [0.1, 0.05, 0.1, 0.0, 0.05, 0.1, 0.0, 0.6, 0.0, 0.0] # 设置‘7’为最高概率的情况为(0.6)
print(mean_squared_error(np.array(y), np.array(t))) # 0.5975 损失函数值很高