未來面試之四 聚類

2021-08-19 13:25:52 字數 3496 閱讀 6713

胡說八道

時間過的真快呀,又到了週六了。還趕上五一小長假,別提有多愜意啦。還是放假比較好呀,唉。可是學習還是得學呀,不然誰來為你的未來負責,今天來寫寫非監督學習:聚類

學習一般來說,訓練深度學習網路的方法主要有四種:監督學習、非監督學習、半監督學習和強化學習(強化學習可能是後來才有的,以前沒有聽說過這個東西)。

先說說監督學習:通過已有的訓練樣本來訓練,從而得到乙個最優模型,再利用這個模型將所有新的資料樣本對映為相應的輸出結果,對輸出結果進行簡單的判斷從而四線分類的目的。(這句話是搜來的)

無監督學習:一看名字就知道是跟監督學習對著來的,無監督學習就是事先沒有訓練資料樣本,直接對資料進行建模,比如說聚類

半監督學習:是監督學習和非監督學習相結合的一種方法半監督學習使用大量的未標記資料,以及同時使用標記資料,來進行模式識別工作。(這個我了解的也不多)

強化學習:又稱勵志學習、評價學習(有興趣的話可以蒐集網路上的知識進行學習,還是挺有趣的)

監督學習與非監督學習的乙個最本質的區別用簡單容易理解的話來說就是:監督學習的應用要求資料集事先有標籤,而非監督學習則不需要標籤

聚類定義

將物理或抽象物件的集合分成由類似的物件組成的多個類的過程稱為聚類。由聚類所生成的簇是一組資料物件的集合,這些物件與同一簇中的物件相似度較高,與其它簇中的物件相似度較低相似度是根據描述物件的屬性值來度量的,距離是經常採用的度量方式。

聚類常用演算法

聚類的演算法hin多,我曾經從一本書上看到過好多的聚類演算法,有的甚至連聽都沒聽說過,但是呢,現階段知道辣麼多也沒用哈,因此,這裡參考《資料探勘r語言實戰》那本書給大家介紹常用的五種:k-均值聚類、k-中心點聚類、密度聚類、系譜聚類、期望最大化聚類。需要說明的是,這些演算法本身無所謂優劣,而最終運用於資料的效果卻存在好壞差異

必備概念

講聚類之前我們需要提前了解幾個概念,首先第乙個就是簇的概念:聚類將資料集中的樣本劃分為若干個通常是不想交的子集,每個子集稱為乙個「簇」。實際上簇這個詞沒有乙個比較規範而且準確的定義,所以說上邊這個定義是方便理解簇的概念而做的乙個簡單的解釋。

類的度量:常用的類的度量方法有兩種,距離相似係數。距離用來度量樣品之間的相似性,相似係數用來度量變數之間的相似性。

距離中我們常採用:閔可夫斯基距離蘭氏距離馬哈拉諾比斯距離(具體公式就不寫了,度娘都知道)

相似係數:通常用夾角余弦

相關係數來衡量。

根據聚類的原理可以將聚類分為:劃分聚類、層次聚類、基於密度的聚類、基於網格的聚類、基於模型的聚類

k-均值聚類

k-均值演算法是最早出現的聚類分析演算法之一,它是一種快速聚類方法,但對於異常值極其敏感,因此較適合處理分布集中的大樣本資料集

它的思路是:以隨機選取的k(預設類別數)個樣本作為起始中心點,將其餘樣本歸入相似度最高中心點所在的簇,再確立當前簇中樣本座標的均值為新的中心點,依次迴圈迭代下去,直至所有樣本所屬類別不再變動。至於什麼是相似度,什麼是簇,就不細說了,因為我也說不好。別說錯了誤導大家。

k-中心點聚類

k-中心點演算法與k-均值演算法在原理上十分接近,它是針對於k-均值演算法易受極值影響這一缺點的改進演算法。在原理上的差異在於選擇各類別中心點時不採樣本均值點,而在類別內選取到其餘樣本距離之和最小的樣本為中心

系譜聚類

