• 介绍人工智能的基本概念和逻辑体系
  • 研究两种数据的分类算法
  • 使用Python运用分类方法实现只有一层的神经网络

分类两种类型

感知器,
适用性的线性神经元

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

神经元

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

神经元的数学表示:

image_1bu3fksv81ri1158i10dl1a9n1oqg9.png-27.2kB
x:电信号
w:弱化系数(权重向量),表示神经元分叉部分对信号弱化的向量
x1->w1:从第一个管道传输时伴有的弱化
z:细胞核将全部电信号整合在一起
image_1bu3fq89h1s81bs41ipn1kio1s15m.png-26.4kB
激活函数,又称单元步调函数
当z的值大于等于阈值时发送1,小于某阈值时发送-1
类似一个分类的函数,通常此函数比较复杂

向量的点乘(点积):

image_1bu3fvroo9nm1361kkb1gat1ff213.png-17.3kB
矩阵的转置:
image_1bu3g2hhbu6cd1g1bes1qn2bqu20.png-30.6kB

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

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

简化步调函数
image_1bu3gbnrehl51e9i16apr9hupt2d.png-36.8kB
添加w0和x0从而将判断直接转换为判断z的正负

权重的更新算法,

更新后的权重w:
image_1bu3gjntc1vgd8tpdb332u4ok2q.png-5.7kB

更新的增量:
image_1bu3gljls9p71358qnl6fo5ft37.png-6.2kB

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

权重更新示例:

得到了错误分类:
image_1bu3h073ohvqoou98v124n18o3k.png-10.5kB
进行调整:
image_1bu3h16kk1691kkf101595d8041.png-11.9kB
image_1bu3h1hpu112b19eggu5ai41kut4e.png-8.3kB
image_1bu3h329j19lu1hpkh551ktjghq4r.png-19.4kB
image_1bu3h3v7o1iu4r5f1ha019ejrqs58.png-20.6kB
调整完成:
image_1bu3h4clr1o8l1fmvetu1l161opg5l.png-11.2kB
阈值更新:
image_1bu3h6squh2035n14r844teg462.png-23kB

感知器的适用范围:

预测数据可以线性分割,不是A就是B
image_1bu3hajh61shd1kpugdi84qc1v6f.png-16.8kB
不适用于线性不可分割的数据
image_1bu3hbtn91c66isi15au1tpd1smq6s.png-31.8kB

感知器分类算法的步骤:

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