对于单层感知机,设x1=0、x2=1,ω1(0)=0.0、ω2(0)=0.2,θ=0.5,k=0.8,α=0.2。期望输出值d=1,激活函数为阶跃函数。试写出该网络输出达到期望值d的学习步骤及其权值和阈值
时间: 2024-04-01 18:32:44 浏览: 67
对于单层感知机,输出为:
y = f(ω1*x1 + ω2*x2 - θ)
其中,f为阶跃函数,设定阈值为0,则:
f(x) = 1, x >= 0
f(x) = 0, x < 0
根据感知机的学习规则,权值和阈值的修正方式为:
ωi(t+1) = ωi(t) + α*(d-y)*xi(t)
θ(t+1) = θ(t) - α*(d-y)
按照题目给出的参数,进行学习步骤如下:
第一步:
输入x1=0、x2=1,ω1(0)=0.0、ω2(0)=0.2,θ=0.5,k=0.8,α=0.2。
计算输出:
y = f(ω1*x1 + ω2*x2 - θ) = f(-0.5) = 0
因为输出与期望不符,需要修正权值和阈值,按照学习规则:
ω1(1) = ω1(0) + α*(d-y)*x1 = 0 + 0.2*1*1 = 0.2
ω2(1) = ω2(0) + α*(d-y)*x2 = 0.2 + 0.2*1*0 = 0.2
θ(1) = θ(0) - α*(d-y) = 0.5 - 0.2*1 = 0.3
第二步:
输入x1=0、x2=1,ω1(1)=0.2、ω2(1)=0.2,θ=0.3,k=0.8,α=0.2。
计算输出:
y = f(ω1*x1 + ω2*x2 - θ) = f(-0.1) = 0
因为输出与期望不符,需要修正权值和阈值,按照学习规则:
ω1(2) = ω1(1) + α*(d-y)*x1 = 0.2 + 0.2*1*1 = 0.4
ω2(2) = ω2(1) + α*(d-y)*x2 = 0.2 + 0.2*1*0 = 0.2
θ(2) = θ(1) - α*(d-y) = 0.3 - 0.2*1 = 0.1
第三步:
输入x1=0、x2=1,ω1(2)=0.4、ω2(2)=0.2,θ=0.1,k=0.8,α=0.2。
计算输出:
y = f(ω1*x1 + ω2*x2 - θ) = f(0.3) = 1
输出与期望相符,学习结束。
最终权值和阈值为:
ω1 = 0.4
ω2 = 0.2
θ = 0.1
阅读全文