基于python手写深度学习网络系列(3)神经网络
标题基于python手写深度学习网络系列(3)
神经网络
神经网络主要包括输入层,中间层(也叫隐藏层)和输出层
感知机的**函数是阶跃函数,换成sigmoid函数就变成神经网络了。sigmoid函数形式如下:
对numpy数组进行不等号运算
可以看到对x数组进行比较大小,就会对数组中每一个元素分别比较,然后生成一个数据类型是布尔型的数组,使用astype就可以将true变成1,将false变成0
这里是因为numpy数组支持广播的功能
同样绘制出sigmoid函数的图像
阶跃函数和sigmoid函数都属于非线性函数,而神经网络必须使用非线性函数。还有一个最近使用很广泛的函数,ReLU**函数,简言之,就是x小于等于0时,结果为0;x大于零时结果为x。
在此基础上就可以搭建简单的神经网络了
再稍微复杂一点,设计两个层
好了,到此为止我们就手写了一个神经网络啦,各位看官再见!
哈哈哈,当然是在开玩笑,这只是一个不能更雏形的网络,之后的文章里边会更结构化,并且有很多细节,敬请期待!