神经网络入门基础知识 neural networks basics
冰河期:图领奖得主,MIT计算机科学研究的奠基人Marvin MinsKy(马文 闵斯基)(2016年1月24日去世)在1969年出版《感知机》一书,认为单层神经网络无法解决非线性问题,而多层神经网络的训练算法尚看不到希望。这个论断直接导致神经网络研究进入10多年的冰河期。
第二个高潮期:BP算法的迅速走红,掀起了神经网络的第二次高潮。
冰河期:20世纪90年代中期,随着统计学习理论和支持向量机(support vector machine,SVM)的兴起,神经网络再次进入低估,NIPS会议多年不接受以神经网络为主题的论文。
第三个高潮期:2010年前后,随着计算能力的迅速提升和大数据的出现,神经网络研究在“深度学习”的名义下再次换发新春。
如果你觉得这篇文章看起来稍微还有些吃力,或者想要系统地学习人工智能,那么推荐你去看床长人工智能教程。非常棒的大神之作,教程不仅通俗易懂,而且很风趣幽默。点击这里可以查看教程。
神经网络是一种非线性学习算法,神经网络中最基本的成分是神经元(neuron),下面给出神经元的基本模型:
![](https://i-blog.csdnimg.cn/blog_migrate/36087c7b90064a0f7c96b791dcc9f8ca.png)
其中
为输入单元,
称为偏置单元(bias unit),
称为连接权重。
为输出函数,其中
,其实就是前面在logistic回归里提过的sigmoid函数(ps:目前神经网络的输出层通常使用softmax函数)。
![](https://i-blog.csdnimg.cn/blog_migrate/509a341fb08834bc8063a31c49399f63.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/81c5b7702c4cb1135250df7fdfc9976a.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e4865e17ae23d81d70dba0e6c189c2f1.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cdca29e2cb82f0899c19bd8df7213bd6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a551283c0865f7a4de6a0de349098f0f.gif)
还记得逻辑回归的sigmoid函数吗,
在这里称作“激励函数”(motivation function),其图像为(图片来自wiki):
![](https://i-blog.csdnimg.cn/blog_migrate/914d29f7224554c75dea956730dde81b.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/a7cfe4c48b165d95560668050fcc00d0.png)
关于这个函数就不多介绍了,我在逻辑回归里介绍过了。
介绍完神经元模型后,下面来介绍神经网络基本模型:
![](https://i-blog.csdnimg.cn/blog_migrate/4a9be3d4b0a0d86216017a4c808b9039.png)
在上面的图中我并没有画出偏置单元
,在实际应用中有时候需要加上。其中第一层(layer1)称为输入层,layer2称为隐藏层(神经网络可能不止一个隐藏层,只是本例中只有一个,其实只要位于隐输入层和输出层之间的都称为隐藏层),layer3称为输出层。
称为第j层的第i个单元的激励,
表示从第j层到第j+1层的权重。因此在本例中:
![](https://i-blog.csdnimg.cn/blog_migrate/511b855de507a3cae5f545fd576586d6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/818272c31c0dfd24f9525b5babca4b0e.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/d5da91377f9ae0808924b11499160576.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/f008dbfd797f5c64affec85df68ecabc.gif)
因此这里
。可以看出
是一个3*4的矩阵,即:
![](https://i-blog.csdnimg.cn/blog_migrate/e8427897a070b1fc3e36b322fa6b2327.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/e3b231e9d94607edac288abea30fc5b1.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/0fc9748ab49df2dae163206fabb04633.gif)
如果一个神经网络在第j层有
个单元,在第j+1层有
个单元,那么
为
的矩阵。
![](https://i-blog.csdnimg.cn/blog_migrate/a8839937d18182291278ade18c62d4d6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/5eb79c642f97670c30860e41da4b1cc6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/97b935f760213cd9ed3939f824fd2320.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/07d22bf5a98cb128a961cfff4c67585f.gif)
关于神经网络的最基本的知识就介绍到,下面举一些例子,帮助大家更好的理解神经网络。
Example 1:实现“与”功能
![](https://i-blog.csdnimg.cn/blog_migrate/7690a19f4bab1a671a785512f8892d93.png)
如上图所示,我们容易求得
。因此我们可以画出
的真值表,看看它是怎样实现“与”功能的。
![](https://i-blog.csdnimg.cn/blog_migrate/f1b05f8e9d21286d1e3947fd7a8306f6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/cdca29e2cb82f0899c19bd8df7213bd6.gif)
![](https://i-blog.csdnimg.cn/blog_migrate/61d58fa9b5e1fa681b16b768c364f58b.png)
因此,从上图可以看出是如何实现“与”功能的。。。
Example 2:
实现“或”功能:
![](https://i-blog.csdnimg.cn/blog_migrate/42f054cb868c0486f96ae9b2bf35d57f.png)
注:写博客不容易,甚是花费时间和精力,尤其画图很不容易。每个原创博客的孩子上辈子都是天使,请大家尊重原创,转载或者引用请注明原文作者和链接,谢谢!