python感知机实现代码

yipeiwu_com6年前Python基础

本文实例为大家分享了python感知机实现的具体代码,供大家参考,具体内容如下

一、实现例子

李航《统计学方法》p29 例2.1
正例:x1=(3,3), x2=(4,3),
负例:x3=(1,1)

二、最终效果

三、代码实现

import numpy as np
import matplotlib.pyplot as plt
p_x = np.array([[3, 3], [4, 3], [1, 1]])
y = np.array([1, 1, -1])
plt.figure()
for i in range(len(p_x)):
 if y[i] == 1:
 plt.plot(p_x[i][0], p_x[i][1], 'ro')
 else:
 plt.plot(p_x[i][0], p_x[i][1], 'bo')
 
w = np.array([1, 0])
b = 0
delta = 1
 
for i in range(100):
 choice = -1
 for j in range(len(p_x)):
 if y[j] != np.sign(np.dot(w, p_x[0]) + b):
  choice = j
  break
 if choice == -1:
 break
 w = w + delta * y[choice]*p_x[choice]
 b = b + delta * y[choice]
 
line_x = [0, 10]
line_y = [0, 0]
 
for i in range(len(line_x)):
 line_y[i] = (-w[0] * line_x[i]- b)/w[1]
 
plt.plot(line_x, line_y)
plt.savefig("picture.png")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

dataframe设置两个条件取值的实例

如下所示: >>> import pandas as pd >>> import numpy as np >>> from pa...

python使用matplotlib画柱状图、散点图

python使用matplotlib画柱状图、散点图

本文实例为大家分享了python使用matplotlib画柱状图、散点图的具体代码,供大家参考,具体内容如下 柱状图(plt.bar) 代码与注释 import numpy as n...

详谈python3 numpy-loadtxt的编码问题

如下所示: data_array = np.loadtxt(filename, #文件名 delimiter=',', #分隔符...

Python2.x和3.x下maketrans与translate函数使用上的不同

maketrans和translate函数是进行字符串字符编码的常用方法。本文着重点在于演示其基本用法和在不同版本下操作的差异。本文提到的2.X版本指2.6以上的版本,3.X版本指3.1...

PyTorch 对应点相乘、矩阵相乘实例

一,对应点相乘,x.mul(y) ,即点乘操作,点乘不求和操作,又可以叫作Hadamard product;点乘再求和,即为卷积 data = [[1,2], [3,4], [5,...