




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、人工智能方向實習一實習報告專業(yè):計算機科學與技術班級:12419013學號:姓名:江蘇科技大學計算機學院2016年3月實驗一數據聚類分析一、實驗目的編程實現數據聚類的算法。二、實驗內容k-means聚類算法。三、實驗原理方法和手段k-means算法接受參數k;然后將事先輸入的n個數據對象劃分為k個聚類以便使得所獲得的聚類滿足:同一聚類中的對象相似度較高四、實驗條件Matlab2014b五、實驗步驟(1)初始化k個聚類中心。(2)計算數據集各數據到中心的距離,選取到中心距離最短的為該數據所屬類別。(3)計算(2)分類后,k個類別的中心(即求聚類平均距離)(4)繼續(xù)執(zhí)行(2)(3)直到k個聚類中心
2、不再變化(或者數據集所屬類別不再變化)六、實驗代碼%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七、實驗結果Figure1FileEditViewInsertToolsDeslctopWindowHelp瘍騏/IS|o0fisheririsdataset00000OOOOO01.5ooeoOOOOOQeCd©oooooc©300003QOQO口口QQ口口O圖1-1未聚類數據二十T1圖1-2
8、聚類后>ta,靠*»*一Jh口,立paftHelaikmtars八、實驗分析算法的時間復雜度上界為O(n*k*t),其中t是迭代次數。k-means算法是一種基于樣本間相似性度量的間接聚類方法,屬于非監(jiān)督學習方法。此算法以k為參數,把n個對象分為k個簇,以使簇內具有較高的相似度,而且簇間的相似度較低。相似度的計算根據一個簇中對象的平均值(被看作簇的重心)來進行。此算法首先隨機選擇k個對象,每個對象代表一個聚類的質心。對于其余的每一個對象,根據該對象與各聚類質心之間的距離,把它分配到與之最相似的聚類中。然后,計算每個聚類的新質心。重復上述過程,直到準則函數收斂。k-means算法
9、是一種較典型的逐點修改迭代的動態(tài)聚類算法,其要點是以誤差平方和為準則函數。逐點修改類中心:一個象元樣本按某一原則,歸屬于某一組類后,就要重新計算這個組類的均值,并且以新的均值作為凝聚中心點進行下一次象元素聚類;逐批修改類中心:在全部象元樣本按某一組的類中心分類之后,再計算修改各類的均值,作為下一次分類的凝聚中心點。實驗二主成分分析一、實驗目的編程實現主成分的算法。二、實驗內容PC成分分析算法。三、實驗原理方法和手段PCA的原理就是將原來的樣本數據投影到一個新的空間中,相當于我們在矩陣分析里面學習的將一組矩陣映射到另外的坐標系下。通過一個轉換坐標,也可以理解成把一組坐標轉換到另外一組坐標系下,但
10、是在新的坐標系下,表示原來的原本不需要那么多的變量,只需要原來樣本的最大的一個線性無關組的特征值對應的空間的坐標即可。四、實驗條件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;七、實驗結果圖2-1實驗結果八、實驗分析主成分分析,是考察多個變量間相關性一種多元統(tǒng)計方法,研究如何通過少數幾個主成分來揭示多個變量間的內部結構,即從原始變量中導出少數幾個主成分,使它們盡可能多地保留原始變量的信息,且彼此間互不相關.通常數學上的處理就是將原來P個指標作線性組合,作為新的綜合指標。實驗三最近鄰分類器一、實驗目的編程實現最近鄰分類器算法。二、實驗內容最近鄰分類器算法,這里采用k近鄰算法。三、實驗原理方法和手段最近鄰分類為監(jiān)督學習方法,已知n個類別,判定給定樣本屬于哪個類別。四、實驗條件Matlab2014b五、實驗步驟計算樣本到各數據集點的距離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值(即鄰居數),從D中選取k個數據,統(tǒng)計k個數據中所屬類別的個數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七、實驗結果圖3-1實驗結果八、實驗分析KNN算法本身簡單有效,它是一種lazy-learning算法,分類器不需要使用訓練集進行訓練,訓練時間復雜度為0。KNN分類的計算復雜度和訓練集中的文檔數目成正比,也就是說,如果訓練集中文檔總數為n,那么KNN的分類時間復雜度為O(n)。實驗四貝葉斯分類器
17、一、實驗目的編程實現貝葉斯分類器算法。二、實驗內容貝葉斯分類器算法。三、實驗原理方法和手段已知類別,給定一樣本判定樣本所屬類別。四、實驗條件Matlab2014b五、實驗步驟(1)已知k個類別(2)計算k個類別所占全體的比重Pr(k)(3)給定值radius,在二維空間,以樣本點為圓心以radiu為半徑作圓。(4)統(tǒng)計圓內k個類別的分布情況(在圓內包含該類多少個數據點)記為C(k)(5)計算圓內分布比重Pr_c(k)(6)根據貝葉斯公式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七、實驗結果圖4-1實驗結果八、實驗分析對于某些類型的概率模型,在監(jiān)督式學習的樣本集中能獲取得非常好的分類效果。在許換而言之,在不用到貝葉多實際應用中,樸素貝葉斯模型參數估計使用最大似然估計方法;斯概率或者任何貝葉斯模型的情況下,樸素貝葉斯模型也能奏效。實
22、驗五特征提取算法一、實驗目的編程實現特征提取算法。二、實驗內容harris特征提取算法。三、實驗原理方法和手段圖像中的特征點即為圖像邊緣直線形成夾角而成的角點。圖像中較突出的尖銳點和其它有特殊意義的點,這些點反映了地物的特征,對研究具有重要意義。在點特征提取的算法中,主要包含了Susan算法、Harris算法和Moravec算法,這些算法可以對圖像中角點進行提取,從而應用于實踐生產中,例如對建筑物角點提取,人臉中眼睛部位角點的提取。四、實驗條件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)使用高斯函數對J,1和Ixy進行高斯加權(取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的鄰域內進行非最大值抑制,局部最大值點即為圖像中的角點六、實驗代碼%function:%Harris角點檢測%意:%matlab自帶的corner函數即可實現harris角點檢測。但考慮到harris角點的經典性,本程序將其
24、實現,純粹出于學習目的,了解特征點檢測的方法。%其中所有參數均與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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 微特電機在高精度伺服系統(tǒng)中的應用考核試卷
- 有機合成原料在綠色建筑材料的創(chuàng)新開發(fā)趨勢預測分析預測考核試卷
- 冷凍飲品企業(yè)的品牌維權與法律事務考核試卷
- 木質素在土壤改良劑中的作用考核試卷
- 外貿生鮮類合同范本
- 梁板安裝合同范本
- 檔案提成合同范本
- 外墻水性氟碳漆合同范本
- 金融門面轉讓合同范本
- 水管改造施工合同
- 初中中考語文記敘文閱讀訓練訓練及答案
- 圍手術期高血壓患者管理專家共識
- 中國城市人口排名表
- 人教版六年級下冊數學(全冊)同步隨堂練習一課一練
- GB/T 2573-2008玻璃纖維增強塑料老化性能試驗方法
- GB/T 1265-2003化學試劑溴化鈉
- 工程建設項目管理培訓教材課件
- 11-化學動力學基礎-2-考研試題資料系列
- 《簡愛》課本劇劇本
- 社區(qū)獲得性肺炎臨床路徑
評論
0/150
提交評論