栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python感知机代码实现

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

python感知机代码实现

《统计学习方法》感知机代码实现

# 感知机实现
import numpy as np
#数据
x = np.array([[3,3],[4,3],[1,1]])
label = np.array([1,1,-1])

yita = 1#步长
w = np.array([0, 0])#初始化w
b = 0#初始化b

#第一步,求出初始值时的各个点的预测值,便于观察是否误判
def y_predict(w):
    y_pre = (np.dot(x,w.T)+b)*label.T
    return y_pre
# print(y_pre)

k = 0
#开始进行感知机算法
while True:
    k = k+1
    print("第%d次" % k)
    y_pre = y_predict(w)

       #针对第一次的预测值,遍历是否误判
    for i in range(len(y_pre)):
        if y_pre[i] <= 0:#误判条件
            w = w +  yita * label[i]*x[i]#更新参数
            b = b + yita*label[i]
            print(w,b)
            break#跳出for循环
    if np.min(y_pre) > 0:#如果预测值列表的最小值都大于0,肯定全部大于0,这时所有点都是判断正确
        print(w)
        print(b)
        break#跳出while循环




转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/315770.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号