基于随机梯度下降法的手写数字识别、epoch是什么、python实现
一、普通的随机梯度下降法的手写数字识别
1.1 学习流程
1.从训练数据中随机选择一部分数据
2.计算损失函数关于各个权重参数的梯度
这里面用数值微分方法求梯度
3.将权重参数沿梯度方向进行微小的更新
4.重复前三个步骤
1.2 二层神经网络类
params:保存神经网络参数的字典型变量
grads:保存梯度的字典型变量
def __init__(self, input_size, hidden_size, output_size, weight_init_std=0.01):
input_size:输入层神经元个数
hidden_size:隐藏层神经元个数
output_size:输出层神经元个数
def predict(self, x):
进行识别,x:图像数据
def loss(self, x, t):
求损失函数,x:图像数据;t:正确解标签
def accuracy(self, x, t):
计算识别精度