这个仓库将会介绍BP人工神经网络的数学推导以及会用Python来实现BP。本来我打算录制一系列视频的,不过开始工作的时候才发现这有多难了,倒不是讲解这个推导过程或是写程序的部分挺难,而是自己一个人对着电脑说话很难,自言自语,感觉自己就像一个傻子。我自己录制了大概有几十分钟课程,实在干不下去了,这个时候我深深地感受到观众是多么重要,我对着电脑录制的时候,抛出任何的问题以及包袱都不会有任何的回应,这太让人尴尬了,所以我就退而求其次,将其整理成一些文字,发布到网上吧,毕竟这样我就不用自己对自己说话了。我暂时自顾自地将这些文字说成是一个教程吧,希望它能达到这个标准。
我现在明白观众的重要性了,希望你会是我的观众!
-
理解BP神经网络的结构与BP神经网络的学习过程
-
理解我们用来实现BP的代码
-
我自己介绍一下我用BP神经网络来做一件事——手写数字识别
这些东西都是我从别人那儿提取出来的东西,所以如果你没有心情看着我这个教程,我还是向你推荐一下一个地方,我就是从这个地方学习到相关的知识的,Neural Networks and Deep Learning,如果你浏览一下你会发现这好像是一本书,有6章,而我的教程只会涉及到前面的两章,后面的我没有涉及到,你如果看完我的教程之后还想继续学习的话,这是一个不错的学习的地方,希望你学有所成。当然,如果你直接从这里跳到那个教程上学习也是可以的,虽然我有一些悲伤,但是出于对知识的尊重,我还是支持你这么做。
-
知道如何对一个函数求导数、求偏导
-
知道矩阵点乘的知识,向量内积的知识,仅需知道它们怎么求解即可
因为这个教程将会使用Python来实现,所以如果你准备跟着这个教程走下去的话,希望你了解一些Python的知识,当然如果你准备使用别的语言来编写的话,那么这个要求可以忽略。对于Python,你需要了解的几个知识点如下:
-
列表、元组的操作
-
for语句的使用(Python的for语句非常方便)
-
如何定义函数
-
如何定义过一个类以及使用这个类
-
另外我么会使用到Numpy这个Python的库,如果你没有使用过或是使用得不熟悉的话,不用担心,因为我也是没有熟悉它的使用,不过当我们使用到任何一个其中的函数的时候我们会稍微介绍一下这个函数。
最后希望大家能从这里获取到你想要获取的东西,开始你的学习之旅吧!