import numpy as np
import matplotlib.pyplot as plt
x = np.array([[0,0], [0,1], [1,0], [1,1]])
t = np.array([[0],[0],[0],[1]])
alpha = 0.1
omega1 = np.random.random()
omega2 = np.random.random()
omega=np.array([omega1 ,omega2])
e=float(2.72)
eps = 10e-4
for i in range(0,4):
z = x[i,0]*omega1+x[i,1]*omega2
e1 = (-x[i,0]*e**(-z)/(1+e**(-z)))*(2*1/(1+e**(-z))-t[i])
e2 = (-x[i,1]*e**(-z)/(1+e**(-z)))*(2*1/(1+e**(-z))-t[i])
while e1 >=eps or e2>=eps:
i=0
omega1 = omega1 - alpha * e1
omega2 = omega2 - alpha * e2
i+=1
print(omega1,omega2)
感知器算法
最新推荐文章于 2024-03-03 10:13:22 发布