人工智能实验报告

上传人:汽*** 文档编号:558852442 上传时间:2023-09-13 格式:DOCX 页数:24 大小:284.55KB
返回 下载 相关 举报
人工智能实验报告_第1页
第1页 / 共24页
人工智能实验报告_第2页
第2页 / 共24页
人工智能实验报告_第3页
第3页 / 共24页
人工智能实验报告_第4页
第4页 / 共24页
人工智能实验报告_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《人工智能实验报告》由会员分享,可在线阅读,更多相关《人工智能实验报告(24页珍藏版)》请在金锄头文库上搜索。

1、学号:姓名:一人工智能方向实习一实习报告专业:计算机科学与技术班级: 12419013江苏科技大学计算机学院2016年3月实验一数据聚类分析、实验目的编程实现数据聚类的算法。、实验内容k-means聚类算法。三、实验原理方法和手段k-means算法接受参数k ;然后将事先输入的n个数据对象划分为k个聚类以便使得所获得的聚类满足:同一聚类中的对象相似度较高四、实验条件Matlab2014b五、实验步骤(1) 初始化k个聚类中心。(2) 计算数据集各数据到中心的距离,选取到中心距离最短的为该数据所属类别。(3) 计算(2)分类后,k个类别的中心(即求聚类平均距离)(4) 继续执行(2)(3)直到k

