训练误差:指模型在训练数据集上的误差
泛化误差:指模型在任意一个测试数据样本表现出的误差的期望
欠拟合:无法的到较小训练误差
过拟合:训练误差远小于测试数据得到的误差
影响因数:模型复杂度与训练数据的大小
交叉熵损失函数
ndarray.concat函数
x = [[1,1],[2,2]]
y = [[3,3],[4,4],[5,5]]
z = [[6,6], [7,7],[8,8]]
concat(x,y,z,dim=0) = [[ 1., 1.],
[ 2., 2.],
[ 3., 3.],
[ 4., 4.],
[ 5., 5.],
[ 6., 6.],
[ 7., 7.],
[ 8., 8.]]
Note that you cannot concat x,y,z along dimension 1 since dimension
0 is not the same for all the input arrays.
concat(y,z,dim=1) = [[ 3., 3., 6., 6.],
[ 4., 4., 7., 7.],
[ 5., 5., 8., 8.]]
激活函数
上述问题的根源在于全连接层只是对数据做仿射变换(affine transformation),而多个仿射变换的叠加仍然是一个仿射变换。解决问题的一个方法是引入非线性变换,例如对隐藏变量使用按元素操作的非线性函数进行变换,然后再作为下一个全连接层的输入。这个非线性函数被称为激活函数(activation function)
1.ReLU函数
ReLU(x)=max(x,0)(保留正数)
2.Sigmoid函数
他可以将元素的值变还到0-1之间
Sigmoid(x)=1/(1+exp(-x)
权重衰减:(应对过拟合的方法)
L2范数正则化就是在原来损失函数的基础上添加L2范数惩罚项(及权重参数的每个元素的平方之和与一个正常数的乘积ÿ