您好,欢迎来到爱问旅游网。
搜索
您的当前位置:首页神经网络学习(多层感知机)第一篇

神经网络学习(多层感知机)第一篇

来源:爱问旅游网

在上一篇博客感知机的学习当中,我们发现单层感知机有一个非常严重的问题,即对一些稍微复杂的函数为力(如最为典型的“异或”操作)。所以才会有多层感知机的出现,它由一个输入层,一个输入层和多个隐藏层组成。神经网络和前面介绍的感知机有很多共同点。这里,我们主要以两者 的差异为中心,来介绍神经网络的结构 。
在观察神经网络中信号的传递方法之前,我们先复习一下感知机。假设感知机只接收两个信号x1和x2,输出Y。我们用数学表达式来表示这个感知机:

我们将上面的数学表达式用一个函数来表示这种分情况的动作,引入新函数h(x),则可表示为:

(1)sigmoid函数
神经网络中用sigmoid函数作为激活函数,进行信号的转换,转换后的信号被传送给下一个神经元。实际上,前面介绍的感知机和神经网络的主要区别就在于这个激活函数。
神经网络中经常使用的一个激活函数是sigmoid函数:

import numpy as np
import matplotlib.pylab as plt
#def step_function(x):#阶跃函数
#    return np.array(x > 0, dtype=np.int)
#def step_function(x):
#    y = x > 0    
#    return y.astype(np.int)
#x = np.arange(-5.0, 5.0, 0.1)
#y = step_function(x) 
#plt.plot(x, y) 
#plt.ylim(-0.1, 1.1) # 指定y轴的范围 plt.show()
#def sigmoid(x):#sigmoid函数
#    return 1/(1+np.exp(-x))
#x=np.arange(-4.0,4.0,0.1)
#y=sig(x)
#plt.plot(x,y)
#plt.ylim(0,1)
#def relu(x):#relu函数
#    return np.maximum(0, x)
#print(relu(1))
#x=np.arange(-2.0,2.0,0.1)
#y=relu(x)
#plt.plot(x,y)
#plt.ylim(-0.2,1)
#plt.imshow

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- awee.cn 版权所有 湘ICP备2023022495号-5

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务