2、个聚类中心不再变化(或者数据集所属类别不再变化六、实验代码% mai n.m% k-mea ns algorithm% author matcloud% clear;close all ;load fisheriris ;X = meas(:,3) meas(:,4);figure;plot(X(:,1),X(:,2), ko ,MarkerSize ,4);title( fisheriris dataset , FontSize ,18, Color , red);idx,ctrs = kmea ns(X,3);figure;subplot(1,2,1);plot(X(idx=1,1),X(

3、idx=1,2), ro , MarkerSize ,4); hold on;plot(X(idx=2,1),X(idx=2,2), hold on;plot(X(idx=3,1),X(idx=3,2), hold on;plot(ctrs(:,1),ctrs(:,2).title( official kmea nsgo , MarkerSize ,4);bo , MarkerSize ,4);kx ,MarkerSize ,12);,FontSize ,16, Color , red);idx,ctrs = my_kmea ns(X,3); subplot(1,2,2);plot(X(idx

4、=1,1),X(idx=二1,2),hold on;plot(X(idx二二2,1),X(idx二二2,2), hold on;plot(X(idx二二3,1),X(idx=3,2),hold on;plot(ctrs(:,1),ctrs(:,2), title( custom kmeans ,FontSizero , MarkerSizego ,MarkerSizebo ,MarkerSizekx , MarkerSize ,12);,16, Color , red);,4),4),4)fun ctio n idx,ctrs = my_kmea ns(m,k) row col = size(

5、m);%init k cen troidsp = ran dperm(size(m,1);for i = 1 : kctrs(i,:) = m(p(i),:);endidx = zeros(row,1); %idex is poin ter of group while 1 d = dist2matrix(m,ctrs);z,g = mi n(d,2);if (g = idx) break;elseidx = g;end%update ctroids for i = 1 : kv = fin d(g = i);if vctrs(i,:) = mea n(m(v,:),1);endendende

6、ndfun ctio n idx,ctrs = my_kmea ns(m,k) row col = size(m); %init k cen troidsp = ran dperm(size(m,1);for i = 1 : kctrs(i,:) = m(p(i),:);endidx = zeros(row,1);%idex is poin ter of groupwhile 1d = dist2matrix(m,ctrs);z,g = mi n(d,2);if (g = idx) break;elseidx = g;end%update ctroids for i = 1 : kv = fi

7、n d(g = i);if vctrs(i,:) = mea n(m(v,:),1);endendendend七、实验结果Fig ure 1File Edit View Insert Tools Desktop Window Helpfisheriris dataset图1-1未聚类数据 jn图1-2聚类后八、实验分析算法的时间复杂度上界为 0(n*k*t),其中t是迭代次数。k-means算法是一种基于样本间相似性度量的间接聚类方法,属于非监督学习方法。此算法以k为参数,把n个对象分为k个簇,以使簇内具有较高的相似度,而且簇间的相似度较低。相似度的计算根据一个簇中对象的平均值(被看作簇的重心

8、)来进行。此算法首先随机选择k个对象,每个对象代表一个聚类的质心。对于其余的每一个对象,根据该对象与各聚类质心之间的距离,把它分配到与之最相似的聚类中。然后,计算每个聚类的新质心。重复上述过程,直到准则函数收敛。k-means算法是一种较典型的逐点修改迭代的动态聚类算法,其要点是以误差平方和为准则函数。逐点修改类中心:一个象元样本按某一原则,归属于某一组类后,就要重新计算这个组类的均值,并且以新的均值作为凝聚中心点进行下一次象元素聚类;逐批修改类中心:在全部象元样本按某一组的类中心分类之后,再计算修改各类的均值,作为下一次分类的凝聚中心点。实验二主成分分析一、实验目的编程实现主成分的算法。二、

9、实验内容PCA主成分分析算法。三、实验原理方法和手段PCA的原理就是将原来的样本数据投影到一个新的空间中, 相当于我们在矩 阵分析里面学习的将一组矩阵映射到另外的坐标系下。 通过一个转换坐标,也可 以理解成把一组坐标转换到另外一组坐标系下,但是在新的坐标系下,表示原来 的原本不需要那么多的变量,只需要原来样本的最大的一个线性无关组的特征值对 应的空间的坐标即可。四、实验条件Matlab2014b五、实验步骤 求dataAdjust矩阵(2)求 dataAdjust 的协方差矩阵协方差公式ni (Xi X)(Y Y) cov(X,Y)-n 1协方差矩阵Cn n (Ci j,G j cov(Dim

10、ij, Dimij)求协方差矩阵的特征向量及特征值(4)取特征值最大的的特征向量 eigenVectors六、实验代码降维矩阵 finalData = dataAdjust * eigenVectorsdata = 2.5 2.4;0.50.7;2.22.9;1.92.2;3.13.0;2.32.7;2 1.6;11.1;1.51.6;1.10.9;dim1_mea n = mean( data(:,1);dim2_mea n = mean( data(:,2);dataAdjust = data(:,1)-dim1_mea n,data(:,2)-dim2_mea n;c = cov(dat

11、aAdjust);vectors,values = eig(c); values = values* on es(2,1);max_v,max_idx = max(values,1); eige nV ectors = vectors(:,max_idx); fin alData = dataAdjust * eige nV ectors;七、实验结果图2-1实验结果八、实验分析主成分分析,是考察多个变量间相关性一种多元统计方法,研究如何通过少数几个主成分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地 保留原始变量的信息,且彼此间互不相关通常数学上的处理就是将原

12、来P个指标作线性组合,作为新的综合指标。实验三最近邻分类器实验目的编程实现最近邻分类器算法。实验内容最近邻分类器算法,这里采用k近邻算法。实验原理方法和手段最近邻分类为监督学习方法,已知n个类别,判定给定样本属于哪个类别。四、五、实验条件Matlab2014b实验步骤计算样本到各数据集点的距离D1n2 欧式距离 d(x, y) x y . 1 Xiyi 2 c 绝对值距离d(x, y) | x y| 1 xi yi明氏距离d(x,y)IIxn 1Xi yi马氏距离d(x,y)i为对应的特征值)d(x,y) x余弦距离cos(x, y)i1xiyi必2 n 2对D排序给定k值(即邻居数),从D中

13、选取k个数据,统计k个数据中所属类别的个数Co(4)C中值最大的便是该样本所属类别。六、实验代码close all ;clear;clc;red = randn (100,2)+o nes(100,2);red = red on es(100,1);green = randn (100,2)-o nes(100,2);green = gree n on es(100,1)*2;data = red;gree n;figure;plot(red(:,1),red(:,2),ro,MarkerSize ,4);hold on;plot(green(:,1),green(:,2),go , MarkerSize ,4);blue_sample = randn( 1,2);hold on;plot(blue_sample(:,1),blue_sample(:,2),bo , MarkerSize ,4);%give a k valuek = in put( in put n eighbors cou nt);row,col =

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号