前言
感知机数学模型
提示:以下是本篇文章正文内容,下面案例可供参考
一、感知机算法
二、感知机举例
三、感知机简单实现
代码如下(示例):
import numpy as np
import matplotlib.pyplot as plt
test_data = np.array([[3,3],[4,5],[1,1]])
lb = np.array([1,1,-1])
plt.figure()
def show_point(test_data,lb):
for i in range(len(test_data)):
if lb[i] ==1:
plt.plot(test_data[i][0],test_data[i][1],'ro')
else:
plt.plot(test_data[i][0],test_data[i][1],'bo')
plt.axis([0,6,0,6])
plt.show()
w = np.array([1,0])
b = 0
for j in range(11):
flag=0
for i in range(len(test_data)):
result = np.dot(w,test_data[i])+b
if result >0and lb[i]==-1:
w=w - test_data[i]
b=b-1
flag=1
break;
if result <0and lb[i]==1:
w=w +test_data[i]
b=b+1
flag=1
break;
print(w,b)
show_point(test_data,lb)
x_data=[-6,6]
y_data=[0,0]
if w[1] !=0:
y_data[0]=(-w[0]*x_data[0]-b)/w[1]
y_data[1] = (-w[1] * x_data[1] - b) / w[1]
else :
x_data[0]=-b/w[0]
x_data[1]=-b/w[0]
y_data[0]=0
y_data[1]=6
print(x_data,y_data)
plt.plot(x_data,y_data)
if flag ==0:
break;