DL之Perceptron:Perceptron感知器(感知机/多层感知机/人工神经元)的简介、原理、案例应用(相关配图)之详细攻略

DL之Perceptron:Perceptron感知器(感知机/多层感知机/人工神经元)的简介、原理、案例应用(相关配图)之详细攻略


相关文章
DL之AF:机器学习/深度学习中常用的激活函数(sigmoid、softmax等)简介、应用、计算图实现、代码实现详细攻略

Perceptron的简介、原理

感知机是由美国学者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进行分类

相关文章
DL之Perceptron:感知机(Perceptron)的与或非案例(构建XOR)+构建神经网络进行分类

(0)

相关推荐