前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用Python实现神经网络(待续)

用Python实现神经网络(待续)

作者头像
ZONGLYN
发布2019-08-08 09:59:55
4340
发布2019-08-08 09:59:55
举报
文章被收录于专栏:程序萌部落程序萌部落
  • 介绍人工智能的基本概念和逻辑体系
  • 研究两种数据的分类算法
  • 使用Python运用分类方法实现只有一层的神经网络
分类两种类型
感知器,
适用性的线性神经元

使用Python的开发库:Pandas,Numpy,matplotlib:进行读取加工可视化

神经元

从交叉部分即神经末梢进行输入,在细胞核进行统一运算,然后通过轴突 传递到末尾,通过末尾的分叉传递到其他神经元

神经元的数学表示:
image_1bu3fksv81ri1158i10dl1a9n1oqg9.png-27.2kB
image_1bu3fksv81ri1158i10dl1a9n1oqg9.png-27.2kB

x:电信号 w:弱化系数(权重向量),表示神经元分叉部分对信号弱化的向量 x1->w1:从第一个管道传输时伴有的弱化 z:细胞核将全部电信号整合在一起

image_1bu3fq89h1s81bs41ipn1kio1s15m.png-26.4kB
image_1bu3fq89h1s81bs41ipn1kio1s15m.png-26.4kB

激活函数,又称单元步调函数 当z的值大于等于阈值时发送1,小于某阈值时发送-1 类似一个分类的函数,通常此函数比较复杂

向量的点乘(点积):
image_1bu3fvroo9nm1361kkb1gat1ff213.png-17.3kB
image_1bu3fvroo9nm1361kkb1gat1ff213.png-17.3kB

矩阵的转置:

image_1bu3g2hhbu6cd1g1bes1qn2bqu20.png-30.6kB
image_1bu3g2hhbu6cd1g1bes1qn2bqu20.png-30.6kB

有了权重向量w,和训练样本x

  1. 把权重向量初始化为0,或把每个分量初始化为【0,1】间得任意小数
  2. 把训练样本输入感知器,得到分类结果-1或1
  3. 根据分类结果更新权重向量w(反复输入更新,从而准确预测)

简化步调函数

image_1bu3gbnrehl51e9i16apr9hupt2d.png-36.8kB
image_1bu3gbnrehl51e9i16apr9hupt2d.png-36.8kB

添加w0和x0从而将判断直接转换为判断z的正负

权重的更新算法,

更新后的权重w:

image_1bu3gjntc1vgd8tpdb332u4ok2q.png-5.7kB
image_1bu3gjntc1vgd8tpdb332u4ok2q.png-5.7kB

更新的增量:

image_1bu3gljls9p71358qnl6fo5ft37.png-6.2kB
image_1bu3gljls9p71358qnl6fo5ft37.png-6.2kB

y指的是输入的正确分类,y’感知器输出的分类 即如果分类正确,那么整个增量为零,分类错误才需要调整 系数n:模型的学习率,0~1,人为经验参数,需要使用者根据具体情况不断手动调整

权重更新示例:

得到了错误分类:

image_1bu3h073ohvqoou98v124n18o3k.png-10.5kB
image_1bu3h073ohvqoou98v124n18o3k.png-10.5kB

进行调整:

image_1bu3h16kk1691kkf101595d8041.png-11.9kB
image_1bu3h16kk1691kkf101595d8041.png-11.9kB
image_1bu3h1hpu112b19eggu5ai41kut4e.png-8.3kB
image_1bu3h1hpu112b19eggu5ai41kut4e.png-8.3kB
image_1bu3h329j19lu1hpkh551ktjghq4r.png-19.4kB
image_1bu3h329j19lu1hpkh551ktjghq4r.png-19.4kB
image_1bu3h3v7o1iu4r5f1ha019ejrqs58.png-20.6kB
image_1bu3h3v7o1iu4r5f1ha019ejrqs58.png-20.6kB

调整完成:

image_1bu3h4clr1o8l1fmvetu1l161opg5l.png-11.2kB
image_1bu3h4clr1o8l1fmvetu1l161opg5l.png-11.2kB

阈值更新:

image_1bu3h6squh2035n14r844teg462.png-23kB
image_1bu3h6squh2035n14r844teg462.png-23kB
感知器的适用范围:

预测数据可以线性分割,不是A就是B

image_1bu3hajh61shd1kpugdi84qc1v6f.png-16.8kB
image_1bu3hajh61shd1kpugdi84qc1v6f.png-16.8kB

不适用于线性不可分割的数据

image_1bu3hbtn91c66isi15au1tpd1smq6s.png-31.8kB
image_1bu3hbtn91c66isi15au1tpd1smq6s.png-31.8kB
感知器分类算法的步骤:
image_1bu3hig1pmqr12m91tvd1gji1v9h79.png-52.5kB
image_1bu3hig1pmqr12m91tvd1gji1v9h79.png-52.5kB

初始化训练样本x 初始化权重向量w 做点积 在步调函数/激活函数中进行判断 判断正确则输出,错误则更新权重w 做点积 在步调函数/激活函数中进行判断 判断正确则输出,错误则更新权重w … … … … … …

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 分类两种类型
  • 神经元
  • 神经元的数学表示:
  • 向量的点乘(点积):
  • 权重的更新算法,
  • 权重更新示例:
  • 感知器的适用范围:
  • 感知器分类算法的步骤:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档