《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!
01
—
回顾
上一篇总结了常用的机器学习算法,论述了为什么需要深度学习,以及一种系统地展开deep learning的学习清单,具体请参考:
都知道深度学习地实施一般都借助神经网络模型,因此,接下来,先看一看,神经网络模型是怎么一回事。
02
—
神经网络模型
2.1 神经网络模型组成
一般地,神经网络模型包括输入层(input layer),隐含层(hidden layers),输出层(output layer)。
如上图所示,数据传输是从 input layer -> hidden layers -> output layer ,这种网络叫做前向传播神经网络(feedforwardneural networks),在这种网络中没有环,数据传播总是前向的,从不反向,也就是说输入层会通过隐含层1,隐含层2,...,间接地影响到输出层。
有一些神经网络是特例,比如 RNN (recurrent neural networks),循环的意思是指,一个神经元的输出会影响其输入,注意,这种影响不是立即发生的,而是在一定时间之后才发生的。
2.2 小球搜寻下坡最快的例子
成本函数为 C(w,b),为了取得L的最小值,采取朝着梯度方向的逐步逼近的策略,称为梯度下降,下面再介绍下它的具体实施步骤。
如下方所示的小球,位于v1, v2 空间中,图示位置所处的成本值还是比较大的,为了逐步减小,
让小球在 v1 和 v2 方向分别移动一定距离 ,那么它移动的距离可表示为:
令,
注意,上面两个表达式都是列向量,化简后,
中间点表示为向量的点乘,
为了保证在任何时候为负值,设
其中,
为学习率
这样,就能保证在任何时候为负值,因为,
所以,只要对 v 做如下迭代,就能确保小球一直下降,最后直到位置达到某个阈值。
以上这个式子,就是梯度下降迭代某个自变量 v 的公式。
2.3 引出梯度下降的参数迭代公式
在求解神经网络模型中,成本函数 C(w,b) 对应的自变量为 w(所有的权重参数),b(每层的偏置项),根据上面的公式,自然地,可以得到 w 和 b 的迭代公式:
2.4 批梯度下降
通常训练集内包括的样本数比较大,这里有3种梯度下降的策略:
1. 每次迭代只使用随机的一个样本(极限情况1),这种情况下,每次修正方向以各自样本的梯度方向修正,横冲直撞,难以达到收敛。
2. 每次迭代使用所有样本(极限情况2),计算效率很低,训练一套网络会很慢。
3. 批处理(中间情况),mini-batch,每次选取一定数量的样本进行训练,能避免情况1的出现,也能在迭代效率上有所提升,在这种情况下,权重参数和偏置项用批处理表示为如下,
至此,批处理参数迭代公式推导结束。
下面正式进入,手写字数据集,用神经网络模型进行训练分类。
03
—
建立神经网络模型手写字识别
3.1 手写数据集背景介绍
这个数据集包括7万张手写数字的扫描图像,如下图所示,
用其中6万张来作为训练集,1万张用于测试,每张图像的像素是28 by 28 的灰色度图像,任务是自动识别手写的字是哪个数字。
3.2 建立神经网络模型
方便起见,输入层的神经元个数为 28 * 28 = 784 个,输出层为10个神经元,对应着数字 0,1,2,...,9 ,对7万张图像,其中5万张用于训练,1万张用图像验证集,剩下的1万张还是用测试。
3.3 图像分类分析
对于分类,传统的机器学习算法,比如逻辑回归,softmax分类器,决策树,随机森林,AdaBoost,GBDT,XGBoost等,都可以用来做分类,这些传统的ML算法,无一例外,都使用一种限定的模型,然后拿成本函数(又称损失函数)对模型进行参数求解。
但是,它们对图像识别,尤其是复杂背景下的图像识别,分类的效果,都没有神经网络模型好,这里对手写字数据集的分类,也是用建立一套神经网络模型,然后拿目标函数,通过梯度下降,学得所有神经元的权重参数,和每层的偏置项。
因此,可以看出神经网络模型训练用于分类任务求解的思路与传统的ML求解一致,只不过此时我们会使用神经网络模型,这一点是非常不同的。
3.4 手写字图像分类分析
手写字图像分类,用神经网络模型,如何进行,这是一个不用tensorflow训练的思路,只用到了Numpy库,这个方法实现了包括:
如何拆分图像任务,
建立神经网络,
训练神经网络,
梯度下降求解权重参数和偏置项,
最终分类效果(准确度等)分析
完整代码实现
预知这些过程,请关注明天的推送。
请记住:每天一小步,日积月累一大步!
《实例》阐述算法,通俗易懂,助您对算法的理解达到一个新高度。包含但不限于:经典算法,机器学习,深度学习,LeetCode 题解,Kaggle 实战。期待您的到来!
领取专属 10元无门槛券
私享最新 技术干货