当前位置:   article > 正文

深度学习笔记二:单层感知器学习与实践_、实现单层感知器学习算法,验证算法的正确性,选择iris-人工神经网络.txt中的一部

、实现单层感知器学习算法,验证算法的正确性,选择iris-人工神经网络.txt中的一部

单层感知器的理论知识上一节已经介绍过,这一节主要结合代码实现单层感知器的学习过程

这里我们用python3实现,用到numpy库




  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. X = np.array([[1,3,3],[1,4,3],[1,1,1]])
  4. Y = np.array([1,1,-1])
  5. W = (np.random.random(3)-0.5)*2
  6. print(W)
  7. #学习率
  8. lr = 0.11
  9. n = 0
  10. o = 0
  11. def update():
  12.     global X,Y,W,lr,n
  13.     n += 1
  14.     o = np.sign(np.dot(X,W.T)/X.shape[0])
  15.     W_C = lr*((Y-o.T).dot(X))
  16.     W = W + W_C
  17. def predict(X):
  18.     global W
  19.     y = np.sign(np.dot(X,W.T))
  20.     return y
  21. for i in range(100):
  22.     update()
  23.     print(W)
  24.     print(n)
  25.     o = np.sign((np.dot(X,W.T))/X.shape[0])
  26.     if(o == Y.T).all():
  27.         print('finish')
  28.         break
  29.     
  30. for e in X:
  31.     print(predict(e))
  32. x1 = [3,4]
  33. y1 = [3,3]
  34. x2 = [1]
  35. y2 = [1]
  36. xdata = np.linspace(0,5)
  37. k = -W[1]/W[2]
  38. d = -W[0]/W[2]
  39. plt.figure()
  40. plt.plot(xdata,xdata*k+d,'r')
  41. plt.plot(x1,y1,'bo')
  42. plt.plot(x2,y2,'yo')
  43. plt.show()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/129641
推荐阅读
相关标签
  

闽ICP备14008679号