深度学习的相关思想

Posted ratels

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了深度学习的相关思想相关的知识,希望对你有一定的参考价值。

1.

技术图片

感知器有一个问题,当面对的数据集不是线性可分的时候,『感知器规则』可能无法收敛,这意味着我们永远也无法完成一个感知器的训练。为了解决这个问题,我们使用一个可导的线性函数来替代感知器的阶跃函数,这种感知器就叫做线性单元。线性单元在面对线性不可分的数据集时,会收敛到一个最佳的近似上。这样替换了激活函数之后,线性单元将返回一个实数值而不是0,1分类。因此线性单元用来解决回归问题而不是分类问题。

——参考:https://www.zybuluo.com/hanbingtao/note/448086

 

2.

梯度是一个向量,它指向函数值上升最快的方向。

——参考《高等数学》

 

3. 

每次更新,要遍历训练数据中所有的样本进行计算,我们称这种算法叫做批梯度下降(Batch Gradient Descent)。每次更新,只计算一个样本,称这种算法叫做SGD算法。BGD算法计算量大,SGD算法效率高。

技术图片

红色是BGD的逼近曲线,而紫色是SGD的逼近曲线。由于样本的噪音和随机性,SGD每次更新w并不一定按照减少E的方向,但总体上仍然是向最低点逼近的。

随机性有时候反而是好事。目标函数是一个『凸函数』,沿着梯度反方向就能找到全局唯一的最小值。然而对于非凸函数来说,存在许多局部最小值。随机性有助于逃离某些很糟糕的局部最小值,从而获得一个更好的模型。

——参考:https://www.zybuluo.com/hanbingtao/note/448086

 

4.

事实上,一个机器学习算法其实只有两部分:
模型:从输入特征x预测输出y的那个函数h(x)
目标函数:训练数据中所有样本的误差的和,是w的函数
因此,如果想最简洁地介绍一个算法,列出这两个函数就行了。

——参考:https://www.zybuluo.com/hanbingtao/note/448086

 

N.

那么深层网络和浅层网络相比有什么优势呢?简单来说深层网络能够表达力更强。事实上,一个仅有一个隐藏层的神经网络就能拟合任何一个函数,但是它需要很多很多的神经元。而深层网络用少得多的神经元就能拟合同样的函数。也就是为了拟合一个函数,要么使用一个浅而宽的网络,要么使用一个深而窄的网络。而后者往往更节约资源。深层网络也有劣势,就是它不太容易训练。简单的说,你需要大量的数据,很多的技巧才能训练好一个深层网络。这是个手艺活。

——参考:https://www.zybuluo.com/hanbingtao/note/433855

以上是关于深度学习的相关思想的主要内容,如果未能解决你的问题,请参考以下文章

深度学习--基于深度矩阵分解的属性表征学习

百度深度学习平台PaddlePaddle框架解析

《TensorFlow深度学习应用实践》

TensorFlow深度学习应用实践

(转)深度学习前沿算法思想

《深度学习的数学》chap1 神经网络的思想