人工智能实验报告

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

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

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

2、行(2)(3)直到k个聚类中心不再变化(或者数据集所属类别不再变化)六、实验代码% % main.m% k-means 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 = kmeans(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),go,MarkerSize,4); hold on;plot(X(idx=3,1),X(idx=3,2),bo,MarkerSize,4); hold on;plot(ctrs(:,1),ctrs(:,2),kx,MarkerSize,12); title(official kmeans,FontSize,16,Color,red);idx,ctrs = my_kmeans(X,3); subplot(1,2,2);plot(X(idx=1,1),X(idx=1,2),r

4、o,MarkerSize,4); hold on;plot(X(idx=2,1),X(idx=2,2),go,MarkerSize,4); hold on;plot(X(idx=3,1),X(idx=3,2),bo,MarkerSize,4); hold on;plot(ctrs(:,1),ctrs(:,2),kx,MarkerSize,12); title(custom kmeans,FontSize,16,Color,red);function idx,ctrs = my_kmeans(m,k) row col = size(m);%init k centroids p = randper

5、m(size(m,1);for i = 1 : kctrs(i,:) = m(p(i),:); endidx = zeros(row,1);%idex is pointer of group while 1d = dist2matrix(m,ctrs);z,g = min(d,2); if(g = idx) break;elseidx = g;end %update ctroids for i = 1 : kv = find(g = i); if vctrs(i,:) = mean(m(v,:),1); end endendendfunction idx,ctrs = my_kmeans(m,

6、k) row col = size(m);%init k centroidsp = randperm(size(m,1);for i = 1 : k ctrs(i,:) = m(p(i),:);endidx = zeros(row,1);%idex is pointer of group while 1d = dist2matrix(m,ctrs); z,g = min(d,2);if(g = idx) break;elseidx = g;end%update ctroidsfor i = 1 : kv = find(g = i);if vctrs(i,:) = mean(m(v,:),1);

7、 end end end end七、实验结果1111 0用0oo1J 0 u 00O LICoOOOuuuooo 口口 口oo 一口口J0o口口口O口匚1QCi 0Ci廿口口口口口口ino -n口口口 口 O j 口口u u u Ci0匚1o o0 O -:DD-cU IJIJLIuU O C C:I LiULiijiJLiu口口 c111i123456j图 1-1 未聚类数据图 1-2 聚类后八、实验分析算法的时间复杂度上界为O(n*k*t),其中t是迭代次数。k-means算法是一种基于样本间相似性度量的间接聚类方法,属于非监督学习方法。此算法以k为参数,把n个 对象分为k个簇,以使簇内具

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

9、后,再计 算修改各类的均值,作为下一次分类的凝聚中心点。实验二 主成分分析、实验目的编程实现主成分的算法。二、实验内容PCA 主成分分析算法。三、实验原理方法和手段PCA 的原理就是将原来的样本数据投影到一个新的空间中,相当于我们在矩 阵分析里面学习的将一组矩阵映射到另外的坐标系下。通过一个转换坐标,也可 以理解成把一组坐标转换到另外一组坐标系下,但是在新的坐标系下,表示原来 的原本不需要那么多的变量,只需要原来样本的最大的一个线性无关组的特征值 对应的空间的坐标即可。四、实验条件Matlab2014b五、实验步骤(1) 求 dataAdjust 矩阵(2) 求 dataAdjust 的协方差

10、矩阵协方差公式2 n (X - X )(Y - Y)cov( X, Y) =i ln-1协方差矩阵C = (c , c = cov(Dim , Dim )nxni, j i, jij(3) 求协方差矩阵的特征向量及特征值(4) 取特征值最大的的特征向量 eigenVectors(5) 降维矩阵 finalData = dataAdjust * eigenVectors六、实验代码data = 2.5 2.4;0.5 0.7;2.2 2.9;1.9 2.2;3.1 3.0;2.3 2.7;2 1.6;1 1.1;1.51.6;1.1 0.9;dim1_mean = mean(data(:,1);

11、dim2_mean = mean(data(:,2);dataAdjust = data(:,1)-dim1_mean,data(:,2)-dim2_mean;c = cov(dataAdjust); vectors,values = eig(c); values = values*ones(2,1);max_v,max_idx = max(values,1); eigenVectors = vectors(:,max_idx); finalData = dataAdjust * eigenVectors;七、实验结果图 2-1 实验结果八、实验分析主成分分析,是考察多个变量间相关性一种多元统

12、计方法,研究如何通过少数几个主成 分来揭示多个变量间的内部结构,即从原始变量中导出少数几个主成分,使它们尽可能多地保留原始变量的信息,且彼此间互不相关通常数学上的处理就是将原来P个指标作线性组合,作为新的综合指标。实验三 最近邻分类器一、实验目的编程实现最近邻分类器算法。二、实验内容最近邻分类器算法,这里采用k近邻算法。三、实验原理方法和手段最近邻分类为监督学习方法,已知n个类别,判定给定样本属于哪个类别。四、实验条件Matlab2014b五、实验步骤(1) 计算样本到各数据集点的距离 D 欧式距离 d(x, y)二 |x - y| =1 n (x - y1 ci=1 i i 绝对值距离d(x

13、, y) = |x - y =工n |x - y |i=1 z z 明氏距离 d (x, y) = |x - y| = 1 n x - yp !i=1 I1马氏距离d(x, y) = |x- y| =-n 罕(九,为对应的特征值)余弦距离d (x, y) = |x - y| = -cos(x, y)=1n x yi=1 i Lx 21n y 2 ii=1i green = randn(100,2)-ones(100,2);(2)对 D 排序(3)给定k值(即邻居数),从D中选取k个数据,统计k个数据中所属类别的个数C。(4) C 中值最大的便是该样本所属类别六、实验代码close all;clear;clc;red = randn(100,2)+ones(100,2);red = red ones(100,1);green = green ones(100,1)*2;data = red;green;

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

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

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