神经网络的数学基础

数据集

模型通过数据在训练集上进行学习

train_images.shape
(6000,28,28)
len(train_labels)
6000
train_labels
arry([5,0,4,......,5,6,8],dtype=uint8)

然后在测试集上对模型进行测试

test_images.shape
(10000,28,28)
len(test_labels)
10000
test_labels
array([7,2,1,......,4,5,6],dtype=uint8)

也就是先将训练的数据输入神经网络,然后通过网络学习将输入的图像信息和输出标签相匹配,之后网络对测试的数据进行预测,来验证这些预测出的数据和测试集中的数据标签匹配度。

具体的数据表示

1、张量:是一个数据容器,包含的数据几乎都是数值数据,且张量的维度是矩阵向任一维度的推广,张量的维度通常叫做轴;张量的关键属性有形状类型

2、张量的认识:比如一个张量形状为(20,300,2,80),就是有2个一维形状为(80)的张量,300个轴为2的,形状为(2,800)的张量,20个3维的,形状为(300,2,80)的4维张量,总之,张量就是从最后一个开始看,前一个数字就是有几个后面的;

3、关于张量的运算

(1)逐元素运算:前提是两个形状相同的张量,对应元素按照规定运算进行加减乘除;

(2)广播:绝大部分情况,两个张量的形状并不相同,这种情况下,需要对较小的张量进行广播,为了和较大张量进行逐元素运算;

比如:一个张量的形状是(a,b,...  n,n+1,...,m),另外一个张量是(n+1, ...  ,m),广播会自动添加a到n的轴;

(3)张量的点积:张量的点积不同于向量的逐点相乘,二维张量的点积类似于矩阵的乘积,更高维的张量做点积也遵循其原则;比如形状为(a,b,c,d)和形状为(d,e)的乘积结果为(a,b,c,e);和理解张量一样,先让(c,d)与(d,e)做点积,结果为(c,e);再广播为(a,b,c,e);

  (4)  张量变形:改变行和列以得到想要的形状,其中,所熟悉的转置就是特殊的张量变形;而其中对于高维张量的转置也是一个学习的突破点;比如,形状为(300,20,90)的张量进行转置后的结果就是(90,20,300)也就是将每一个元素轴1和轴3的坐标互换后所对应的元素,与原来该坐标对应的元素进行互换即可;

(5)张量的几何解释:一个张量的元素可以被解释为某一个几何空间内的坐标,而类似旋转、缩放等几何操作都是张量运算;神经网络就可以理解为高维空间中复杂的几何变换,而深度学习就是将复杂的几何变换逐步分解为基本的几何变换;深度网络的每一层都通过数据解开一点点,可以实现非常复杂的解开过程;

(6)梯度的优化:神经网络的每一层都是w*input+b,其中w和b都是随机的,其中w和b是该层的权重,也可以称为训练参数,通过反馈信号逐渐调节这些权重,使损失函数逐渐减小,这个逐渐调节的过程就是机器学习中的学习;

(7)随机梯度下降:随机抽取样本和对应的目标的数据批量,在样本上运行网络,得到预测值,计算预测值和目标的距离,再计算损失对网络参数的梯度;将参数沿着梯度的反方向进行移动,从而对数据损失减小一点;这就是小批量随机梯度下降;称为小批量SGD;

(8)优化:优化器是对反向传播中调节参数起指导作用的部分,其中动量解决了SGD的两个问题:收敛速度和局部极小点,小学习率的SGD进行优化可能导致陷入局部极小点,大学习率的SGD容易导致数据选取的不稳定,因此,选取合适有助于各更好的更新参数以减小损失函数;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值