怎么在Python中实现一个神经网络算法

  介绍

怎么在Python中实现一个神经网络算法?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

Python的五大特点是什么

Python的五大特点:1。简单易学,开发程序时,专注的是解决问题,而不是搞明白语言本身。2。面向对象,与其他主要的语言如c++和Java相比,Python以一种非常强大又简单的方式实现面向对象编程。3。可移植性,Python程序无需修改就可以在各种平台上运行。4。解释性,Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。5。开源,Python是牙线(自由/开放源码软件)之一。

<强> Python实现二层神经网络

包括输入层和输出层

#, - *安康;编码:utf-8  - * -   # ! python2   import  numpy  as  np   # sigmoid 函数   def  nonlin (x,, deriv =, False):   ,如果(==deriv 真正的):   return 才能;x * (1 - x)   ,return  1/(1 + np.exp (- x))   # input 数据集   时间=x  np.array ([[0, 0, 1],   ,,,(0,1,1),   ,,,[1,0,1],   ,,,(1,1,1)])   # output 数据集   时间=y  np.array ([[0, 0, 1, 1]]) .T   np.random.seed (1)   # init  weight 价值   syn0 =, 2 * np.random.random ((3,1)) 1   print “测试结果:“   for  iter 拷贝xrange (100000):=,,l0  x ,,,,,, #, first 层,以及从而input 层=,,l1  nonlin (np.dot (l0 syn0)), #, second 层,以及从而output 层=,l1_error  y-l1=,,l1_delta  l1_error * nonlin (l1,真的)   +=,syn0  np.dot (l0.T, l1_delta)   print “outout  after 培训:“   print  l1

这里,

l0:输入层
l1:输出层
syn0:初始权值
l1_error:误差
l1_delta:误差校正系数
func nonlin:乙状结肠函数

这里迭代次数为100时,预测结果为

怎么在Python中实现一个神经网络算法

迭代次数为1000时,预测结果为:

怎么在Python中实现一个神经网络算法

迭代次数为10000,预测结果为:

怎么在Python中实现一个神经网络算法

迭代次数为100000,预测结果为:

怎么在Python中实现一个神经网络算法

<强>可见迭代次数越多,预测结果越接近理想值,当时耗时也越长。

<强> Python实现三层神经网络

包括输入层,隐含层和输出层

#, - *安康;编码:utf-8  - * -   # ! python2   import  numpy  as  np   def  nonlin (x,, deriv =, False):   ,如果(==deriv 真正的):   return 才能;x * (1 - x)   ,其他的:   return 才能;1/(1 + np.exp (- x))   # input 数据集   时间=X  np.array ([[0, 0, 1],   ,,,(0,1,1),   ,,,[1,0,1],   ,,,(1,1,1)])   # output 数据集   时间=y  np.array ([[0, 1, 1, 0]]) .T   syn0 =, 2 * np.random.random((3、4),安康;1,#,first-hidden  layer  weight 价值   syn1 =, 2 * np.random.random((4,1)),安康;1,#,hidden-output  layer  weight 价值   print “测试结果:“   for  j 拷贝范围(60000):=,,l0  X ,,,,, #, first 层,以及从而input 层=,,l1  nonlin (np.dot (l0 syn0)), #, second 层,以及从而hidden 层=,,l2  nonlin (np.dot (l1, syn1)), #, third 层,以及从而output 层=,,l2_error  y-l2 , #, hidden-output  layer 错误   ,如果(j % 10000)==, 0:   print 才能“错误:“+ str (np.mean (l2_error))=,,l2_delta  l2_error * nonlin (l2, deriv =, True)=,,l1_error  l2_delta.dot (syn1.T),, #, first-hidden  layer 错误=,,l1_delta  l1_error * nonlin (l1, deriv =, True)   +=,syn1  l1.T.dot (l2_delta)   +=,syn0  l0.T.dot (l1_delta)   print “outout  after 培训:“   print  l2

运行结果:

怎么在Python中实现一个神经网络算法

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。

怎么在Python中实现一个神经网络算法