人工智能实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

人工智能课程项目报告

姓名:

班级:二班

一、实验背景

在新的时代背景下,人工智能这一重要的计算机学科分支,焕发出了他强大的生命力。不仅仅为了完成课程设计,作为计算机专业的学生,

了解他,学习他我认为都是很有必要的。

二、实验目的

识别手写字体0~9

三、实验原理

用K-最近邻算法对数据进行分类。逻辑回归算法(仅分类0和1)四、实验内容

使用knn算法:

1.创建一个1024列矩阵载入训练集每一行存一个训练集

2. 把测试集中的一个文件转化为一个1024列的矩阵。

3.使用knnClassify()进行测试

4.依据k的值,得出结果

使用逻辑回归:

1.创建一个1024列矩阵载入训练集每一行存一个训练集

2. 把测试集中的一个文件转化为一个1024列的矩阵。

3.

使用上式求参数。步长0.07,迭代10次

4.使用参数以及逻辑回归函数对测试数据处理,根据结果判断测试数

据类型。

五、实验结果与分析

5.1 实验环境与工具

Window7旗舰版+ python2.7.10 + numpy(库)+ notepad++(编辑)

Python这一语言的发展是非常迅速的,既然他支持在window下运行就不必去搞虚拟机。

5.2 实验数据集与参数设置

Knn算法:

训练数据1934个,测试数据有946个。

数据包括数字0-9的手写体。每个数字大约有200个样本。

每个样本保持在一个txt文件中。手写体图像本身的大小是32x32的二值图,转换到txt文件保存后,内容也是32x32个数字,0或者1,如下图所

建立一个kNN.py脚本文件,文件里面包含三个函数,一个用来生成将每个样本的txt文件转换为对应的一个向量:img2vector(filename):,一个用

来加载整个数据库loadDataSet():,最后就是实现测试。

5.3 评估标准

看测试数与测试结果是否相同。相同输出结果正确,否则输出结果错误。

5.4 实验结果与分析

实验分析:

KNN算法可以说是使用蛮力进行分类,每进行一个测试样本的判断,都要对所以的训练集操作一次,时间复杂度和空间复杂度都会随着训练集和测试集的数量而增加。而逻辑回归只对测试集操作一次。

可以说计算代价knn是乘法:测试集数*训练集数。而逻辑回归是加法测试集+训练集数。

实验结果:

Knn算法:

我们可以输入k的值进行测试。

当k=6时结果如下图:

当k=3时结果如下图:

逻辑回归:测试结果正确率为100%。

KNN算法部分代码

逻辑回归算法部分代码

相关文档
最新文档