感知机(Perceptron)
组成
感知机(Perceptron)由两层神经元组成
输入层:接收外界的输入信号,传递给输出层,
输出层:输出层时
M-P
神经元(阈值逻辑神经元)
图解:
感知机和与或非运算
前提
输入向量:
x=(x1;x2)=(x1x2)
权值向量:
w=(w1;w2)=(w1w2)
输出结果:
y=f(xTw−θ)=f(∑iwixi−θ)
f=sgn(x)={1,x≥0;0,x<0;
- 与运算: (x1∧x2) :令 w1=w2=1,θ=2 ,则 y=f(1⋅x1+1⋅x2−2) ,则: x1=x2=1 时, y=1 ;
- 或运算: x1∨x2 :令 w1=w2=1,θ=0.5 ,则 y=f(1⋅x1+1⋅x2−0.5) ,则: x1=1 或者 x2=1 时, y=1 ;
- 非运算: ¬x1 :令 w1=−0.6 , w2=0,θ=−0.5 ,则 y=f(−0.6⋅x1+0⋅x2−0.5) ,则: x1=1 , y=0 ; x1=0 , y=1 ;(其实这里 w1 可以取其他值)
权值调整
权重和阈值可以通过学习得到,如果将
θ
作为固定输入为
-1.0
的”哑结点”其对应的权重为
wn+1
,这样权重和阈值的学习可以统一为权重学习。
输入向量:
x^=(x1;⋯;xn;−1)=⎛⎝⎜⎜⎜⎜x1⋮xn−1⎞⎠⎟⎟⎟⎟
权值向量:
w^=(w1;⋯;wn;θ)=⎛⎝⎜⎜⎜⎜w1⋮wnθ⎞⎠⎟⎟⎟⎟
输出结果:
y=f(x^Tw^)
调整方法
wi←wi+Δwi,Δwi=η(y−y^)xi
其中 η 称为学习率
缺点
不能处理异或问题,
异或问题
两层感知机: