無監督學習 沒有標籤算法
聚類(Clustering)函數
圖上的數據看起來能夠分紅兩個分開的點集(稱爲簇),這就是爲聚類算法。學習
此後咱們還將提到其餘類型的非監督學習算法,它們能夠爲咱們找到其餘類型的結構或者其餘的一些模式,而不僅是簇。3d
K-均值是最普及的聚類算法,算法接受一個未標記的數據集,而後將數據聚類成不一樣的組。blog
K-均值是一個迭代算法,假設咱們想要將數據聚類成 n 個組,其方法爲:
首先選擇𝐾個隨機的點,稱爲聚類中心(cluster centroids);
對於數據集中的每個數據,按照距離𝐾箇中心點的距離,將其與距離最近的中心點關
聯起來,與同一個中心點關聯的全部點聚成一類。
計算每個組的平均值,將該組所關聯的中心點移動到平均值的位置。
重複步驟 2-4 直至中心點再也不變化。基礎
K-均值算法也能夠很便利地用於將數據分爲許多不一樣組,即便在沒有很是明顯區分的組
羣的狀況下也能夠。下圖所示的數據集包含身高和體重兩項特徵構成的,利用 K-均值算法將
數據分爲三類,用於幫助肯定將要生產的 T-恤衫的三種尺寸。方法
在運行 K-均值算法的以前,咱們首先要隨機初始化全部的聚類中心點,下面介紹怎樣
作:im
沒有所謂最好的選擇聚類數的方法,一般是須要根據不一樣的問題,人工進行選擇的。選
擇的時候思考咱們運用 K-均值算法聚類的動機是什麼,而後選擇能最好服務於該目的標聚
類數。數據
咱們可能會獲得一條相似於這樣的曲線。像一我的的肘部。這就是「肘部法則」所作的,
讓咱們來看這樣一個圖,看起來就好像有一個很清楚的肘在那兒。好像人的手臂,若是你伸
出你的胳膊,那麼這就是你的肩關節、肘關節、手。這就是「肘部法則」。你會發現這種模式,
它的畸變值會迅速降低,從 1 到 2,從 2 到 3 以後,你會在 3 的時候達到一個肘點。在此之
後,畸變值就降低的很是慢,看起來就像使用 3 個聚類來進行聚類是正確的,這是由於那個
點是曲線的肘點,畸變值降低得很快,𝐾 = 3以後就降低得很慢,那麼咱們就選𝐾 = 3。當你
應用「肘部法則」的時候,若是你獲得了一個像上面這樣的圖,那麼這將是一種用來選擇聚類
個數的合理方法。img
例如,咱們的 T-恤製造例子中,咱們要將用戶按照身材聚類,咱們能夠分紅 3 個尺
寸:𝑆,𝑀,𝐿,也能夠分紅 5 個尺寸𝑋𝑆,𝑆,𝑀,𝐿,𝑋𝐿,這樣的選擇是創建在回答「聚類後咱們製造
的 T-恤是否能較好地適合咱們的客戶」這個問題的基礎上做出的。
聚類的衡量指標
(1). 均一性:𝑝 (2). 完整性:𝑟 (3). V-measure: (4). 輪廓係數 (5). ARI