机器学习实验-BP神经网络的实现

实验

  • BP网络
  • 手写字体
  • KNN手写字体
  • 对比

机器学习


BP网络

(1)按照BP网络结构,编程实现一个带有一个隐层的BP网络,实现对鸢尾花数据集的分类。通过BP网络各项参数的不同设置,观察BP算法的学习效果。观察比较BP网络各项参数变化对于训练结果的影响。

手写字体

(2)手写数字识别是一个多分类问题,共有10个分类,每个手写数字图像的 类别标签是0~9中的其中一个数。利用sklearn来训练一个简单的全连接神经网络,即多层感知机(Multilayer perceptron,MLP)用于识别数据集DBRHD的手写数字。

KNN手写字体

(3)采本实例利用sklearn来训练一个K最近邻(k-Nearest Neighbor,KNN)
分类器,用于识别数据集DBRHD的手写数字。邻居数量K影响分析:设置K为1、3、5、7的KNN分类器,对比他们的实验效果

对比

(4)比较KNN的识别效果与多层感知机的识别效果。
Iris数据集简介:
Iris数据集是常用的分类实验数据集,由Fisher, 1936收集整理。Iris也称鸢尾花卉数据集,是一类多重变量分析的数据集。数据集包含150个数据集,分为3类,每类50个数据,每个数据包含4个属性。可通过花萼长度,花萼宽度,花瓣长度,花瓣宽度4个属性预测鸢尾花卉属于(Setosa,Versicolour,Virginica)三个种类中的哪一类。
属性:
Sepal.Length(花萼长度),单位是cm;Sepal.Width(花萼宽度),单位是cm;
Petal.Length(花瓣长度),单位是cm;Petal.Width(花瓣宽度),单位是cm;
种类:
Iris Setosa(山鸢尾)(本例中使用数字‘0’表示)
Iris Versicolour(杂色鸢尾)(本例中使用数字‘1’表示)
Iris Virginica(维吉尼亚鸢尾)(本例中使用数字‘2’表示)
当我们使用BP神经网络来对数据进行分类或者预测的时候,每对有连接的神经元之间都有一个权重,记为w;同时还有偏移量,记为b。每个神经元中还有一个激活函数,记为σ(x),要注意的是这不是一个函数,有多个函数可以作为激活函数:Sigmoid、tanh、Relu等。
在每一次迭代计算中,正向运算(输入层开始),我们会计算出一个值,然后计算出该值与标准值的误差;反向运算(输出层开始),按照减小误差方向,修正各连接权。通过一次次的迭代计算,直到误差减小到给定的极小值,就可以结束迭代,完成训练。

实验报告去某海鲜市场

指北:有偿资源:[email protected]

你可能感兴趣的:(机器学习,神经网络,人工智能,BP,实验报告)