感知器算法
2021/9/9 20:37:03
本文主要是介绍感知器算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
import numpy as np import random w0=0.2 w1=0.2 w2=0.2 n=0.01 e=float(2.72) #E=float(10*e^(-4)) E=float(0.18) e0=10 e1=10 e2=10 x=np.array([[0,0,0], [0,1,0], [1,0,0], [1,1,1]]) # t=np.array([[0], # [0], # [0], # [1]]) for a in range(0,100): if e0<=E and e1<=E and e2<=E: w0=w0-n*e0 w1=w1-n*e1 w2=w2-n*e2 else: j=random.randint(0,3) i=j z=w1*x[i,0]+w2*x[i,1]+w0 s=1/(1+e**(-z)) e0=2*(s-x[i,2])*(s**2)*(e**z) e1=2*(s-x[i,2])*(s**2)*(e**z)*x[i,0] e2=2*(s-x[i,2])*(s**2)*(e**z)*x[i,1] print(w0,w1,w2) #以下代码为尝试画图,但没有成功实现 # import matplotlib.pyplot as plt # from mpl_toolkits.mplot3d import Axes3D #绘制3D坐标的函数 # fig1=plt.figure()#创建一个绘图对象 # ax=Axes3D(fig1)#用这个绘图对象创建一个Axes对象(有3D坐标) # X1=random.randint(0,2) # X2=random.randint(0,2) # #X1,X2,T=np.random.randint(0,2,(100,2)) # if X1==X2: # T=X1 # else: # T=0 # X1,X2=np.meshgrid(X1,X2) # h=(w0+w1*a[0]+w2*a[1]-T)**2 # plt.title("tu xiang") #图像标题 # ax.plot_surface(X1, X2, h , rstride=1, cstride=1, cmap=plt.cm.coolwarm, alpha=0.5) #用取样点(x,y,z)去构建曲面 # ax.set_xlabel('X1', color='r') # ax.set_ylabel('X2', color='g') # ax.set_zlabel('h', color='b') # plt.show()#显示模块中的所有绘图对象
运行结果:
0.7331438354808711 0.7331438354808711 0.7331438354808711
这篇关于感知器算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-24怎么修改Kafka的JVM参数?-icode9专业技术文章分享
- 2024-12-23线下车企门店如何实现线上线下融合?
- 2024-12-23鸿蒙Next ArkTS编程规范总结
- 2024-12-23物流团队冬至高效运转,哪款办公软件可助力风险评估?
- 2024-12-23优化库存,提升效率:医药企业如何借助看板软件实现仓库智能化
- 2024-12-23项目管理零负担!轻量化看板工具如何助力团队协作
- 2024-12-23电商活动复盘,为何是团队成长的核心环节?
- 2024-12-23鸿蒙Next ArkTS高性能编程实战
- 2024-12-23数据驱动:电商复盘从基础到进阶!
- 2024-12-23从数据到客户:跨境电商如何通过销售跟踪工具提升营销精准度?