学习:从训练数据中自动获取最优权重参数的过程。目的是以损失函数为基准,找到能让其达到最小的权重参数。
感知机收敛定理:感知机可以通过有限次数的学习,解决线性可分的问题。但不能通过学习解决非线性可分的问题。但神经网络uo可以直接将原始数据进行学习,避免了人力的特征工程。
特征量:可以从输入数据中准确提取出重要数据的转换器。不同的问题要选择合适的特征量。
训练数据,测试数据,过拟合,欠拟合
过程:通过训练数据学习参数,然后通过测试数据评价模型能力。划分原因:未来保证泛化能力。
用来评价网络性能。方法是利用梯度来逐步更新参数的值从而使得损失函数尽可能小。
使用损失函数不使用精度的原因:
因为精度是离散的不连续的,微调参数不能改善精度
神经网络使用sigmoid不适用阶跃函数的原因:
阶跃函数导数一般为0或者突变。因此无法通过导数(梯度)来指导参数修正。而sigmoid导数是连续的。
python表示
def mean_squared_error(y,t):#y为网络输出,t为label
return 0.5*np.sum((y-t)**2)#**2表示2次方
one-hot:正确标签为1,其他标签为0
python表示
def class_entropy_error(y,t):#同样y为网络输出,t为label
delta=1e-7 #设置微笑量,因为y有可能为0,那么logy为无穷
retrun -np.sum(t*np.log(y+delta))
以上均为单个输入的误差,应用时要使用整体误差来调整参数。因此要n个数据的误差累加最后再除以n
mini-batch学习:从全部的数据中选出一部分,作为全部数据的近似。原因:如果数据很多全部计算损失函数花费时间会很长。比对批处理
python_keys:
num=np.random.choice(train_size,batch_size)#[0,train_size)中随意选取batch_size个
arr=np.arange(size)#生成[0,size)的数组
数值微分:利用微小的差分求导数的过程,含有误差。
解析行求解:利用数学公式求导的过程,不含误差。
python_keys:
np.zeros_like(x)#生成一个和x大小相同的全零矩阵
梯度指示的是个点函数值降低最快的方向,但在复杂函数中指示的方向一般不是函数的最小值处。
学习高原:梯度法寻找的是梯度为0的地方,但如果函数复杂且呈扁平状时,学习可能会进入这个平坦地区,导致无法下降。
学习率:指每次调节参数的幅度大小。被称为超参数,一般是由人来设定的需要尝试多个值。和由神经网络的参数(权重,偏置)不同。
步骤:
train_size=train.shape[0]#数组组数
batch_size=100#mini-batch每次取的组数
train_loss_list=[]
train_acc_list=[]
test_acc_list=[]
#epoch指所有训练数据被使用过一次时的更新次数
iter_per_epoch=max(train_size/batch_size,1)
#人工设定的超参数
items_num=10000 #梯度下降法的更新次数
learning_rate=0.1
network=TwoLayerNet(input_size=784,hidden_size=50,output_size=10)#初始化一个网络
for i in range(items_num):
batch_mask=np.random.choice(train_size,batch_size)
x_batch=x_train[batch_mask]#数组里边放数组,取出相应数组下标的元素,最后构成数组。
t_batch=t_train[batch_mask]
grad=network.gradient(x_batch,tbatch)#梯度
for key in ('W1','b1','W2','b2'):
network.params[key]-=learning_rate*grad[key]
loss=network.loss(x_batch,t_batch)
train_loss_list.append(loss)# 计算损失函数,最后可以画图,最后逐渐逼近x轴的是收敛的。
if i%iter_per_epoch==0:
train_acc=network.accuracy(x_train,t_train)
test_acc=netwrok.accuracy(x_test,t_test)
train.acc_list.append(train_acc)
test_acc_list.append(test.acc)#训练集,测试集的准确率,最后画图是逼近1(过好会导致过拟合)的曲线代表训练好了
#ps 数组支持==运算
不学啦不学啦,这本书只适合入门,很简单。
峡谷见面 0.0