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")

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • python实现感知器

    上篇博客转载了关于感知器的用法,遂这篇做个大概总结,并实现一个简单的感知器,也为了加深自己的理解. 感知器是最简单的神经网络,只有一层.感知器是模拟生物神经元行为的机器.感知器的模型如下: 给定一个n维的输入 ,其中w和b是参数,w为权重,每一个输入对应一个权值,b为偏置项,需要从数据中训练得到. 激活函数 感知器的激活函数可以有很多选择,比如我们可以选择下面这个阶跃函数f来作为激活函数: 输出为: 事实上感知器可以拟合任何线性函数,任何线性分类或线性回归的问题都可以用感知器来解决.但是感知器不

  • python树莓派红外反射传感器

    本文实例为大家分享了python树莓派红外反射传感器的程序,供大家参考,具体内容如下 1.工具 rpi3,微雪ARPI600,Infrared Reflective Sensor 2.基本原理 Infrared Reflective Sensor 输出数字和模拟信号 模拟信号通过ARPI600上的AD转换芯片TLC1543进行转换 TLC1543通信使用rpi的GPIO口,模拟SPI,进行模拟信号输入端口选择,和输出读取 程序通过读取DOUT判断与障碍物接近和远离 在接近障碍物时读取AD转换数值

  • python实现多层感知器

    写了个多层感知器,用bp梯度下降更新,拟合正弦曲线,效果凑合. # -*- coding: utf-8 -*- import numpy as np import matplotlib.pyplot as plt def sigmod(z): return 1.0 / (1.0 + np.exp(-z)) class mlp(object): def __init__(self, lr=0.1, lda=0.0, te=1e-5, epoch=100, size=None): self.lear

  • 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

  • Python定时器实例代码

    在实际应用中,我们经常需要使用定时器去触发一些事件.Python中通过线程实现定时器timer,其使用非常简单.看示例: import threading def fun_timer(): print('Hello Timer!') timer = threading.Timer(1, fun_timer) timer.start() 输出结果: Hello Timer! Process finished with exit code 0 注意,只输出了一次,程序就结束了,显然不是我们想要的结果

  • python对html代码进行escape编码的方法

    本文实例讲述了python对html代码进行escape编码的方法.分享给大家供大家参考.具体分析如下: python包含一个cgi模块,该模块有一个escape函数可以用来对html代码进行编码转换 import cgi s1 = "Hello <strong>world</strong>" s2 = cgi.escape(s1) assert s2 == "Hello <strong>world</strong>"

  • Python在线运行代码助手

    Python代码运行助手可以让你在线输入Python代码,然后通过本机运行的一个Python脚本来执行代码.原理如下: 在网页输入代码: 点击Run按钮,代码被发送到本机正在运行的Python代码运行助手: Python代码运行助手将代码保存为临时文件,然后调用Python解释器执行代码: 网页显示代码执行结果: 下载 点击右键,目标另存为:learning.py 备用下载地址:learning.py 完整代码: #!/usr/bin/env python3 # -*- coding: utf-

  • python 随机数生成的代码的详细分析

    以下的文章主要是以介绍python随机数生成的代码来介绍Python随机数生成在实际操作过程中的具体应用,如果你对其的相关内容感兴趣的话,你就可以点击以下的文章.希望你会对它有所收获. Python中的random模块用于生成随机数.下面介绍一下random模块中最常用的几个函数. 复制代码 代码如下: random.randomrandom.random() 用于生成一个0到1的随机符点数: 复制代码 代码如下: 0 <= n < 1.0random.uniformrandom.unifor

  • Python实现统计代码行的方法分析

    本文实例讲述了Python实现统计代码行的方法.分享给大家供大家参考,具体如下: 参加光荣之路测试开发班已三月有余,吴总上课也总问" 咱们的课上了这么多次了大家实践了多少行代码了?".这里是一个一脸懵逼的表情.该怎么统计呢?一个个文件数当然不可取,能用代码解决的事咱们坚决不动手.最近在网上刷题时也正好遇到有这么一道题,所以决定撸一撸. 题目:有个目录,里面是你自己写过的程序,统计一下你写过多少行代码.包括空行和注释,但是要分别列出来. 首先分析一下思路捋一下大象装冰箱的步骤,从一个给定

  • python实现统计代码行数的方法

    本文实例讲述了python实现统计代码行数的方法.分享给大家供大家参考.具体实现方法如下: ''' Author: liupengfei Function: count lines of code in a folder iteratively Shell-format: cmd [dir] Attention: default file encode is utf8 and default file type is java-source-file. But users can customi

  • Python实现去除代码前行号的方法

    本文实例讲述了Python实现去除代码前行号的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: # -*- coding: utf-8 -*- import wx class MainWindow(wx.Frame):     def __init__(self, parent, id):         wx.Frame.__init__(self, parent, id,         u'去除代码前行号的Python小工具 - wxPython版 - Develop

  • Python科学画图代码分享

    Python画图主要用到matplotlib这个库.Matplotlib 是一个 Python 的 2D绘图库,它以各种硬拷贝格式和跨平台的交互式环境生成出版质量级别的图形. 这里有一本电子书供大家参考:<Python图表绘制:matplotlib绘图库入门> 具体来说是pylab和pyplot这两个子库.这两个库可以满足基本的画图需求,而条形图,散点图等特殊图,下面再单独具体介绍. 首先给出pylab神器镇文:pylab.rcParams.update(params).这个函数几乎可以调节图

  • Python实现调度算法代码详解

    调度算法 操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源.这就是调度.目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源. 在操作系统中调度是指一种资源分配,因而调度算法是指:根据系统的资源分配策略所规定的资源分配算法.对于不同的的系统和系统目标,通常采用不同的调度算法,例如,在批处理系统中,为了照顾为数众多的段作业,应采用短作业优先的调度算法:又如在分时系统中,为了保证系统具有合理

随机推荐