神经网络作业

本文详细介绍了感知机学习算法的实现过程,通过Python代码演示了如何使用numpy库进行矩阵运算,实现了感知机的学习过程。文章中包含了一个具体的例子,展示了算法在处理线性可分数据集时的迭代过程,直至收敛。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
def sgn(i):
    if i>0 or i == 0:
        out = 1
    else:
        out = -1
    return out
 x = np.asarray([[1,2],[2,1],[3,2],[0,0],[-1,-3],[-2,3]])  
dp = [-1, -1, -1, 1, 1, 1]
w = np.asarray([0.2,0.5])  
o = 0.2
a = 0.5
j = 0
while 1:
    j= j+1
    print("第%d次epoch" % (j))
    stop = 0
    for i in range(6):
        y = sgn((np.dot(x[i],w)-o))

        if y == dp[i]:
            print("样本%d 无需调节" % (i+1))
        else:
            w = w + 0.5*(dp[i] - y)*x[i]
            o  = o + 0.5*(dp[i] - y)*dp[i]
            print("样本%d 需要调节,调节后的w为[%0.1f,%0.1f],调节后的o为%0.1f" % (i+1,w[0],w[1],o))
            stop = stop +1
    if stop == 0:
        break

第1次epoch
样本1 需要调节,调节后的w为[-0.8,-1.5],调节后的o为1.2
样本2 无需调节
样本3 无需调节
样本4 需要调节,调节后的w为[-0.8,-1.5],调节后的o为2.2
样本5 无需调节
样本6 需要调节,调节后的w为[-2.8,1.5],调节后的o为3.2
… … … …
第25090次epoch
样本1 无需调节
样本2 无需调节
样本3 无需调节
样本4 需要调节,调节后的w为[-30798.8,-5131.5],调节后的o为46194.2
样本5 需要调节,调节后的w为[-30799.8,-5134.5],调节后的o为46195.2
样本6 无需调节
第25091次epoch
样本1 无需调节
样本2 无需调节
样本3 无需调节
样本4 需要调节,调节后的w为[-30799.8,-5134.5],调节后的o为46196.2
样本5 无需调节
样本6 需要调节,调节后的w为[-30801.8,-5131.5],调节后的o为46197.2
… … … …

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值