神经网络基础知识

神经元

神经元的基础---线性分类器形式如下,



我们可以调整参数/权重W,使得映射的结果和实际类别吻合,而损失函数用来来衡量吻合度。

来看最简单的感知器:


神经网络基础知识_第1张图片

此处激活函数用sigmod。

简单的逻辑操作:and 和 or

我们可以用简单的感知器来完成逻辑与操作:


神经网络基础知识_第2张图片

也可以完成逻辑或操作:


神经网络基础知识_第3张图片

上面两个操作其数据集合都是线性可分的,有了上面两个操作后,我们就能进行一些逻辑组合了,看下面的and组合:
神经网络基础知识_第4张图片

再来一个复杂的例子:


神经网络基础知识_第5张图片

所以神经网络的能力是非常强大的。

有了上面介绍的and和or的能力后,我们来看下常见的简单神经网络,其能力极限在哪?

最简单感知器,可以将平面一分为2,如下图:

神经网络基础知识_第6张图片

单隐层,其相当于做两条曲线的与操作,极限如下图:
神经网络基础知识_第7张图片

此时如果我们增加中间隐层节点的个数,其实是可以画更多的曲线,从而达到任意的曲线性状,如下图:
神经网络基础知识_第8张图片

基本通过3个隐层神经元,3条直线就能达到要求了。
注:以上3张图片来自 http://playground.tensorflow.org/

下面总结下神经网络的表达能力:

  • 理论上dnn可以逼近任何的连续函数
  • 虽然只要隐层的神经元个数足够多也能达到和多隐层一样的数学效果,但是工程上还是多隐层好
  • 对于一些分类数据(比如CTR预估里),3层神经网络效果优于2层神经网络,但是如果把层数再不断增加(4,5,6层),对最后结果的帮助就没有那么大的跳变了
  • 图像和音频处理比较特殊,需要更深的网络,这样子能更准确的提取图像、音频信息

BP算法

我们定义目标函数f和损失函数J:


神经网络基础知识_第9张图片

我们的目标是优化J,使得J最小,对J求每个theta的导数:



下面我们对上面式子展开:
神经网络基础知识_第10张图片

于是整个计算过程如下:


神经网络基础知识_第11张图片

总结

本文介绍了神经网络的入门知识,从逻辑运算的角度去理解神经元,知道了其实复杂的函数都可以通过简单的逻辑与和或完成,接着介绍了基础的反向传播(BP)算法。

这是 深度学习系列 的第一篇,你的鼓励是我继续写下去的动力,期待我们共同进步。


神经网络基础知识_第12张图片
这个时代,每个人都是超级个体!关注我,一起成长!

你可能感兴趣的:(神经网络基础知识)