大數(shù)據(jù)理論與技術(shù)讀書報告
—-- — -K 最近鄰分類算法 指導(dǎo)老師 :
陳 莉
學(xué)生姓名
:
李陽帆
學(xué) 學(xué)
號 號
:
:
201531 46 7
專 專
業(yè) :
計算機(jī)技術(shù)
日
期
:
:
20 16年 8月 月 31 日
摘 摘
要
數(shù)據(jù)挖掘就是機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)廣泛研究得知識領(lǐng)域,就是將人工智能技術(shù)與數(shù)據(jù)庫技術(shù)緊密結(jié)合, 讓計算機(jī)幫助人 們從龐大得數(shù)據(jù)中智能地、自動地提取出有價值得知識模式,以滿足人們不同應(yīng)用得需要。
K K 近鄰算法(KNN )就是基于統(tǒng)計得分類方法,就是大數(shù)據(jù)理論與分析得分類算法中比較常用得一種方法。該算法具有直觀、無需先驗統(tǒng)計知識、無師學(xué)習(xí)等特點,目前已經(jīng)成為數(shù)據(jù)挖掘技術(shù)得理論與應(yīng)用研究方法之一。本文主要研究了 K K
近鄰分類算法, 首先簡要地介了 紹了數(shù)據(jù)挖掘中得各種分類算法,詳細(xì)地闡述了 K 近鄰算法得基本在 原理與應(yīng)用領(lǐng)域,最后在 mat lab 環(huán)境里仿真實現(xiàn),并對實驗結(jié)果進(jìn)行分析,提出了改進(jìn)得方法。
關(guān)鍵詞:K
近鄰,聚類算法,權(quán)重, 復(fù)雜度,準(zhǔn)確度
1、 、 引言 ...................................................................................... 0 2、 、義 研究目得與意義誤錯? 錯誤! 未定義書簽。
3、 、 算法想 思想誤錯? 錯誤! 未定義書簽。
4、 、現(xiàn) 算法實現(xiàn) 1?4、1
置 參數(shù)設(shè)置誤錯? 錯誤! 未定義書簽。
4、2 集 數(shù)據(jù)集 1?4驟 、3實驗步驟誤錯? 錯誤! 未定義書簽。
4 、4 析 實驗結(jié)果與分析誤錯? 錯誤! 未定義書簽。
5、 、思 總結(jié)與反思誤錯? 錯誤! 未定義書簽。
附件1 1誤錯? 錯誤! 未定義書簽。
1、 、 引言 隨著數(shù)據(jù)庫技術(shù)得飛速發(fā)展,人工智能領(lǐng)域得一個分支—— 機(jī)器學(xué)習(xí)得研究自 20 世紀(jì) 50 年代開始以來也取得了很大進(jìn)展。用數(shù)據(jù)庫管理系統(tǒng)來存儲數(shù)據(jù),用機(jī)器學(xué)習(xí)得方法來分析數(shù)據(jù),挖掘大量數(shù)據(jù)背后得知識,這兩者得結(jié)合促成了數(shù)據(jù)庫中得知識發(fā)現(xiàn)(Knowledge Discovery in Databases,簡記 KDD)得產(chǎn)生,也稱作數(shù)據(jù)挖掘(Data Ming,簡記 DM)。
數(shù)據(jù)挖掘就是信息技術(shù)自然演化得結(jié)果。信息技術(shù)得發(fā)展大致可以描述為如下得過程:初期得就是簡單得數(shù)據(jù)收集與數(shù)據(jù)庫得構(gòu)造;后來發(fā)展到對數(shù)據(jù)得管理,包括:數(shù)據(jù)存儲、檢索以及數(shù)據(jù)庫事務(wù)處理;再后來發(fā)展到對數(shù)據(jù)得分析與理解, 這時候出現(xiàn)了數(shù)據(jù)倉庫技術(shù)與數(shù)據(jù)挖掘技術(shù)。數(shù)據(jù)挖掘就是涉及數(shù)據(jù)庫與人工智能等學(xué)科得一門當(dāng)前相當(dāng)活躍得研究領(lǐng)域。
數(shù)據(jù)挖掘就是機(jī)器學(xué)習(xí)領(lǐng)域內(nèi)廣泛研究得知識領(lǐng)域,就是將人工智能技術(shù)與數(shù)據(jù)庫技術(shù)緊密結(jié)合,讓計算機(jī)幫助人們從龐大得數(shù)據(jù)中智能地、自動地抽取出有價值得知識模式,以滿足人們不同應(yīng)用得需要[1].目前,數(shù)據(jù)挖掘已經(jīng)成為一個具有迫切實現(xiàn)需要得很有前途得熱點研究課題。
2、 、 研究目得與意義 近鄰方法就是在一組歷史數(shù)據(jù)記錄中尋找一個或者若干個與當(dāng)前記錄最相似得歷史紀(jì)錄得已知特征值來預(yù)測當(dāng)前記錄得未知或遺失特征值[14]。近鄰方法就是數(shù)據(jù)挖掘分類算法中比較常用得一種方法。K 近鄰算法(簡稱 KNN)就是基于統(tǒng)計得分類方法[15]。KNN 分類算法根據(jù)待識樣本在特征空間中 K 個最近鄰樣本中得多數(shù)樣本得類別來進(jìn)行分類,因此具有直觀、無需先驗統(tǒng)計知識、無師學(xué)習(xí)等特點,從而成為非參數(shù)分類得一種重要方法。
大多數(shù)分類方法就是基于向量空間模型得。當(dāng)前在分類方法中,對任意兩個向量:
x=與存在 3 種最通用得距離度量:歐氏距離、余弦距離[16]與內(nèi)積[17]。有兩種常用得分類策略:一種就是計算待分類向量到所有訓(xùn)練集中得向量間得距離:如 K 近鄰選擇 K 個距離最小得向量然后進(jìn)行綜合,以決定其類別。另一種就是用訓(xùn)練集中得向量構(gòu)成類別向量,僅計算待分類向量到所有類別向量得距離,選擇一個距離最小得類別向量決定類別得歸屬。很明顯,距離計算在分類中起關(guān)鍵作用。由于以上 3 種距離度量不涉及向量得特征之間得關(guān)系,這使得距離得計算不精確,從而影響分類得效果。
3、 、 算法 思想 K 最近鄰(K-Nearest Neighbor,KNN)算法,就是著名得模式識別統(tǒng)計學(xué)方法,
在機(jī)器學(xué)習(xí)分類算法中占有相當(dāng)大得地位.它就是一個理論上比較成熟得方法。既就是最簡單得機(jī)器學(xué)習(xí)算法之一,也就是基于實例得學(xué)習(xí)方法中最基本得,又就是最好得文本分類算法之一. 其基本思想就是:假設(shè)每一個類包含多個樣本數(shù)據(jù),而且每個數(shù)據(jù)都有一個唯一得類標(biāo)記表示這些樣本就是屬于哪一個分類, KNN就就是計算每個樣本數(shù)據(jù)到待分類數(shù)據(jù)得距離,如果一個樣本在特征空間中得 k 個最相似(即特征空間中最鄰近)得樣本中得大多數(shù)屬于某一個類別,則該樣本也屬于這個類別。該方法在定類決策上只依據(jù)最鄰近得一個或者幾個樣本得類別來決定待分樣本所屬得類別. K—最臨近分類方法存放所有得訓(xùn)練樣本,在接受待分類得新樣本之前不需構(gòu)造模型,并且直到新得(未標(biāo)記得)樣本需要分類時才建立分類.K-最臨近分類基于類比學(xué)習(xí),其訓(xùn)練樣本由N維數(shù)值屬性描述,每個樣本代表 N 維空間得一個點。這樣,所有訓(xùn)練樣本都存放在 N維模式空間中.給定一個未知樣本,k—最臨近分類法搜索模式空間,找出最接近未知樣本得K 個訓(xùn)練樣本。這 K 個訓(xùn)練樣本就是未知樣本得 K 個“近鄰”.“臨近性”又稱為相異度(Dissimilarity),由歐幾里德距離定義,其中兩個點 X(x 1 ,x 2 ,„x n )與 Y(y 1 ,y 2 ,„yn )得歐幾里德距離就是:
未知樣本被分配到K個最臨近者中最公共得類.在最簡單得情況下,也就就是當(dāng)K=1時,未知樣本被指定到模式空間中與之最臨近得訓(xùn)練樣本得類. 4、 、 算法實現(xiàn) 4、 、1 1 參數(shù)設(shè)置 K 值得設(shè)定 K 值設(shè)置過小會降低分類精度;若設(shè)置過大,且測試樣本屬于訓(xùn)練集中包含數(shù)據(jù)較少得類,則會增加噪聲,降低分類效果。通常,K值得設(shè)定采用交叉檢驗得方式(以 K=1為基準(zhǔn)), 通過查找相關(guān)資料,K一般低于訓(xùn)練樣本數(shù)得平方根,本實驗中得訓(xùn)練樣本數(shù)為 100個,因此選取 k=7。
4 、2 數(shù)據(jù)集 本文得實驗數(shù)據(jù)采用軟木塞得數(shù)據(jù)集,軟木塞得樣本可分為三類,分別用1,2,3代表,共 150 個樣本,我們選取其中得 100 個樣本為訓(xùn)練集,其余得 50 個樣本為測試集。每個樣本均包含10 維特征,由于用 10 維特征計算量太大,本實驗得目得主要就是明白 K-最近鄰算法得思想,重點不在計算,因此我們選取其中得兩個屬性作為
本實驗得數(shù)據(jù),實驗數(shù)據(jù)得部分截圖如圖 1 所示。
圖 1、部分實驗數(shù)據(jù)
4 、3 實驗步驟 第一步,初始化距離為最大值。
第二步,計算未知樣本與每個訓(xùn)練樣本得距離 dist。
第三步,得到目前 K 個最臨近樣本中得最大距離 maxdist。
第四步,如果dist小于 maxdist,則將該訓(xùn)練樣本作為 K-最近鄰樣本. 第五步,重復(fù)步驟 2、3、4,直到未知樣本與所有訓(xùn)練樣本得距離都算完. 第六步,統(tǒng)計K—最近鄰樣本中每個類標(biāo)號出現(xiàn)得次數(shù)。
第七步,選擇出現(xiàn)頻率最大得類標(biāo)號作為未知樣本得類標(biāo)號。
4 、4 實驗結(jié)果與分析 按照上述實驗步驟,在mat(yī)lab中仿真實現(xiàn)k-近鄰分類算法得結(jié)果如下圖2所示,圖中得第一列數(shù)據(jù)表示樣本編號,第二列與第三列表示軟如塞數(shù)據(jù)得兩位特征得值,第三列得數(shù)字表示本實驗得分類結(jié)果圖,第四列表示樣本實際所屬類別。
圖 3 中列出了詳細(xì)錯誤信息.第一行與第一列表示樣本類別,第 i 行第 j 列得元素表示第 i類樣本被分為第 j 類樣本得個數(shù)(2≤i,j≤4),第五列表示每類樣本分類錯誤總數(shù),第六列表示錯誤率。由圖中數(shù)據(jù)易得,本實驗得平均正確率為 86、7%。
圖 2、7—最近鄰分類結(jié)果圖
圖 3、錯誤統(tǒng)計圖
KNN 方法雖然從原理上也依賴于極限定理,但在類別決策時,只與極少量得相鄰樣本有關(guān)。因此,采用這種方法可以較好地避免樣本得不平衡問題。另外,由于 KNN方法主要靠周圍有限得鄰近得樣本,而不就是靠判別類域得方法來確定所屬類別得,因此對于類域得交叉或重疊較多得待分樣本集來說,KNN 方法較其她方法更為適合。
該方法得不足之處就是計算量較大,因為對每一個待分類得文本都要計算它到全體已知樣本得距離,才能求得它得 K個最近鄰點.目前常用得解決方法就是事先對已知樣本點進(jìn)行剪輯,事先去除對分類作用不大得樣本。該算法比較適用于樣本容量比較大得類域得自動分類,而那些樣本容量較小得類域采用這種算法比較容易產(chǎn)生誤分。
5、 、 總結(jié)與反思 模式分類在現(xiàn)實領(lǐng)域有著非常廣泛得應(yīng)用。
K近鄰算法就是模式分類算法中一類常用得算法。本文針對傳統(tǒng)得 KNN 算法得不足之處,提出了兩點改進(jìn)措施。
1、針對 KNN 算法得計算量大、速度慢得缺點,對訓(xùn)練數(shù)據(jù)采用了預(yù)處理得方法.首先采用某一聚類方法對訓(xùn)練數(shù)據(jù)進(jìn)行分類,然后再與 K 近鄰方法相結(jié)合來判斷待測樣本得類別。現(xiàn)有得方法都就是經(jīng)過聚類之后確定類別,按一定得規(guī)則挑選出來具有代表性得數(shù)據(jù)。然后再將這些挑選出來得數(shù)據(jù)作為訓(xùn)練樣本.但這類方法能去除得數(shù)據(jù)非常有限,因此對計算量大得改進(jìn)不大,而本文提出得新得算法:在聚類之后,首先計算出來各個類別得中心,然后只需要考慮待測樣本與聚類中心得距離就可以.然后再根據(jù)最終得到得距離得大小判斷該點所屬得類別。通過實例驗證表明,該方法在算法得時間復(fù)雜度方面有一定得改進(jìn)。
2、關(guān)于準(zhǔn)確度得問題,我們主要就是舍棄了原來常用得歐式距離得計算公式,主要考慮了屬性對分類得影響,在歐式距離得計算中引入了權(quán)值.盡管權(quán)值得確定在一定程度上增加了計算時間得代價,但就是從改進(jìn)分類準(zhǔn)確率上來說仍然就是必要得,尤其就是在數(shù)據(jù)中無關(guān)屬性比較多,傳統(tǒng)得分類算法誤差較大得情況下學(xué)習(xí)特征權(quán)值尤其適用。權(quán)值得確定也已經(jīng)有了不少得方法,如可以通過神經(jīng)網(wǎng)絡(luò)來確定權(quán)值等。本文從訓(xùn)練樣本出發(fā),逐一統(tǒng)計計算每一個屬性對分類結(jié)果得影響,根據(jù)影響得大小來確定權(quán)值。通過實例驗證,可知這種方法得到得權(quán)值與其她常用得方法相比,在分類準(zhǔn)確度方面有一定得提高。
參考文獻(xiàn)
[ [1 1] ] 鄧箴, , 包宏 、 用模擬退火改進(jìn)得
KNN 分類算法 [J ]。計算機(jī)與應(yīng)用化學(xué),2 010 ,27(3 )
:3 03- - 307.
[2 2 ]郭躬德,黃杰,陳黎飛 、 基于
K NN
模型得增量學(xué)習(xí)算法 [J ]。模式識別與人工智能, 20 10 ,23( 5 ):70 1-7 7 07。
[ 3 ]黃杰,郭躬德,陳黎飛 、 增量
K K N N 模型得修剪策略研究[J J ]. 小型微型計算機(jī)系統(tǒng), 201 1, , 5 (5) :
84 5- 849.
[ [ 4] ] 李歡,焦建民.簡化得粒子群優(yōu)化快速
KNN 分類算法[J J ] 。計算機(jī)工程與應(yīng)用,2 008,4 4(
3 3 2) ) :
57- -5 5 9。
[ [5 5 ]王曉曄, , 王正歐 .K -最近鄰分類技術(shù)得改進(jìn)算法[J J ]。電子與信息學(xué)報, 2005,27 7 ( 3):4 87 7 — 49 1.
[ 6 ] Gu o
Gongde, W ang Hui, Be ll
D D ,e t al. U sin g K NN model for aut t o ma ti i c
tex t
ca t egori za a t ion [ J ]、 Soft
putin g — A F u sion o f
F F oun dat i on, M e thodo lo gi es
and d
A pplicatio n , 200 6, ,1 1 0( 5) :42 2 3- - 430.
[ [7 7 ]余小鵬,周德翼。一種自適應(yīng)k-最近鄰算法得研究 [J]., 計算機(jī)應(yīng)用研究, 2006(2): 7 70 0 -7 7 2。
附件 1:
源代碼
KNN、m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %
KNN、m
K-最近鄰分類算法 % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A=x ls rea d('E :\ 上課\機(jī)器學(xué)習(xí)\ 模式識別課件\ 數(shù)據(jù)\COR K_ STO(shè)PPEx RS、xls",2 ); f=zer os(150 ,5) ; f f( :, 1:2 )=A (1 :150, 3:4) ; f1 =A(1 :50 ,3 :4) ; f2= A(51:100 ,3 :4); f3= A( 101:15 0, 3:4); c cl s= zero s(1 50 ,10); o for
i= 1:150
for j =1:1 50
c ls(i ,j )=norm (f(i ,1:2 )-f (j,1 :2));
end end % 對計算出得每個樣本與其她 150 個樣本( 包括自己)得距離排序,選 K=10 arr ay= zeros(300 ,11 ); f or ii =1:150
[val ue,inde x]=sort(cl s(i i, :));
arra y(2 *ii— 1,:) =val ue(1: 11);
a rray(2 *ii, :) =in dex(1 :1 1); end 類 %對每個樣本分類 fo r ii= 1:150
a11=length(f ind(array(2 *i i,: )〈50));
a12=l ength (f ind(arr ay (2*ii ,: )〉50 &a rr ay(2*i i,:)〈100 )); ;
a13=len gth (find (a rray (2 *ii ,:) 〉1 00 &array (2 *i i,:)<15)
0)) ;
if (max(max (a11,a12) ,a13)==a11)
f(ii,3 )=1;
else if (max (max(a11 ,a12) ,a1 3)==a12 )
f (ii,3)=2;
els e
f(i i,3 )=3 ;
end
en d
end % 錯誤計算 e rro r=ze ro s(3,5 ); for
i=1 :50
if(f (i,3 )= =2 )
error (1 ,2)= error (1,2 )+1 ;
end
if (f(i,3) ==3 )
err or(1 ,3 )= erro r(1 ,3 )+1 ;
end
if(f (5 0+i ,3)==1 )
er ror(2,1 )=erro r(2 ,1)+ 1;
end
if( f(5 0+i, 3)==3 )
err or( 2,3) =e rror(2,3)+1 ;
en d
if (f(100+ i,3)==1)
error (3 ,1)= erro r(3,1)+1;
end
i f(f(100+i, 3)== 2)
er ror (3 ,2)=er ro r(3,2 )+ 1;
end
e nd for
k =1:3 %D 第四列表示錯誤數(shù) err or(k,4 )=err or (k ,1)+err or(k ,2 )+e rro r( k,3 ); error(k ,5) =err or(k ,4)/50 ; en d
推薦訪問: 數(shù)據(jù)挖掘 實驗 報告同志們:今天這個大會,是市委全面落實黨要管黨、從嚴(yán)治黨要求的一項重大舉措,也是對縣市區(qū)委書記履行基層黨建工作第一責(zé)任人情況的一次集中檢閱,同時是對全市基層黨建工作的一次再部署、再落實的會議。前面,**
***年,我認(rèn)真履行領(lǐng)班子、帶隊伍、抓黨員、保穩(wěn)定的基層黨建工作思路,以學(xué)習(xí)貫徹習(xí)近平新時代中國特色社會主義思想和黨的十九大歷次全會精神為主線,以市局基層黨建工作考核細(xì)則為落腳點,落實全面從嚴(yán)治黨主體
根據(jù)會議安排,現(xiàn)將2022年履行抓基層黨建工作職責(zé)情況報告如下:一、履職工作特色和亮點1 突出政治建設(shè),著力在思想認(rèn)識上提高。牢固樹立抓黨建就是抓政績的理念,以“黨建工作抓引領(lǐng)、社區(qū)治理求突破,為民服
2022年以來,在**黨委的正確領(lǐng)導(dǎo)下,堅持以習(xí)近平新時代中國特色社會主義思想為指導(dǎo),深入學(xué)習(xí)宣傳貫徹黨的二十大精神,以黨建工作為統(tǒng)領(lǐng),扎實開展夯實“三個基本”活動,以“四化四力”行動為抓手,聚力創(chuàng)建
各位領(lǐng)導(dǎo),同志們:根據(jù)會議安排,現(xiàn)就2022年度抓基層黨建工作情況匯報如下:一、主要做法及成效(一)強(qiáng)化政治引領(lǐng)。一是不斷強(qiáng)化理論武裝。堅持通過黨組會、中心組學(xué)習(xí)會和“三會一課”,第一時間、第一議題學(xué)
2022年度抓基層黨建工作述職報告按照黨委工作部署,現(xiàn)將本人2022年度抓基層黨建工作情況報告如下:一、2022年度抓基層黨建工作情況(一)旗幟鮮明講政治將旗幟鮮明講政治放在全局發(fā)展首要位置,積極開展
2022年,是我在數(shù)計系黨總支書記這個新崗位上度過的第一個完整的工作年度。回首一年來在校黨委的正確領(lǐng)導(dǎo)下,與數(shù)計系領(lǐng)導(dǎo)班子和全體師生共同走過的日子,艱辛歷歷在目,收獲溫潤心田。作為黨總支書記,我始終牢
按照考核要求,現(xiàn)將本人一年來,作為統(tǒng)戰(zhàn)部長履行職責(zé)、廉潔自律等方面情況報告如下:一、著眼增強(qiáng)政治素質(zhì),不斷深化理論學(xué)習(xí)堅持把旗幟鮮明講政治作為履職從政的第一位要求,帶領(lǐng)統(tǒng)戰(zhàn)系統(tǒng)干部堅決擁護(hù)“兩個確立”
**年,緊緊圍繞黨工委、管委會的決策部署,全體人員團(tuán)結(jié)協(xié)作、凝心聚力,緊扣黨工委“**”基本工作思路,全力開拓進(jìn)取,認(rèn)真履職盡責(zé),圓滿完成各項工作任務(wù)。一、個人思想政治狀況檸檬文苑www bgzjy
按照縣委關(guān)于開展抓基層黨建述職評議會議的有關(guān)要求,經(jīng)請示縣委組織部同意,今天,我們在此召開2022年度基層黨組織書記抓基層黨建述職評議會議。1 首先,請**黨委書記,**同志述職。**黨委能夠主動研究