最近开始学习一点深度学习、图像识别方面的内容,记录下来,以备温故。
感知机是由美国学者Frank Rosenblatt在1957年提出来的,它是深度学习的起源算法。
感知机接收多个输入信号,输出一个信号。感知机的信号只有“流/不流(1/0)”两种取值。
下图是接收两个输入信号的感知机的数学表达式(markdown语法下编写数学公式不太方便,故只能够放图片了)这里x1、x2是输入信号;w1、w2分别为其权重;b称为偏置。感知机会计算输入信号与权重的乘积,然后加上偏置,如果这个值大于0则输出1,否则输出0。
w1、w2是控制输入信号的重要性的参数,而偏置是调整神经元被激活的容易程度(输出信号为1则表示神经元被激活)。
python代码实现如下:
import numpy as np
# 这里的输入、权重和偏置均是人为设定
x=np.array([0, 1]) # 输入
w=np.array([0.5, 0.5]) # 权重
b=-0.7 # 偏置
print(np.sum(w*x)+ b)
输出为:
-0.19999999999999996
感知机的局限在于它只能表示由一条直线分割的空间(线性空间),即单层感知机无法分离非线性空间。但是多层感知机可以表示非线性空间,也就是说,通过叠加层,感知机能进行更加灵活的表示。
学习要点:
- 感知机是具有多个输入和一个输出的算法,给定一个输入后,将输出一个既定的值
- 感知机将权重和偏置设定为参数
- 使用单层感知机可以表示与门、或门、与非门等逻辑电路
- 使用2层感知机可以表示异或门逻辑电路
- 单层感知机只能表示线性空间,而多层感知机可以表示非线性空间
网友评论