KNN與K-Means算法的區(qū)別

內(nèi)容參考:
Kmeans算法與KNN算法的區(qū)別
kNN與kMeans聚類算法的區(qū)別

對(duì)比項(xiàng) KNN K-Means
目的 為了確定一個(gè)點(diǎn)的分類 為了將一系列點(diǎn)集分成K類
分類算法 聚類算法
監(jiān)督學(xué)習(xí)(有學(xué)習(xí)語(yǔ)料) 無監(jiān)督學(xué)習(xí)(沒有學(xué)習(xí)語(yǔ)料)
沒有明顯的前期訓(xùn)練過程,屬于memory-based learning 有明顯的前期訓(xùn)練過程
K的含義 “k”是用來計(jì)算的相鄰數(shù)據(jù)數(shù)。來了一個(gè)樣本x,要給它分類,即求出它的y,就從數(shù)據(jù)集中,在x附近找離它最近的K個(gè)數(shù)據(jù)點(diǎn),這K個(gè)數(shù)據(jù)點(diǎn),類別c占的個(gè)數(shù)最多,就把x的label設(shè)為c “k”是類的數(shù)目。K是人工固定好的數(shù)字,假設(shè)數(shù)據(jù)集合可以分為K個(gè)簇,由于是依靠人工定好,需要一點(diǎn)先驗(yàn)知識(shí)
K值確定后每次結(jié)果固定 K值確定后每次結(jié)果可能不同,從 n個(gè)數(shù)據(jù)對(duì)象任意選擇 k 個(gè)對(duì)象作為初始聚類中心,隨機(jī)性對(duì)結(jié)果影響較大
時(shí)間復(fù)雜度 O(n) O(nkt),t為迭代次數(shù)
常用距離 曼哈頓距離、歐式距離和閔可夫斯基距離 歐幾里得距離
相似點(diǎn) 都包含這樣的過程:給定一個(gè)點(diǎn),在數(shù)據(jù)集中找離它最近的點(diǎn)。即二者都用到了NN(Nears Neighbor)算法,一般用KD樹來實(shí)現(xiàn)NN。

KNN-近鄰算法-分類算法

思想:在訓(xùn)練集中數(shù)據(jù)和標(biāo)簽已知的情況下,輸入測(cè)試數(shù)據(jù),將測(cè)試數(shù)據(jù)的特征與訓(xùn)練集中對(duì)應(yīng)的特征進(jìn)行相互比較,找到訓(xùn)練集中與之最為相似的前K個(gè)數(shù)據(jù),則該測(cè)試數(shù)據(jù)對(duì)應(yīng)的類別就是K個(gè)數(shù)據(jù)中出現(xiàn)次數(shù)最多的那個(gè)分類。

算法的描述為:
1)計(jì)算測(cè)試數(shù)據(jù)與各個(gè)訓(xùn)練數(shù)據(jù)之間的距離(一般使用歐氏距離或曼哈頓距離);


image

2)按照距離的遞增關(guān)系進(jìn)行排序;
3)選取距離最小的K個(gè)點(diǎn);
4)確定前K個(gè)點(diǎn)所在類別的出現(xiàn)頻率;
5)返回前K個(gè)點(diǎn)中出現(xiàn)頻率最高的類別作為測(cè)試數(shù)據(jù)的預(yù)測(cè)分類。

K-Means聚類算法

把n個(gè)對(duì)象根據(jù)他們的屬性分為k個(gè)聚類以便使得所獲得的聚類滿足:同一聚類中的對(duì)象相似度較高;而不同聚類中的對(duì)象相似度較小

Kmeans算法的缺陷:

  • 聚類中心的個(gè)數(shù)K 需要事先給定,但在實(shí)際中這個(gè) K 值的選定是非常難以估計(jì)的,很多時(shí)候,事先并不知道給定的數(shù)據(jù)集應(yīng)該分成多少個(gè)類別才最合適
  • Kmeans需要人為地確定初始聚類中心,不同的初始聚類中心可能導(dǎo)致完全不同的聚類結(jié)果。(可以使用Kmeans++算法來解決)
    針對(duì)上述第2個(gè)缺陷,可以使用Kmeans++算法來解決
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容