神经元的基础---线性分类器形式如下,
我们可以调整参数/权重W,使得映射的结果和实际类别吻合,而损失函数用来来衡量吻合度。
来看最简单的感知器:
此处激活函数用sigmod。
我们可以用简单的感知器来完成逻辑与操作:
也可以完成逻辑或操作:
上面两个操作其数据集合都是线性可分的,有了上面两个操作后,我们就能进行一些逻辑组合了,看下面的and组合:
再来一个复杂的例子:
所以神经网络的能力是非常强大的。
有了上面介绍的and和or的能力后,我们来看下常见的简单神经网络,其能力极限在哪?
最简单感知器,可以将平面一分为2,如下图:
单隐层,其相当于做两条曲线的与操作,极限如下图:
此时如果我们增加中间隐层节点的个数,其实是可以画更多的曲线,从而达到任意的曲线性状,如下图:
基本通过3个隐层神经元,3条直线就能达到要求了。 注:以上3张图片来自 http://playground.tensorflow.org/
下面总结下神经网络的表达能力:
我们定义目标函数f和损失函数J:
我们的目标是优化J,使得J最小,对J求每个theta的导数:
下面我们对上面式子展开:
于是整个计算过程如下:
本文介绍了神经网络的入门知识,从逻辑运算的角度去理解神经元,知道了其实复杂的函数都可以通过简单的逻辑与和或完成,接着介绍了基础的反向传播(BP)算法。
这是 深度学习系列 的第一篇,你的鼓励是我继续写下去的动力,期待我们共同进步。
这个时代,每个人都是超级个体!关注我,一起成长!