系譜聚類的過程可以通過類似於系譜圖的形式呈現出來,相對於k-均值聚類演算法與k-中心點演算法,系譜演算法的突出特點在於不需要事先設定類別數k,這是因為它每次迭代過程僅將距離最近的兩個樣本/簇聚為一類,其運作過程將自然得到k=1至k=n(n為待分類樣本總數)個類別的聚類結果。

密度聚類

dbscan演算法是基於密度的聚類方法中最常用的代表演算法之一,它相對於k-均值、k-中心點以及系譜聚類這些基於距離的聚類演算法,其優勢在於彌補了他們只能發現「類圓形」聚類簇的缺陷,該類演算法由於是基於「密度」來聚類的,可以在具有雜訊的空間資料庫中發現任意形狀的簇

首先明確其輸入值為待聚類資料集、半徑e(即為例圖中各圓形的半徑大小)與密度閾值minpts,具體步驟如下:

1,從資料集中選擇乙個未處理的樣本點,,如我們第一次選擇圖i中的點1;

2,以該點1為圓心,作半徑為e的圓,由於圓內圈入點的個數為3,滿足密度閾值minpts,因此稱點1為核心物件(用黑色實心圓點表示),且將圈內的4個點形成乙個簇,其中點1直接密度可達周圍的3個灰色實心圓點;

3,同理考察其他樣本點,重複步驟2若干次,得到圖iii,其中點1直接密度可達核心物件3,且點2密度可達點3;

4,當該過程進行到圖iv,我們發現點4的e鄰域內僅有2個點,小於閾值minpts,因此,點4為邊緣點(非核心物件),然後繼續考察其他點;

5,當所有物件都被考察,該過程結束,得到圖viii。我們看到橢圓形內有若干核心物件和邊緣點,這些點都是密度相連的。

6,最後一步即為將各點歸類,見圖ix

dbscan演算法的不足在於它對於使用者定義引數半徑e及密度閾值minpts很敏感,引數取值細微的不同可能會導致差別很大的結果,而且引數的選取無規矩可循,只能不斷嘗試靠經驗確定。

期望最大化聚類

期望最大化演算法(以下簡稱em演算法)的思路十分巧妙,在使用該演算法進行聚類時,它將資料集看作乙個含有隱性變數的概率模型,並以實現模型最優化,即獲取與資料本身性質最契合的聚類方式為目的,通過「反覆估計」模型引數找出最優解,同時給出相應的最優類別數k。

該演算法相比於前面介紹的幾種聚類演算法要更為抽象,以下我們繼續以圖標的方式來直觀解說。下圖中,圖ii是對圖i中的10個樣本點隨機聚類的初始結果,可以明顯看到聚類效果很差;隨後進行第

一、二次迭代,聚類結果分別如圖iii、iv所示,每一次都比前一次更契合資料,至v完成第三次迭代,聚類結束。

總結

聚類之層次聚類 基於劃分的聚類(

目錄 一層次聚類 層次聚類的原理及分類 層次聚類的流程 層次聚類的優缺點 二劃分聚類法k means kmeans演算法的原理 k均值的優缺點及分類 k means與dbscan的區別 k means注意問題 三基於密度的聚類 dbscan的概念 簇的生成原理及過程 根據資料點的密度分為三類點 db...

聚類演算法之K均值聚類

k means聚類方法 1.介紹 k均值聚類是基於樣本集合劃分的聚類演算法。由於每個樣本在劃分的過程中只能屬於乙個類別,所以k means演算法屬於硬聚類。2.演算法過程 k均值聚類演算法是乙個迭代的過程,每次迭代包括兩個步驟 3.複雜度 k均值聚類演算法的複雜度o mnk 其中k表示類別數,m表示...

文字挖掘之聚類演算法之CLARA聚類演算法

clara 大型應用中的聚類方法 kaufmann and rousseeuw in 1990 不考慮整個資料集,而是選擇資料的一小部分作為樣本.clara演算法的步驟 它從資料集中抽取多個樣本集,對每個樣本集使用pam,並以最好的聚類作為輸出 clara 演算法的步驟 1 for i 1 to v...