手写数字识别项目介绍



#2018-06-28 024709 June Thursday the 26 week, the 179 day SZ
这份文档主要是对项目的总结,应对面试准备的
手写数字识别项目介绍
TensorFlow框架:谷歌开发的开源框架,拿过来用就行。
MNIST是一个TensorFlow自带的手写数字图片数据集。图片包含60000张0-9数字,图片大小为28*28。
系统输入是图片,TensorFlow自带的类把图片转化为长度为28*28=784的一维数组,数组元素对应了图片像素矩阵中的每一个数字。神经网络的输入是特征向量,一维数组可以方便传递给输入层。
ReLU,Sigmoid,tanh激活函数:激活函数去线性化,提升效果;是给神经元添加激活函数和偏置项bias
输入层:特征向量,图片转化为一维数组。
隐藏层:输入层和输出层之间的结构,作用是解决异或运算,有利于特征提取
隐藏层结点个数:隐藏层中神经元个数
Softmax回归处理:神经网络的原始输出不是一个概率值,实质上只是输入的数值做了复杂的加权和与非线性处理之后的一个值而已,
Softmax回归把前向传播算法得到的结果变成了概率分布;称作Softmax层,位于最终输出层之前,原始输出层之后
损失函数:刻画预测值和真实答案的差距
交叉熵损失函数:判断两个概率分布之间的距离,判定实际的输出与期望的输出的接近程度。H(p, q) = -p(x)logq(x) 的和;
输出层:一般是要分类的个数
梯度下降:沿着梯度的反方向,朝着总损失更小的方向更新。参数梯度求偏导数
随机梯度下降:加速训练过程,原理:每次只优化某一条数据上的损失函数,而不是一次优化全部训练数据上的损失函数。
学习率: 定义每次参数更新的幅度,参数每次移动的幅度,学习率不断降低
基础学习率:最开始设置的学习率,********如何设置?根据经验设置
学习率的衰减率:随着时间推移,学习率越来越低,**********如何设置?带指数衰减的学习率设置,根据经验设置。具体如何实现,我不清楚,我只是通过调用函数实现。
训练轮数:经过多少轮的训练,神经网络达到我们想要的效果。
正则化:避免过拟合的方法;思想:在损失函数中加入刻画模型复杂度的指标,防止模型过度模拟训练数据中的随机噪音,再配一个系数代表模型复杂损失在总损失中的比重。
滑动平均模型让最终模型在测试数据上更加健壮。
前向传播:无数个加权和的过程通过矩阵乘法来完成,从而得到预测值,并且和真实值进行比较求出差距
反向传播法:计算损失函数对每一个参数的梯度,利用梯度下降法调整神经网络中参数的取值。

神经网络优化过程:前向传播算法得到预测值,并且和真实值进行比较求出差距;反向传播算法计算损失函数对每一个参数的梯度,利用梯度下降法更新参数

猜你喜欢

转载自blog.csdn.net/btujack/article/details/80980540