神经网络
简介
- 神经网络的特征就是可以从数据中学习
- 深度学习也称为端到端的学习,从输入中获取输出
- 训练数据和测试数据两部分
- 追求模型的泛化能力,泛化能力是值处理未被观察过的数据的能力,终极目标
- 只对某个数据集过度拟合的状态称为过拟合,避免过拟合
损失函数
- 当前神经网络对监督数据在多大程度上不拟合
- 均方误差:
def mean_squared_error(y, t):
return 0.5 * np.sum((y-t)**2)
- 交叉熵误差:
def cross_entropy_error(y, t):
delta = 1e-7 #保护,防止出现log(0)
return -np.sum(t * np.log(y + delta))
mini-batch 学习
- 从训练数据中选出一批数据,然后对每个mini-batch进行学习
- mini-batch版交叉熵误差:
# one-hot,t为0的元素可以忽略
def cross_entropy_error(y, t):
if y.ndim == 1:
t = t.reshape(1, t.