人工智能試驗報告_第1頁
人工智能試驗報告_第2頁
人工智能試驗報告_第3頁
人工智能試驗報告_第4頁
人工智能試驗報告_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、人工智能方向?qū)嵙曇粚嵙晥蟾鎸I(yè):計算機科學與技術(shù)班級:12419013學號:姓名:江蘇科技大學計算機學院2016年3月實驗一數(shù)據(jù)聚類分析一、實驗目的編程實現(xiàn)數(shù)據(jù)聚類的算法。二、實驗內(nèi)容k-means聚類算法。三、實驗原理方法和手段k-means算法接受參數(shù)k;然后將事先輸入的n個數(shù)據(jù)對象劃分為k個聚類以便使得所獲得的聚類滿足:同一聚類中的對象相似度較高四、實驗條件Matlab2014b五、實驗步驟(1)初始化k個聚類中心。(2)計算數(shù)據(jù)集各數(shù)據(jù)到中心的距離,選取到中心距離最短的為該數(shù)據(jù)所屬類別。(3)計算(2)分類后,k個類別的中心(即求聚類平均距離)(4)繼續(xù)執(zhí)行(2)(3)直到k個聚類中心

2、不再變化(或者數(shù)據(jù)集所屬類別不再變化)六、實驗代碼%main.m%k-meansalgorithm%authormatcloud%clear;closeall;loadfisheriris;X=meas(:,3)meas(:,4);figure;plot(X(:,1),X(:,2),'ko','MarkerSize',4);title('fisheririsdataset''FontSize;18,'Color','red');idx,ctrs=kmeans(X,3);figure;subplot(1,2,

3、1);plot(X(idx=1,1),X(idx=1,2),'ro','MarkerSize',4);holdon;plot(X(idx=2,1),X(idx=2,2),'go','MarkerSize',4);holdon;plot(X(idx=3,1),X(idx=3,2),'bo','MarkerSize',4);holdon;plot(ctrs(:,1),ctrs(:,2),'kx','MarkerSize',12);title('officialkm

4、eans','FontSize;16,'Color','red');idx,ctrs=my_kmeans(X,3);subplot(1,2,2);plot(X(idx=1,1),X(idx=1,2),'ro','MarkerSize',4);holdon;plot(X(idx=2,1),X(idx=2,2),'go','MarkerSize',4);holdon;plot(X(idx=3,1),X(idx=3,2),'bo','MarkerSize',

5、4);holdon;plot(ctrs(:,1),ctrs(:,2),'kx','MarkerSize',12);title('customkmeans)''FontSize'16,'Color','red');functionidx,ctrs=my_kmeans(m,k)rowcol=size(m);%initkcentroidsp=randperm(size(m,1);fori=1:kctrs(i,:)=m(p(i),:);endidx=zeros(row,1);%idexispointerof

6、groupwhile1d=dist2matrix(m,ctrs);z,g=min(d,2);if(g=idx)break;elseidx=g;end%updatectroidsfori=1:kv=find(g=i);ifvctrs(i,:)=mean(m(v,:),1);endendendendfunctionidx,ctrs=my_kmeans(m,k)rowcol=size(m);%initkcentroidsp=randperm(size(m,1);fori=1:kctrs(i,:)=m(p(i),:);endidx=zeros(row,1);%idexispointerofgroupw

7、hile1d=dist2matrix(m,ctrs);z,g=min(d,2);if(g=idx)break;elseidx=g;end%updatectroidsfori=1:kv=find(g=i);ifvctrs(i,:)=mean(m(v,:),1);endendendend七、實驗結(jié)果Figure1FileEditViewInsertToolsDeslctopWindowHelp瘍騏/IS|o0fisheririsdataset00000OOOOO01.5ooeoOOOOOQeCd©oooooc©300003QOQO口口QQ口口O圖1-1未聚類數(shù)據(jù)二十T1圖1-2

8、聚類后>ta,靠*»*一Jh口,立paftHelaikmtars八、實驗分析算法的時間復雜度上界為O(n*k*t),其中t是迭代次數(shù)。k-means算法是一種基于樣本間相似性度量的間接聚類方法,屬于非監(jiān)督學習方法。此算法以k為參數(shù),把n個對象分為k個簇,以使簇內(nèi)具有較高的相似度,而且簇間的相似度較低。相似度的計算根據(jù)一個簇中對象的平均值(被看作簇的重心)來進行。此算法首先隨機選擇k個對象,每個對象代表一個聚類的質(zhì)心。對于其余的每一個對象,根據(jù)該對象與各聚類質(zhì)心之間的距離,把它分配到與之最相似的聚類中。然后,計算每個聚類的新質(zhì)心。重復上述過程,直到準則函數(shù)收斂。k-means算法

9、是一種較典型的逐點修改迭代的動態(tài)聚類算法,其要點是以誤差平方和為準則函數(shù)。逐點修改類中心:一個象元樣本按某一原則,歸屬于某一組類后,就要重新計算這個組類的均值,并且以新的均值作為凝聚中心點進行下一次象元素聚類;逐批修改類中心:在全部象元樣本按某一組的類中心分類之后,再計算修改各類的均值,作為下一次分類的凝聚中心點。實驗二主成分分析一、實驗目的編程實現(xiàn)主成分的算法。二、實驗內(nèi)容PC成分分析算法。三、實驗原理方法和手段PCA的原理就是將原來的樣本數(shù)據(jù)投影到一個新的空間中,相當于我們在矩陣分析里面學習的將一組矩陣映射到另外的坐標系下。通過一個轉(zhuǎn)換坐標,也可以理解成把一組坐標轉(zhuǎn)換到另外一組坐標系下,但

10、是在新的坐標系下,表示原來的原本不需要那么多的變量,只需要原來樣本的最大的一個線性無關(guān)組的特征值對應的空間的坐標即可。四、實驗條件Matlab2014b五、實驗步驟矩陣的協(xié)方差矩陣I(Xi-X)(Y-Y)(1)求dataAdjust(2)求dataAdjust協(xié)方差公式Zcov(X,Y)一,n-1協(xié)方差矩陣Cnn=(c,j,c,j=cov(Dimi,Dimj)(3)求協(xié)方差矩陣的特征向量及特征值(4)取特征值最大的的特征向量eigenVectors(5)降維矩陣finalData=dataAdjust*eigenvectors六、實驗代碼data=2.52.4;0.50.7;2.22.9;1.

11、92.2;3.13.0;2.32.7;21.6;11.1;1,51.6;1.10.9;dim1_mean=mean(data(:,1);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*eigenvector

12、s;七、實驗結(jié)果圖2-1實驗結(jié)果八、實驗分析主成分分析,是考察多個變量間相關(guān)性一種多元統(tǒng)計方法,研究如何通過少數(shù)幾個主成分來揭示多個變量間的內(nèi)部結(jié)構(gòu),即從原始變量中導出少數(shù)幾個主成分,使它們盡可能多地保留原始變量的信息,且彼此間互不相關(guān).通常數(shù)學上的處理就是將原來P個指標作線性組合,作為新的綜合指標。實驗三最近鄰分類器一、實驗目的編程實現(xiàn)最近鄰分類器算法。二、實驗內(nèi)容最近鄰分類器算法,這里采用k近鄰算法。三、實驗原理方法和手段最近鄰分類為監(jiān)督學習方法,已知n個類別,判定給定樣本屬于哪個類別。四、實驗條件Matlab2014b五、實驗步驟計算樣本到各數(shù)據(jù)集點的距離D歐式距離d(x,y)=|x-y

13、|=k;/為-yi/c絕對值距離d(x,y)=|x-y|=£:工Xi-yi1明氏距離d(x,y)=|xy|=七二Xyp馬氏距離d(x,y)=x-y一nxiyi-乙yk(兒i為對應的特征值),'i余弦距離d(x,y)=x-y-cos(x,y)二一n-Xi-22nnyi1ii1i(2)對D排序給定k值(即鄰居數(shù)),從D中選取k個數(shù)據(jù),統(tǒng)計k個數(shù)據(jù)中所屬類別的個數(shù)C中值最大的便是該樣本所屬類別。六、實驗代碼closeall;clear;clc;red=randn(100,2)+ones(100,2);red=redones(100,1);green=randn(100,2)-one

14、s(100,2);green=greenones(100,1)*2;data=red;green;figure;plot(red(:,1),red(:,2),holdon;plot(green(:,1),green(:,2),ro','MarkerSize',4);'go','MarkerSize',4);blue_sample=randn(1,2);holdon;plot(blue_sample(:,1),blue_sample(:,2),'bo','MarkerSize'%giveakvaluek=in

15、put('inputneighborscount');row,col=size(data);fori=1:rowd(:,i)=norm(data(i,1:2)-blue_sample(1,:);endd,idx=sort(d);fori=1:kk_vector(:,i)=idx(:,i);end,4);%caculatecategoryredCount=0;greenCount=0;fori=1:ktag=data(k_vector(1,i),3);if(tag=1)redCount=redCount+1;elseif(tag=2)greenCount=greenCount+1

16、;endendendif(redCount>greenCount)blue_sample=blue_sample1;disp('sampleisred');elseblue_sample=blue_sample2;disp('sampleisgreen');end七、實驗結(jié)果圖3-1實驗結(jié)果八、實驗分析KNN算法本身簡單有效,它是一種lazy-learning算法,分類器不需要使用訓練集進行訓練,訓練時間復雜度為0。KNN分類的計算復雜度和訓練集中的文檔數(shù)目成正比,也就是說,如果訓練集中文檔總數(shù)為n,那么KNN的分類時間復雜度為O(n)。實驗四貝葉斯分類器

17、一、實驗目的編程實現(xiàn)貝葉斯分類器算法。二、實驗內(nèi)容貝葉斯分類器算法。三、實驗原理方法和手段已知類別,給定一樣本判定樣本所屬類別。四、實驗條件Matlab2014b五、實驗步驟(1)已知k個類別(2)計算k個類別所占全體的比重Pr(k)(3)給定值radius,在二維空間,以樣本點為圓心以radiu為半徑作圓。(4)統(tǒng)計圓內(nèi)k個類別的分布情況(在圓內(nèi)包含該類多少個數(shù)據(jù)點)記為C(k)(5)計算圓內(nèi)分布比重Pr_c(k)(6)根據(jù)貝葉斯公式P(A/B)=P(A)mP(B/A)計算各類最終比重,取值大的作為樣P(B)本類別。六、實驗代碼clear;closeall;%inittwoclutersrH

18、=randi(80,100);gH=randi(80,100);red=randn(rH,2)+ones(rH,2);green=randn(gH,2)-ones(gH,2);red=redones(rH,1);green=greenones(gH,1)*2;data=red;green;total=rH+gH;pr_red=rH/(total);pr_green=gH/(total);%initasamplesample_blue=randn(1,2);plot(red(:,1),red(:,2),'ro','MarkerSize',4);holdon;plo

19、t(green(:,1),green(:,2),'go','MarkerSize',4);holdon;plot(sample_blue(:,1),sample_blue(:,2),'b*','MarkerSize',6);fori=1:totalp=data(i,1:2);tmp=sample_blue-p;d(:,i)=sqrt(dot(tmp,tmp);end%selectancircle(centerissample_blue)radius=5;redCount=0;greenCount=0;fori=1:totalif(

20、d(:,i)<=radius)if(data(i,3)=1)%redclusterredCount=redCount+1;elseif(data(i,3)=2)%greenclustergreenCount=greenCount+1;endendendendpr_redInCircle=redCount/rH;pr_greenInCircle=greenCount/gH;pr_redFinal=pr_red*pr_redInCircle;pr_greenFinal=pr_green*pr_greenInCircle;,pr_redFinal);,pr_greenFinal);););fp

21、rintf('finalredpr=%fn'fprintf('finalgreenpr=%fn'if(pr_redFinal>=pr_greenFinal)disp('sampleisredcluster'elsedisp('sampleisgreencluster'end七、實驗結(jié)果圖4-1實驗結(jié)果八、實驗分析對于某些類型的概率模型,在監(jiān)督式學習的樣本集中能獲取得非常好的分類效果。在許換而言之,在不用到貝葉多實際應用中,樸素貝葉斯模型參數(shù)估計使用最大似然估計方法;斯概率或者任何貝葉斯模型的情況下,樸素貝葉斯模型也能奏效。實

22、驗五特征提取算法一、實驗目的編程實現(xiàn)特征提取算法。二、實驗內(nèi)容harris特征提取算法。三、實驗原理方法和手段圖像中的特征點即為圖像邊緣直線形成夾角而成的角點。圖像中較突出的尖銳點和其它有特殊意義的點,這些點反映了地物的特征,對研究具有重要意義。在點特征提取的算法中,主要包含了Susan算法、Harris算法和Moravec算法,這些算法可以對圖像中角點進行提取,從而應用于實踐生產(chǎn)中,例如對建筑物角點提取,人臉中眼睛部位角點的提取。四、實驗條件Matlab2014b五、實驗步驟(1)計算圖像I(x,y)在x和y方向的梯度Ix,1y.:IFITIx=I=-101,1y=I=-101:x:x(2)

23、計算圖像兩個方向梯度的乘積22I=II、I=III=II1xxyyyy,xyxy(3)使用高斯函數(shù)對J,1和Ixy進行高斯加權(quán)(取0=1)_2_2_2_2一一一A=g(Ix)=Ix-W,C=g(Iy)=Iy二w,B=g(Ixy)=Ixy=w(4)計算每個像素的Harris響應值R,并對小于某一閾值t的R置為零R=R:detM-二(traceM)2:二t(5)在3*3或5*5的鄰域內(nèi)進行非最大值抑制,局部最大值點即為圖像中的角點六、實驗代碼%function:%Harris角點檢測%意:%matlab自帶的corner函數(shù)即可實現(xiàn)harris角點檢測。但考慮到harris角點的經(jīng)典性,本程序?qū)⑵?/p>

24、實現(xiàn),純粹出于學習目的,了解特征點檢測的方法。%其中所有參數(shù)均與matlab默認保持一致%清空變量,讀取圖像clear;closeallsrc=imread('images/girl.jpg');gray=rgb2gray(src);gray=im2double(gray);%縮放圖像,減少運算時間gray=imresize(gray,0.2);%計算X方向和Y方向的梯度及其平方X=imfilter(gray,-101);X2=X.A2;Y=imfilter(gray,-101');Y2=Y.A2;XY=X.*Y;%生成高斯卷積核,對X2、丫2、XY進行平滑h=fspecial('gaussian',51,1.5);w=h*h'A=imfilter(X2,w);B=imfilter(Y2,w);C=imfilter(XY,w);%k一般取值0.04-0.06k=0.04;RMax=0;size=size(gray);height=size(1);width=size(2);R=zeros(height,width);forh=1:heightforw=1:width%計算M矩陣M=A(h,w)C(h,w);C(h,w)B(h,w);%計算R用于判斷是否是邊緣R(h,w)=det(M)-k*(trace(M)2;%獲彳#

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論