模式识别单层感知器二分类算法的一个例子

用感知器算法求模式分类的解向量w

import  numpy as np
X=[[0,0,0,1],[1,0,0,1],[1,0,1,1],[1,1,0,1],[0,0,-1,-1],[0,-1,-1,-1],[0,-1,0,-1],[-1,-1,-1,-1]]
x=np.array(X)
x
array([[ 0,  0,  0,  1],
       [ 1,  0,  0,  1],
       [ 1,  0,  1,  1],
       [ 1,  1,  0,  1],
       [ 0,  0, -1, -1],
       [ 0, -1, -1, -1],
       [ 0, -1,  0, -1],
       [-1, -1, -1, -1]])
c=1
k=0
w=np.array([0,0,0,0])
flag=1
while flag:
    for i in x:
        if w@i.T <= 0:
            w=w+i
            k=0
        else:
            k=k+1
            if k==8:
                flag=0
                break
print(w)
            
          


[ 2 -2 -2  1]
print('dx= '+str(w[0])+'x1+ '+str(w[1])+'x2+ '+str(w[2])+'x3+ '+str(w[3]))
dx= 2x1+ -2x2+ -2x3+ 1

发布了15 篇原创文章 · 获赞 6 · 访问量 3279

猜你喜欢

转载自blog.csdn.net/supreme_1/article/details/101933697