机器学习单层神经网络感知机及其python实现

对于神经网络,由许许多多的神经元构成,而无数的神经元又可以拆分成为许许多多的双层神经元(输入层和输出层)

仅由两层神经元构成的简单神经网络称为感知机,感知机可以轻松实现逻辑与,或,非的运算,

并且需要用到阶跃函数sgn(x)={1,x>=0; 0,x<0}

首先了解一下逻辑与,逻辑或和逻辑非运算:

逻辑与:令w1=w2=1,θ=2,由神经元输出公式可以看出,只有当x1=x2=1时,y=1;

逻辑或:令w1=w2=1,θ=0.5,只要x1或x2其中一个数满足等于1,则x1+x2-θ=0.5>0,根据阶跃函数,可以推出y=1

逻辑非:令w1=-0.6,w2=0,θ=-0.5,y=f(-0.6*x1+0*x2+0.5),当x1=1时,y=0,x1=0时,y=1

感知机对于数据集的训练是数据可分的,即存在一个超平面将他妈分开,那么如何能让数据更加直观呢,可以借助numpy来进行数据可视化的处理

第一步先用numpy模块产生-1,1之间的若干高斯白噪声点

第二步将给定的训练集进行拆分:

 

第三步很重要,绘制直线并对噪声点进行判断:

 

最后再给定指定训练集进行训练即可 

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值