目錄聚類的方法
效能度量
距離計算
k-means演算法
學習向量量化
密度聚類
層次聚類
聚類任務,簡而言之就是無監督學習,訓練資料沒有標籤,目的是為了分類。
現實生活中常常會有這樣的問題:缺乏足夠的先驗知識,因此難以人工標註類別或進行人工類別標註的成本太高。很自然地,我們希望計算機能代我們完成這些工作,或至少提供一些幫助。根據類別未知(沒有被標記)的訓練樣本解決模式識別中的各種問題,稱之為無監督學習。常用的無監督學習演算法主要有主成分分析方法pca等,等距對映方法、區域性線性嵌入方法、拉普拉斯特徵對映方法、黑塞區域性線性嵌入方法和區域性切空間排列方法等。
將物理或抽象物件的集合分成由類似的物件組成的多個類的過程被稱為聚類。由聚類所生成的簇是一組資料物件的集合,這些物件與同乙個簇中的物件彼此相似,與其他簇中的物件相異。「物以類聚,人以群分」,在自然科學和社會科學中,存在著大量的分類問題。聚類分析又稱群分析,它是研究(樣品或指標)分類問題的一種統計分析方法。聚類分析起源於分類學,但是聚類不等於分類。聚類與分類的不同在於,聚類所要求劃分的類是未知的。聚類分析內容非常豐富,有系統聚類法、有序樣品聚類法、動態聚類法、模糊聚類法、圖論聚類法、聚類預報法等。
分類簡單來說,就是根據文字的特徵或屬性,劃分到已有的類別中。也就是說,這些類別是已知的,通過對已知分類的資料進行訓練和學習,找到這些不同類的特徵,再對未分類的資料進行分類。而聚類的理解更簡單,就是你壓根不知道資料會分為幾類,通過聚類分析將資料或者說使用者聚合成幾個群體,那就是聚類了。聚類不需要對資料進行訓練和學習。分類屬於監督學習,聚類屬於無監督學習。一般來講,聚類有三種方法:
聚類效能度量也稱作聚類「有效性指標」,用於評估聚類的好壞。
聚類的效能度量大致有兩類,乙個是聚類結果與某個參考模型進行比較,稱為「外部指標」。另一類直接考察聚類結果而不利用任何參考模型,稱為內部指標。
常用的外部指標:
距離計算用於衡量樣本間的相似度。與我們常見的距離計算類似。
比較常用的是閔科夫斯基距離。
當p=1時 即曼哈頓距離。
當p=2時 即最直觀的歐氏距離。
還有一些距離,如內積距離等。
以上這些距離都用於衡量有序屬性。對於無序屬性需要自行定義,可採用vdm距離。
k-means演算法的主要思想是,預先定義k個聚類中心,然後訓練時對於每個樣本,都標定與其最近的那個聚類中心,然後更新每個聚類中心的位置為屬於該聚類中心的所有樣本點的均值。然後不斷迭代,直到聚類均值向量穩定,或者小於一定誤差,從而對樣本進行聚類。
部分可以用「肘部法則」,更多的需要根據實際問題,人工地做出選擇。
初始均值向量可以隨機選擇k個樣本點,將這幾個樣本點作為初始均值向量進行迭代。
選擇不同的初始點作為初始均值向量,迭代執行k-means演算法,然後在多次執行結果中,選擇最好即代價誤差最小的結果,作為演算法的最終結果。從而找到全域性最優解。
lvq與k-means演算法類似,也是試圖找到一組原型向量來刻畫聚類結構。但不同的是,lvq可以借助樣本的標記來輔助學習。
與k-means類似,lvq也是不斷迭代,最後得到最優的解。
流程如下
lvq演算法同樣人為設定乙個t值,也就是要劃分的類別數。然後初始化t個原型向量——不是像k-means一樣隨便選,而是根據預先說好了的標記,在隨便選。比如預先說好要選3個好瓜,2個壞瓜,就從好瓜中隨便選三個,壞瓜中隨便選兩個。
選好初始原型向量後,開始和k-means一樣不斷迴圈計算距離,不過lvq每次都是隨機抽取訓練資料集的乙個樣本,計算抽到的樣本和各個原型向量的距離。距離最短的乙個原型向量,如果其標記和抽到的標記一樣,就「使原型向量向抽到的樣本向量靠近」,如果其標記和抽到的標記不同,就「使原型向量向抽到的樣本向量遠離」——如此迴圈往復直到達到最大迴圈次數,或者原型向量的調整幅度已經小於某個閥值。
基於密度的聚類演算法主要的目標是尋找被低密度區域分離的高密度區域。與基於距離的聚類演算法不同的是,基於距離的聚類演算法的聚類結果是球狀的簇,而基於密度的聚類演算法可以發現任意形狀的聚類,這對於帶有噪音點的資料起著重要的作用。密度聚類演算法通常從樣本的密度來考察樣本之間的可連線性,並基於可連線樣本不斷擴充套件聚類簇以獲得最終的結果。
dbscan可以獲得邊界任意形狀的簇。
層次聚類方法的基本思想是:通過某種相似性測度計算節點之間的相似性,並按相似度由高到低排序,逐步重新連線個節點。該方法的優點是可隨時停止劃分,主要步驟如下:agens是一種採用自底向上的策略的聚類演算法。簡單來說,就是不斷合併小的聚類簇,直到合併到符合要求的聚類簇為止。
其中,合併的判斷依照聚類間的距離來判定。
流程如下:
第九章 聚類 Clustering
unsupervised learning 無監督學習 訓練樣本的標記資訊是未知的,通過對無標記資料的訓練來找出資料內部所存在的規律以及性質 為進一步的資料分析打下基礎 知識點 聚類過程中會自動的形成簇結構,但是演算法對簇 cluster 沒有概念,這是在運算過程中自己出現的聚類現象,這個簇的名字需...
第九章 類的重用
一 什麼是繼承?1 繼承是類與類間的關係。2 是一種什麼 是 什麼的關係。3 繼承功能就是用來解決 重用的問題。1 繼承 是一種建立新類的方式,python中,1 新建的類可以繼承乙個或多個父類。2 父類可以成為基類或超類。3 所新建的類稱為子類或派生類。2 類繼承的數量 python中類的繼承分為...
第九章(筆記)
轉移指令是可以修改ip,或同時修改cs和ip的指令 offset 是用於提取標號偏移位址的操作符 jmp在第2章裡說到時用於修改ip或同時修改cs和ip的轉移指令,這章裡單獨的jmp指令是乙個無條件的轉移指令 jmp short 標號 是實現段內短轉移 jmp near ptr 標號 是實現段內近轉...