自己设计一个感知机实现二分类算法

更新时间:2023-06-23 08:01:00 阅读: 评论:0

⾃⼰设计⼀个感知机实现⼆分类算法
实现⼀个简单的神经⽹络,做⼀个简单的⼆分类算法。为了理解神经⽹络,我们应该先理解神经⽹络的组成单元——神经元。神经元也叫做感知器。感知器算法在上个世纪50-70年代很流⾏,也成功解决了很多问题。并且,感知器算法也是⾮常简单的。在⼈⼯神经⽹络领域中,感知器也被指为单层的⼈⼯神经⽹络,以区别于较复杂的多层感知器(Multilayer Perceptron)。 作为⼀种线性分类器,(单层)感知器可说是最简单的前向⼈⼯神经⽹络形式。尽管结构简单,感知器能够学习并解决相当复杂的问题。感知器主要的本质缺陷是它不能处理线性不可分问题。
感知器有如下组成部分:
输⼊权值 激活函数 输出
以下程序切实实现权值更新,根据误差结果更新迭代,并且观察每次迭代后误差变化,⽹络趋于收敛。并且对测试集结果进⾏⼆分类,并且⽤可视化图⽚展⽰。
其中,在处理过程中,对python类概念、以及多个第三⽅库有⼀定了解,⽐如numpy、matplotlib等。
1.创建⼀个类作为分类器,可处理更新权重信息、记录误差信息
class AdalineG(object):
"""
eta:float
学习效率,处于0和1之间
n_iter:int    对训练数据进⾏学习改进次数
w_:⼀维向量
存储权重数值
operator是什么意思error_:    存储每次迭代改进时,⽹络对数据进⾏错误判断的次数
"""
def__init__(lf,eta=0.01,n_iter=50):
元旦主持词
6.打印模型对数据判断的错误次数(逐渐迭代⽹络收敛过程) 在之前训练过程中,错误结果已保存
结果如图所⽰:
整个过程,⾃⼰⼿敲⼀遍,即深刻了印象,也了解了基本原理,⼀步⼀步往前⾛啦。plt.plot(range (1, st_)+1), st_, marker='o')plt.xlabel('Epochs (迭代次数)')
凡夫俗子是什么意思plt.ylabel('sum-squard-error')
plt.show()

本文发布于:2023-06-23 08:01:00,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/78/1019627.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   感知器   结果   分类
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图