Python 实现深度学习(3): 神经网络的forward实现 |
您所在的位置:网站首页 › forwardpython › Python 实现深度学习(3): 神经网络的forward实现 |
写在最前: 写在最前, 我把代码和整理的文档放在github上了 https://github.com/Leezhen2014/python_deep_learning
Forward指的是神经网络推理,forward与感知机相比,多了一个激活函数的模块。因此本章需要实现激活函数,另外也需要重新实现y=w*x+b。本章的顺序如下: 3.1 激活函数的实现 在感知机中讲到用阈值来切换输出,这样的函数称为“阶跃函数”:一旦输入超出了阈值,就切换输出。阶跃函数也算是一种激励函数。 需要注意激励函数应该具有以下数学特性: 第一:由于后期训练过程中会对激励函数求导,因此这些函数必须符合数学上的可导。 第二:必须为非线性的函数。这可以用公式推一下: 若激励函数为线性函数 从本质上看,激活函数等同于原来的输入的:
即: 第i层的输入是第i+1层的k倍。 从表象上看,加深网络层次已经失去了意义;等效于无隐含层的网络。 3.1.1 Sigmoid 函数的实现 Sigmoid函数在(-1,1)区间内变化较大,超出这个范围以后变化较小,可以很好的影响。
1 def Sigmoid(x): 2 return 1/(np.exp(-x) +1) 3 4 if __name__ == '__main__': 5 x = np.arange(-5.0, 5.0, 0.1) 6 y = Sigmoid(x) 7 8 plt.plot(x,y) 9 plt.ylim(-0.1,1.1) 10 plt.show() |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |