導航:首頁 > 源碼編譯 > 螞蚱優化演算法與k近鄰有什麼關系

螞蚱優化演算法與k近鄰有什麼關系

發布時間:2022-07-12 10:22:50

⑴ 請比較k近鄰,決策樹和樸素貝葉斯這三種分類演算法之間的異同點

決策樹演算法主要包括id3,c45,cart等演算法,生成樹形決策樹,而樸素貝葉斯是利用貝葉斯定律,根據先驗概率求算後驗概率。

如果訓練集很小,那麼高偏差/低方差分類器(如樸素貝葉斯分類器)要優於低偏差/高方差分類器(如k近鄰分類器),因為後者容易過擬合。然而,隨著訓練集的增大,低偏差/高方差分類器將開始勝出(它們具有較低的漸近誤差),因為高偏差分類器不足以提供准確的模型。

一些特定演算法的優點:

樸素貝葉斯的優點:

超級簡單,你只是在做一串計算。如果樸素貝葉斯(NB)條件獨立性假設成立,相比於邏輯回歸這類的判別模型,樸素貝葉斯分類器將收斂得更快,所以只需要較小的訓練集。而且,即使NB假設不成立,樸素貝葉斯分類器在實踐方面仍然表現很好。

如果想得到簡單快捷的執行效果,這將是個好的選擇。它的主要缺點是,不能學習特徵之間的相互作用(比如,它不能學習出:雖然你喜歡布拉德·皮特和湯姆·克魯斯的電影,但卻不喜歡他們一起合作的電影)。

邏輯回歸的優點:

有許多正則化模型的方法,不需要像在樸素貝葉斯分類器中那樣擔心特徵間的相互關聯性。與決策樹和支撐向量機不同,還可以有一個很好的概率解釋,並能容易地更新模型來吸收新數據(使用一個在線梯度下降方法)。

如果想要一個概率框架(比如,簡單地調整分類閾值,說出什麼時候是不太確定的,或者獲得置信區間),或你期望未來接收更多想要快速並入模型中的訓練數據,就選擇邏輯回歸。

決策樹的優點:

易於說明和解釋(對某些人來說—我不確定自己是否屬於這個陣營)。它們可以很容易地處理特徵間的相互作用,並且是非參數化的,所以你不用擔心異常值或者數據是否線性可分(比如,決策樹可以很容易地某特徵x的低端是類A,中間是類B,然後高端又是類A的情況)。

一個缺點是,不支持在線學習,所以當有新樣本時,你將不得不重建決策樹。另一個缺點是,容易過擬合,但這也正是諸如隨機森林(或提高樹)之類的集成方法的切入點。另外,隨機森林往往是很多分類問題的贏家(我相信通常略優於支持向量機),它們快速並且可擴展,同時你不須擔心要像支持向量機那樣調一堆參數,所以它們最近似乎相當受歡迎。

(1)螞蚱優化演算法與k近鄰有什麼關系擴展閱讀:

樸素貝葉斯演算法:

設每個數據樣本用一個n維特徵向量來描述n個屬性的值,即:X={x1,x2,…,xn},假定有m個類,分別用C1, C2,…,Cm表示。給定一個未知的數據樣本X(即沒有類標號),若樸素貝葉斯分類法將未知的樣本X分配給類Ci,則一定是

P(Ci|X)>P(Cj|X) 1≤j≤m,j≠i

根據貝葉斯定理:

由於P(X)對於所有類為常數,最大化後驗概率P(Ci|X)可轉化為最大化先驗概率P(X|Ci)P(Ci)。如果訓練數據集有許多屬性和元組,計算P(X|Ci)的開銷可能非常大,為此,通常假設各屬性的取值互相獨立,這樣

先驗概率P(x1|Ci),P(x2|Ci),…,P(xn|Ci)可以從訓練數據集求得。

根據此方法,對一個未知類別的樣本X,可以先分別計算出X屬於每一個類別Ci的概率P(X|Ci)P(Ci),然後選擇其中概率最大的類別作為其類別。

樸素貝葉斯演算法成立的前提是各屬性之間互相獨立。當數據集滿足這種獨立性假設時,分類的准確度較高,否則可能較低。另外,該演算法沒有分類規則輸出。

TAN演算法(樹增強型樸素貝葉斯演算法)

TAN演算法通過發現屬性對之間的依賴關系來降低NB中任意屬性之間獨立的假設。它是在NB網路結構的基礎上增加屬性對之間的關聯(邊)來實現的。

實現方法是:用結點表示屬性,用有向邊表示屬性之間的依賴關系,把類別屬性作為根結點,其餘所有屬性都作為它的子節點。通常,用虛線代表NB所需的邊,用實線代表新增的邊。屬性Ai與Aj之間的邊意味著屬性Ai對類別變數C的影響還取決於屬性Aj的取值。

這些增加的邊需滿足下列條件:類別變數沒有雙親結點,每個屬性有一個類別變數雙親結點和最多另外一個屬性作為其雙親結點。

⑵ k近鄰演算法的概念介紹

用官方的話來說,所謂K近鄰演算法,即是給定一個訓練數據集,對新的輸入實例,在訓練數據集中找到與該實例最鄰近的K個實例(也就是上面所說的K個鄰居), 這K個實例的多數屬於某個類,就把該輸入實例分類到這個類中。根據這個說法,咱們來看下引自維基網路上的一幅圖:

⑶ 為什麼k臨近演算法不能處理特徵很多的數據集

機器學習中常常要用到分類演算法,在諸多的分類演算法中有一種演算法名為k-近鄰演算法,也稱為kNN演算法。
一、kNN演算法的工作原理
二、適用情況
三、演算法實例及講解
---1.收集數據
---2.准備數據
---3.設計演算法分析數據
---4.測試演算法

一、kNN演算法的工作原理
官方解釋:存在一個樣本數據集,也稱作訓練樣本集,並且樣本中每個數據都存在標簽,即我們知道樣本集中每一數據與所屬分類的對應關系,輸入沒有標簽的新數據後,將新數據的每個特徵與樣本集中的數據對應的特徵進行比較,然後演算法提取樣本集中特徵最相似的數據(最近鄰)的分類標簽。一般來說,我們只選擇樣本集中前k個最相似的數據,這就是k-近鄰演算法中k的出處,通常k是不大於20的整數,最後,選擇k個最相似的數據中出現次數最多的分類,作為新數據的分類。
我的理解:k-近鄰演算法就是根據「新數據的分類取決於它的鄰居」進行的,比如鄰居中大多數都是退伍軍人,那麼這個人也極有可能是退伍軍人。而演算法的目的就是先找出它的鄰居,然後分析這幾位鄰居大多數的分類,極有可能就是它本省的分類。

二、適用情況
優點:精度高,對異常數據不敏感(你的類別是由鄰居中的大多數決定的,一個異常鄰居並不能影響太大),無數據輸入假定;
缺點:計算發雜度高(需要計算新的數據點與樣本集中每個數據的「距離」,以判斷是否是前k個鄰居),空間復雜度高(巨大的矩陣);
適用數據范圍:數值型(目標變數可以從無限的數值集合中取值)和標稱型(目標變數只有在有限目標集中取值)。

⑷ KNN演算法,k近鄰

K最近鄰(k-Nearest Neighbour,KNN)分類演算法,是一個理論上比較成熟的方法,也是最簡單的機器學習演算法之一。該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。

⑸ K近鄰聚類演算法

推薦本書吧
Wiley - Pattern Classification, 2Ed.pdf
有中文版的但是不好找 上面很詳細 還包括其他演算法

⑹ k近鄰演算法特徵值非數字

k-近鄰演算法採用測量不同特徵值之間的距離來進行分類。
優點:精度高,對異常值不敏感,無數據輸入假定。缺點:計算復雜度高、空間復雜度高。適用數據范圍:數值型和分類型。原理:首先,我們必須得有一份含有分類標簽的數據集,為訓練數據集。比如我們要預測用戶是否會流失,那麼分類標簽就是流失和未流失。然後有一份新的數據集,這份數據集並沒有分類標簽,k-近鄰演算法就會將新的數據集和訓練數據集進行比較,從訓練數據集中選出與新數據集每個數據最相近的K個數據,查看這K個數據所屬標簽哪類最多,比如流失,就把新數據集中的那個數據分類為流失。怎麼判斷是否相近呢?K-近鄰是計算不同數據的距離。k-近鄰演算法的原理偽代碼。
對未知類別屬性的數據集中的每個數據點依次執行以下操作:(1)計算已知類別數據集中的點與當前點之間的距離。(2)按照距離遞增次序排序。(3)選出與當前距離最近的K個點。(4)統計出K個點所屬類別的頻率。(5)返回K個點出現頻率最高的的類別作為當前點的預測類別

⑺ 計算機學習的分類

分類;數據挖掘 分類是數據挖掘的重要任務之一,分類在實際應用中有廣泛的應用,如醫療事業、信用等級等。近年來,分類方法得到了發展,本文對這些方法進行了歸納分析,總結了今後分類方法發展的方向。 1引言 分類是學會一個分類函數或分類模型,該模型能把資料庫中的數據項映射到給定類別中的某一個。分類可用於提取描述重要數據類的模型或預測未來的數據趨勢。分類可描述如下:輸入數據,或稱訓練集是一條條記錄組成的。每一條記錄包含若干條屬性,組成一個特徵向量。訓練集的每條記錄還有一個特定的類標簽與之對應。該類標簽是系統的輸入,通常是以往的一些經驗數據。一個具體樣本的形式可為樣本向量:。在這里vi表示欄位值,c表示類別。 分類作為數據挖掘的一個重要分支,在商業、醫學、軍事、體育等領域都有廣泛的應用,在過去的十多年中引起很多來自不同領域學者的關注和研究。除了基本的統計分析方法外,數據挖掘技術主要有:神經網路、決策樹、粗糙集、模糊集、貝葉斯網路、遺傳演算法、k近鄰分類演算法與支持向量機等。 不同的分類器有不同的特點,目前有三種分類器評價或比較尺度:1)預測准確度。預測准確度是用得最多的一種比較尺度,特別是對於預測型分類任務,目前公認的方法是10折分層交叉驗證法;2)計算復雜度。計算復雜度依賴於具體的實現細節和硬體環境,空間和時間的復雜度問題將是非常重要的一個環節;3)模型描述的簡潔度。模型描述越簡潔越受歡迎,如採用規則表示的分類器結果就較容易理解,而神經網路方法產生的結果就難以理解。不同的演算法有不同的特點,充分認識各演算法的優點和存在的缺陷,掌握其適應的環境,方便研究者明確演算法的改進和研究,本文主要對演算法的研究現狀進行分析和比較。2分類方法的發展 2.1決策樹的分類方法 ID3演算法是較早的決策樹歸納演算法。當前最有影響的決策樹演算法是Quinlan於1986年提出的ID3和1993年提出的C4.5。ID3選擇增益值最大的屬性劃分訓練樣本,其目的是進行分裂時系統的熵最小,從而提高演算法的運算速度和精確度。這種方法的優點是描述簡單、分類速度快和產生的分類規則易於理解;但缺點是抗噪性差、訓練正例和反例較難控制以及是非遞增學習演算法。C4.5是ID3的改進演算法,不僅可以處理離散值屬性,還能處理連續值屬性,但是也不能進行增量學習。 SLIQ是一個能夠處理連續及離散屬性的決策樹分類器。該演算法針對C4.5分類演算法產生的樣本反復掃描和排序低效問題,採用了預排序和寬度優先兩項技術。預排序技術消除了結點數據集排序,寬度優先為決策樹中每個葉結點找到了最優分裂標准。這些技術結合使SLIQ能夠處理大規模的數據集,並能對具有大量的類、屬性與樣本的數據集分類;並且該演算法代價不高且生成緊湊精確的樹。缺點是內存駐留數據會隨著輸入紀錄數線性正比增大,限制了分類訓練的數據量。 SPRINT方法完全不受內存的限制,並且處理速度很快,且可擴展。為了減少駐留於內存的數據量,該演算法進一步改進了決策樹演算法的數據結構,去掉了SLIQ中需要駐留於內存的類別列表,將類別合並到每個屬性列表中。但是對非分裂屬性的屬性列表進行分裂卻比較困難,因此該演算法的可擴展性較差。 2.2貝葉斯分類方法 貝葉斯分類是統計學分類方法,是利用Bayes定理來預測一個未知類別的樣本可能屬性,選擇其可能性最大的類別作為樣本的類別。樸素貝葉斯網路作為一種快速而高效的演算法而受到人們的關注,但是其屬性獨立性並不符合現實世界,這樣的假設降低了樸素貝葉斯網路的性能;但是如果考慮所有屬性之間的依賴關系,使其表示依賴關系的能力增強,允許屬性之間可以形成任意的有向圖,由於其結構的任意性,這樣使得貝葉斯網路的結構難以學習,然而,貝葉斯網路的學習是一個NP-Complete問題。 目前對於貝葉斯網路的改進主要包括了:1)基於屬性選擇的方法,保證選擇的屬性之間具有最大的屬性獨立性,其中代表演算法是由Langley提出SBC;2)擴展樸素貝葉斯網路的結構,考慮屬性之間的依賴關系,降低屬性獨立性假設,其中代表演算法是由Friedman提出樹擴展的貝葉斯網路TAN;3)基於實例的學習演算法。 其中1)、2)的演算法是根據訓練集合構造一個分類器,是一種積極的學習演算法,3)的方法是一種消極的學習演算法。 2.3粗糙集分類方法 粗糙集理論是一種刻劃不完整和不確定性數據的數學工具,不需要先驗知識,能有效處理各種不完備,從中發現隱含的知識,並和各種分類技術相結合建立起能夠對不完備數據進行分類的演算法。粗糙集理論包含求取數據中最小不變集和最小規則集的理論,即約簡演算法,這也是粗糙集理論在分類中的主要應用。 2.4神經網路 神經網路是分類技術中重要方法之一,是大量的簡單神經元按一定規則連接構成的網路系統。它能夠模擬人類大腦的結構和功能,採用某種學習演算法從訓練樣本中學習,並將獲取的知識存儲在網路各單元之間的連接權中。神經網路主要有前向神經網路、後向神經網路和自組織網路。目前神經網路分類演算法研究較多集中在以BP為代表的神經網路上。文獻提出了粒子群優化演算法用於神經網路訓練,在訓練權值同時刪除冗餘連接,與BP結果比較表明演算法的有效性。文獻提出旋轉曲面變換粒子群優化演算法的神經網路,使待優化函數跳出局部極值點,提高訓練權值的效率。 2.5K近鄰分類演算法 K近鄰分類演算法是最簡單有效的分類方法之一,是在多維空間中找到與未知樣本最近鄰的K個點,並根據這K個點的類別判斷未知樣本的類別。但是有兩個最大缺點:1)由於要存儲所有的訓練數據,所以對大規模數據集進行分類是低效的;2)分類的效果在很大程度上依賴於K值選擇的好壞。文獻提出一種有效的K近鄰分類演算法,利用向量方差和小波逼近系數得出兩個不等式,根據這兩個不等式,分類效率得到了提高。文獻提出用粒子群優化演算法對訓練樣本進行有指導的全局隨機搜索,掠過大量不可能的K向量,該演算法比KNN方法計算時間降低了70%。 2.6基於關聯規則挖掘的分類方法 關聯分類方法一般由兩部組成:第一步用關聯規則挖掘演算法從訓練數據集中挖掘出所有滿足指定支持度和置信度的類關聯規則,支持度用於衡量關聯規則在整個數據集中的統計重要性,而置信度用於衡量關聯規則的可信程度;第二步使用啟發式方法從挖掘出的類關聯規則中挑選出一組高質量的規則用於分類。 Agrawal等人於1993年提出了演算法AIS和SETM,1994年又提出了Apriori和AprioriTid,後兩個演算法和前兩個演算法的不同之處在於:在對資料庫的一次遍歷中,那些候選數據項目被計數以及產生候選數據項目集的方法。但前兩者方法的缺點是會導致許多不必要的數據項目集的生成和計數。由於目前日常生活中如附加郵遞、目錄設計、追加銷售、倉儲規劃都用到了關聯規則,因此首先要考慮關聯規則的高效更新問題,D.w.cheung提出了增量式更新演算法FUP,它的基本框架和Apriori是一致的;接著馮玉才等提出了兩種高效的增量式更新演算法IUA和PIUA,主要考慮當最小支持度和最小可信度發生變化時,當前交易資料庫中關聯規則的更新問題。 2.7支持向量機方法的發展 支持向量機方法是建立在統計學習理論的VC維理論和結構風險最小原理基礎之上的。根據有限樣本、在模型的復雜性和學習能力之間尋求折衷,以期獲得最好推廣能力。它非常適合於處理非線性問題。分類問題是支持向量機最為成熟和應用最廣的演算法。但是由於SVM的訓練時間會隨著數據集的增大而增加,所以在處理大規模數據集時,SVM往往需要較長的訓練時間。 文獻提出了一種多分類問題的改進支持向量機,將GA和SVM相結合,構造了一種參數優化GA-SVM,該方法在多分類非平衡問題上,提高了分類正確率,也提高了學習時間。文獻提出了一種新的支持向量機增量演算法,提出了一種誤分點回溯增量演算法,先找出新增樣本中誤分的樣本,然後在原樣本集尋找距誤分點最近的樣本作為訓練集的一部分,重新構建分類器,有效保留樣本的分類,結果表明比傳統的SVM有更高的分類精度。 2.8基於群的分類方法 這種方法可以看作是進化演算法的一個新的分支,它模擬了生物界中蟻群、魚群和鳥群在覓食或者逃避敵人時的行為,對基於群的分類方法研究,可以將這種方法分為兩類:一類是蟻群演算法,另一類稱為微粒群演算法。 文獻提出了一種基於蟻群演算法的分類規則挖掘演算法,針對蟻群演算法計算時間長的缺點,提出了一種變異運算元,用公用數據作試驗將其結果與C4.5和Ant-Miner比較,顯示變異運算元節省了計算時間。 PSO是進化計算的一個新的分支,它模擬了鳥群或魚群的行為。在優化領域中,PSO可以與遺傳演算法相媲美。文獻提出了基於粒子群優化演算法的模式分類規則獲取,演算法用於Iris數據集進行分類規則的提取,與其他演算法比較顯示不僅提高了正確率,而且較少了計算時間。文獻將PSO運用於分類規則提取,對PSO進行了改進,改進的演算法與C4.5演算法比較,試驗結果表明,在預測精度和運行速度上都占優勢。 由於PSO演算法用於分類問題還處於初期,因此要將其運用到大規模的應用中還要大量的研究。3總結 分類是數據挖掘的主要研究內容之一,本文對分類演算法進行了分析,從而便於對已有演算法進行改進。未來的數據分類方法研究更多地集中在智能群分類領域,如蟻群演算法、遺傳演算法、微粒群演算法等分類研究上以及混合演算法來進行分類。總之,分類方法將朝著更高級、更多樣化和更加綜合化的方向發展。參考文獻: 邵峰晶,於忠清.數據挖掘原理與演算法.中國水利水電出版社,2003. 陳文偉,黃金才.數據倉庫與數據挖掘.人民郵電出版社,2004. L.Jiang,H.Zhang,Z.CaiandJ.Su,EvolutionalNaiveBayes,tsApplication,ISICA2005,pp.344-350,. Langley,P.,Sage,S,,,pp.339-406. Friedman,N.,Greiger,D.,Goldszmidt,M.,BayesianNetworkClassifiers,MachineLearning29103-130. T.Mitchell.MachineLearning.NewYork:McGraw-HillPress,1997. 曾黃麟.粗糙理論以及應用.重慶大學出版社,1996. 高海兵、高亮等.基於粒子群優化的神經網路訓練演算法研究.電子學報,2004,9. 熊勇,陳德釗,胡上序.基於旋轉曲面變換PSO演算法的神經網路用於胺類有機物毒性分類.分析化學研究報告,2006,3. 喬玉龍,潘正祥,孫聖和.一種改進的快速K近鄰分類演算法.電子學報,2005,6. 張國英,沙芸,江惠娜.基於粒子群優化的快速KNN分類演算法.山東大學學報,2006,6. 黃景濤,馬龍華,錢積新.一種用於多分類問題的改進支持向量機.浙江大學學報,2004,12. 毛建洋,黃道.一種新的支持向量機增量演算法.華東理工大學學報,2006,8. 吳正龍,王儒敬等.基於蟻群演算法的分類規則挖掘演算法.計算機工程與應用,2004. 高亮,高海兵等.基於粒子群優化演算法的模式分類規則獲取.華中科技大學學報.2004,11. 延麗萍,曾建潮.利用多群體PSO生成分類規則.計算機工程與科學,2007,2.

⑻ 常用統計學方法

統計方法
統計方法是指有關收集、整理、分析和解釋統計數據,並對其所反映的問題作出一定結論的方法。統計方法是一種從微觀結構上來研究物質的宏觀性質及其規律的獨特的方法。統計方法是適用於所有學科領域的通用數據分析方法,只要有數據的地方就會用到統計方 法。隨著人們對定量研究的日益重視,統計方法已被應用到自然科學和社會科學的眾多領域,統計學也已發展成為由若干分支學科組成的學科體系。可以說,幾乎所有的研究領域都要用到統計方法,比如政府部門、學術研究領域、日常生活中、公司或企業的生產經營管理中都要用到統計
統計方法是指有關收集、整理、分析和解釋統計數據的方法。
統計方法
統計資料豐富且錯綜復雜,要想做到合理選用統計分析方法並非易事。對於同一個資料,若選擇不同的統計分析方法處理,有時其結論是截然不同的。
正確選擇統計方法的依據是:
①根據研究的目的,明確研究試驗設計類型、研究因素與水平數;
②確定數據特徵(是否正態分布等)和樣本量大小;
③ 正確判斷統計資料所對應的類型(計量、計數和等級資料),同時應根據統計方法的適宜條件進行正確的統計量值計算;
最後,還要根據專業知識與資料的實際情況,結合統計學原則,靈活地選擇統計分析方法。
統計方法
統計分類
1 計量資料的統計方法
分析計量資料的統計分析方法可分為參數檢驗法和非參數檢驗法。
參數檢驗法主要為t檢驗和方差分析(ANOVA,即F檢驗)等,兩組間均數比較時常用t檢驗和u檢驗,兩組以上均數比較時常用方差分析;非參數檢驗法主要包括秩和檢驗等。t檢驗可分為單組設計資料的t檢驗、配對設計資料的t檢驗和成組設計資料的t檢驗;當兩個小樣本比較時要求兩總體分布為正態分布且方差齊性,若不能滿足以上要求,宜用非參數方法(秩和檢驗)。方差分析可用於兩個以上樣本均數的比較,應用該方法時,要求各個樣本是相互獨立的隨機樣本,各樣本來自正態總體且各處理組總體方差齊性。根據設計類型不同,方差分析中又包含了多種不同的方法。對於定量資料,應根據所採用的設計類型、資料所具備的條件和分析目的,選用合適的統計分析方法,不應盲目套用t檢驗和單因素方差分析。
統計方法
2 計數資料的統計方法
計數資料的統計方法主要針對四格表和R×C表利用
檢驗進行分析。 四格表資料:組間比較用
檢驗或u檢驗,若不能滿足 檢驗:當計數資料呈配對設計時,獲得的四格表為配對四格表,其用到的檢驗公式和校正公式可參考書籍。 R×C表可以分為雙向無序,單向有序、雙向有序屬性相同和雙向有序屬性不同四類,不同類的行列表根據其研究目的,其選擇的方法也不一樣,具體見表1。
3 等級資料的統計方法
等級資料(有序變數)是對性質和類別的等級進行分組,再清點每組觀察單位個數所得到的資料。在臨床醫學資料中,常遇到一些定性指標,如臨床療效的評價、疾病的臨床分期、病症嚴重程度的臨床分級等,對這些指標常採用分成若干個等級然後分類計數的辦法來解決它的量化問題,這樣的資料統計上稱為等級資料。

⑼ k近鄰演算法精確度的提高有什麼科學性,先進性和獨特之處

K近鄰(k-Nearest Neighbour,KNN)分類演算法,是一個理論上比較成熟的方法,也是最簡單的機器學習演算法之一。該方法的思路是:如果一個樣本在特徵空間中的k個最相似(即特徵空間中最鄰近)的樣本中的大多數屬於某一個類別,則該樣本也屬於這個類別。
K-近鄰法就是一種基於文本特徵向量空間模型表示的文本分類方法,有很多優點,演算法簡單,易於實現,分類精度較高。

⑽ k近鄰演算法如何做回歸分析

有兩類不同的樣本數據,分別用藍色的小正方形和紅色的小三角形表示,而圖正中間的那個綠色的圓所標示的數據則是待分類的數據。也就是說,現在, 我們不知道中間那個綠色的數據是從屬於哪一類(藍色小正方形or紅色小三角形),下面,我們就要解決這個問題:給這個綠色的圓分類。我們常說,物以類聚,人以群分,判別一個人是一個什麼樣品質特徵的人,常常可以從他/她身邊的朋友入手,所謂觀其友,而識其人。我們不是要判別上圖中那個綠色的圓是屬於哪一類數據么,好說,從它的鄰居下手。但一次性看多少個鄰居呢?從上圖中,你還能看到:
如果K=3,綠色圓點的最近的3個鄰居是2個紅色小三角形和1個藍色小正方形,少數從屬於多數,基於統計的方法,判定綠色的這個待分類點屬於紅色的三角形一類。 如果K=5,綠色圓點的最近的5個鄰居是2個紅色三角形和3個藍色的正方形,還是少數從屬於多數,基於統計的方法,判定綠色的這個待分類點屬於藍色的正方形一類。 於此我們看到,當無法判定當前待分類點是從屬於已知分類中的哪一類時,我們可以依據統計學的理論看它所處的位置特徵,衡量它周圍鄰居的權重,而把它歸為(或分配)到權重更大的那一類。這就是K近鄰演算法的核心思想。
KNN演算法中,所選擇的鄰居都是已經正確分類的對象。該方法在定類決策上只依據最鄰近的一個或者幾個樣本的類別來決定待分樣本所屬的類別。
KNN 演算法本身簡單有效,它是一種 lazy-learning 演算法,分類器不需要使用訓練集進行訓練,訓練時間復雜度為0。KNN 分類的計算復雜度和訓練集中的文檔數目成正比,也就是說,如果訓練集中文檔總數為 n,那麼 KNN 的分類時間復雜度為O(n)。
KNN方法雖然從原理上也依賴於極限定理,但在類別決策時,只與極少量的相鄰樣本有關。由於KNN方法主要靠周圍有限的鄰近的樣本,而不是靠判別類域的方法來確定所屬類別的,因此對於類域的交叉或重疊較多的待分樣本集來說,KNN方法較其他方法更為適合。
K 近鄰演算法使用的模型實際上對應於對特徵空間的劃分。K 值的選擇,距離度量和分類決策規則是該演算法的三個基本要素: K 值的選擇會對演算法的結果產生重大影響。K值較小意味著只有與輸入實例較近的訓練實例才會對預測結果起作用,但容易發生過擬合;如果 K 值較大,優點是可以減少學習的估計誤差,但缺點是學習的近似誤差增大,這時與輸入實例較遠的訓練實例也會對預測起作用,是預測發生錯誤。在實際應用中,K 值一般選擇一個較小的數值,通常採用交叉驗證的方法來選擇最優的 K 值。隨著訓練實例數目趨向於無窮和 K=1 時,誤差率不會超過貝葉斯誤差率的2倍,如果K也趨向於無窮,則誤差率趨向於貝葉斯誤差率。 該演算法中的分類決策規則往往是多數表決,即由輸入實例的 K 個最臨近的訓練實例中的多數類決定輸入實例的類別 距離度量一般採用 Lp 距離,當p=2時,即為歐氏距離,在度量之前,應該將每個屬性的值規范化,這樣有助於防止具有較大初始值域的屬性比具有較小初始值域的屬性的權重過大。 KNN演算法不僅可以用於分類,還可以用於回歸。通過找出一個樣本的k個最近鄰居,將這些鄰居的屬性的平均值賦給該樣本,就可以得到該樣本的屬性。更有用的方法是將不同距離的鄰居對該樣本產生的影響給予不同的權值(weight),如權值與距離成反比。該演算法在分類時有個主要的不足是,當樣本不平衡時,如一個類的樣本容量很大,而其他類樣本容量很小時,有可能導致當輸入一個新樣本時,該樣本的K個鄰居中大容量類的樣本佔多數。 該演算法只計算「最近的」鄰居樣本,某一類的樣本數量很大,那麼或者這類樣本並不接近目標樣本,或者這類樣本很靠近目標樣本。無論怎樣,數量並不能影響運行結果。可以採用權值的方法(和該樣本距離小的鄰居權值大)來改進。
該方法的另一個不足之處是計算量較大,因為對每一個待分類的文本都要計算它到全體已知樣本的距離,才能求得它的K個最近鄰點。目前常用的解決方法是事先對已知樣本點進行剪輯,事先去除對分類作用不大的樣本。該演算法比較適用於樣本容量比較大的類域的自動分類,而那些樣本容量較小的類域採用這種演算法比較容易產生誤分。
實現 K 近鄰演算法時,主要考慮的問題是如何對訓練數據進行快速 K 近鄰搜索,這在特徵空間維數大及訓練數據容量大時非常必要。

閱讀全文

與螞蚱優化演算法與k近鄰有什麼關系相關的資料

熱點內容
噴油螺桿製冷壓縮機 瀏覽:578
python員工信息登記表 瀏覽:376
高中美術pdf 瀏覽:160
java實現排列 瀏覽:512
javavector的用法 瀏覽:981
osi實現加密的三層 瀏覽:231
大眾寶來原廠中控如何安裝app 瀏覽:913
linux內核根文件系統 瀏覽:242
3d的命令面板不見了 瀏覽:525
武漢理工大學伺服器ip地址 瀏覽:148
亞馬遜雲伺服器登錄 瀏覽:524
安卓手機如何進行文件處理 瀏覽:70
mysql執行系統命令 瀏覽:929
php支持curlhttps 瀏覽:142
新預演算法責任 瀏覽:443
伺服器如何處理5萬人同時在線 瀏覽:250
哈夫曼編碼數據壓縮 瀏覽:424
鎖定伺服器是什麼意思 瀏覽:383
場景檢測演算法 瀏覽:616
解壓手機軟體觸屏 瀏覽:348