DL之Perceptron:Perceptron感知器(感知机/多层感知机/人工神经元)的简介、原理、案例应用(相关配图)之详细攻略
目录
相关文章
DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略
感知机是由美国学者FrankRosenblatt 在1957 年提出来的,被看作为神经网络(深度学习)的起源的算法。
神经元会计算传送过来的信号的总和,只有当这个总和超过了某个界限值时,才会输出1。这也称为“神经元被激活” 。这里将这个界限值称为阈值,用符号θ 表示。
1、感知机来解决简单的问题
使用感知机可以表示与门、与非门、或门的逻辑电路。这里重要的一点是:与门、与非门、或门的感知机构造是一样的。实际上,3 个门电路只有参数的值(权重和阈值)不同。也就是说,相同构造的感知机,只需通过适当地调整参数的值,就可以像“变色龙演员”表演不同的角色一样,变身为与门、与非门、或门。
2、感知机的局限性
Perceptron Can not solve XOR problem。使用感知机可以实现与门、与非门、或门三种逻辑电路。但是无法解决异或门(XOR gate)。
XOR:仅当x1 或x2 中的一方为1 时,才会输出1;“异或”是拒绝其他的意思。
(1)、或门:灰色区域是感知机输出0 的区域。图中直线可以将这4 个点正确地分开。
异或门:○和△表示异或门的输出。图中无法找到一条直线分割○和△的空间。
1)、实际上,感知机的绝妙之处在于它可以“叠加层”。
(2)、通过组合与门、与非门、或门实现异或门
- import numpy as np
- import matplotlib.pyplot as plt
-
- 输入数据
- X = np.array ([ [1, 3, 3], [1, 4, 3], [1, 1, 1]])
- 标签
- Y = np.array ([1, 1, -1])
- 权值初始化,1行3列,取值范围[-1,1]
- W = (np.random.random (3) -0.5) *2
- print (W)
- 设置学习率、迭代次数、神经网络基础
- lr = 0.11
- n = 0
- O = 0
- def update():
- global X,Y,W,lr,n
-
- for _ in range(100):
- update() 更新权值
-
- 正样本
- x1=[3,4]
- y1=[3,3]
- 负样本
- x2=[1]
- y2=[1]
-
- 计算分界线的斜率以及截距
- k=-W[1]/W[2]
- d=-W[0]/W[2]
- print('k=',k)
- print('d=',d)
-
- xdata=np.linspace(0,5)
- plt.figure()
- plt.plot(xdata,xdata*k+d,"r")
- plt.plot(x1,y1,'bo') 正样本蓝色散点表示
- plt.plot(x2,y2,'yo') 负样本蓝色散点表示
- plt.show()
1、DL之perceptron:利用perceptron感知机对股票实现预测
2、利用Perceptron进行分类
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
添加我为好友,拉您入交流群!
请使用微信扫一扫!