2019-10-14

                                                            深度学习第八天

神经网络实现全过程理论部分介绍:

1.数据输入:以Mnist数据集为例子:Mnist数据集是来自美国国家标准与技术研究所,National Institute of Standards and Technology(NIST).训练集 (training set) 由来自 250 个不同人手写的数字构成, 其中 50% 是高中学生, 50% 来自人口普查局 (the Census Bureau) 的工作人员. 测试集(test set) 也是同样比例的手写数字数据.训练集共有60000张,测试集有10000张,图片是28*28的黑白(灰度)图片。

要想图片数据能够传入神经网络,我们首先需要reshape图片为(1,784)一维向量,每个特征数据对应一个权重参数w,构造线性回归函数y= wx + b ,使输入的数据成线性,利用最小二乘法求出这个线性方程。

说明:前期为了让我们输入的数据特征统一成一个量纲,使数据之间的分布均匀,有助于做网络训练时梯度下降的更加均匀,模型精度更高,收敛更好,提高收敛效率,我们对数据进行归一化处理,使数据分布在(0,1)之间。然后进行去均值,使得输入数据各个维度都中心化,不去均值会使数据容易拟合。在神经网络中,特征x比较大时,w*x +b的结果会很大,这样激活函数(relu)输出时,会使对应位置数值的变化量太小,进行反向传播时因为要使用这里的梯度进行计算,所以会导致梯度消失问题,导致参数改变量很小,易于拟合,效果不好。

2.数据传入第一层神经原:从神经元中输出的数据又需要进行激活处理,激活函数是使线性函数变成非线性,使神经网络表达能力更强。能够更好的区分数据。

3.数据输出:数据经过神经层处理后,也需要对数据进行处理,对输出数据进行分类,检测与标准值的差距。常见的函数有sigmoid,softmax,y=x。

4.计算损失函数(输出的数据与标签的差距):(h-y)^2然后使用梯度下降法,改变w的取值,使损失值最小(趋于稳定),常见的优化算法有:BGD,SGD,MBGD等等优化器。

5.测试计算的结果:当找到最小loss时,我们的训练基本完成,接下来就需要使用测试集对自己得出的结果进行测试比对准确率了。

你可能感兴趣的:(2019-10-14)