感知机Python实现

博主在掌握感知机知识后,使用Python实现了感知机的原始算法,并通过matplotlib创建了动画展示,增加了理解的趣味性。同时推荐了一位大神的相关博客以及Mac OS上下载ImageMagick的途径。
摘要由CSDN通过智能技术生成

大致学完了感知机之后,我试着用Python还原了一下原始算法,然后用matplotlib实现了一下动画效果,是不是很有意思呢~

# -*- coding: utf-8 -*-
"""
Created on Sat Mar 19 13:49:04 2016

@author: fengxinhe
"""
import copy
from matplotlib import pyplot as pl
from matplotlib import animation as ani

w=[0,0]  #weight vector
b=0      #bias 
yita=0.5   #learning rate
data=[[(1,4),1],[(0.5,2),1],[(2,2.3), 1], [(1, 0.5), -1], [(2, 1), -1],[(4,1),-1],[(3.5,4),1],[(3,2.2),-1]]
#data=[[(3, 3), 1], [(4, 3), 1], [(1, 1), -1]]
record=[]

"""
if y(wx+b)<=0,return false; else, return true
"""
def sign(vec):
    global w,b
    res=0
    res=vec[1]*(w[0]*vec[0][0]+w[1]*vec[0][1]+b)  
    if res>0: return 1
    else: return -1
    
"""
update the paramaters w&b
"""
def update(vec):
    global w,b,record
    w[0]=w[0]&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值