用Python進行無監督學習的幾種最熱門的聚類演算法

2021-09-07 08:10:15 字數 2539 閱讀 3885

無監督學習是機器學習技術中的一類,用於發現資料中的模式。本文介紹用python進行無監督學習的幾種聚類演算法,包括k-means聚類、分層聚類、t-sne聚類、dbscan聚類等。

無監督學習是機器學習技術中的一類,用於發現資料中的模式。無監督演算法的資料沒有標註,這意味著只提供輸入變數(x),沒有相應的輸出變數。在無監督學習中,演算法自己去發現資料中有意義的結構。

facebook首席ai科學家yan lecun解釋說,無監督學習——即教機器自己學習,不需要明確地告訴它們所做的每一件事情是對還是錯,是「真正的」ai的關鍵。

在監督學習中,系統試圖從之前給出的例子中學習。反之,在無監督學習中,系統試圖從給出的例子中直接找到模式。因此,如果資料集有標記,那麼它是有監督問題,如果資料集無標記,那麼它是乙個無監督問題。

如上圖,左邊是監督學習的例子; 我們使用回歸技術來尋找特徵之間的最佳擬合線。而在無監督學習中,輸入是基於特徵分離的,**則取決於它屬於哪個聚類(cluster)。

重要術語

在本文中,我們使用iris資料集(鳶尾花卉資料集)來進行我們的第一次**。該資料集包含150條記錄的一組資料,有5個屬性——花瓣長度,花瓣寬度,萼片長度,萼片寬度和類別。三個類別分別是iris setosa(山鳶尾),iris virginica(維吉尼亞鳶尾)和iris versicolor(變色鳶尾)。對於我們的無監督演算法,我們給出鳶尾花的這四個特徵,並**它屬於哪一類。我們在python中使用sklearn library來載入iris資料集,並使用matplotlib來進行資料視覺化。以下是**片段。

紫羅蘭色:山鳶尾,綠色:維吉尼亞鳶尾,黃色:變色鳶尾

在聚類中,資料被分成幾個組。簡單地說,其目的是將具有相似特徵的組分開,並將它們組成聚類。

視覺化示例:

在上圖中,左邊的影象是未完成分類的原始資料,右邊的影象是聚類的(根據資料的特徵對資料進行分類)。當給出要**的輸入時,就會根據它的特徵在它所屬的聚類中進行檢查,並做出**。

k-means是一種迭代聚類演算法,它的目的是在每次迭代中找到區域性最大值。首先,選擇所需數量的聚類。由於我們已經知道涉及3個類,因此我們通過將引數「n_clusters」傳遞到k-means模型中,將資料分組為3個類。

現在,隨機將三個點(輸入)分成三個聚類。基於每個點之間的質心距離,下乙個給定的輸入被分為所需的聚類。然後,重新計算所有聚類的質心。

聚類的每個質心是特徵值的集合,定義生成的組。檢查質心特徵權重可以定性地解釋每個聚類代表什麼型別的組。

我們從sklearn庫匯入k-means模型,擬合特徵並進行**。

顧名思義,分層聚類是一種構建聚類層次結構的演算法。該演算法從分配給它們自己的乙個cluster的所有資料開始,然後將最近的兩個cluster加入同乙個cluster。最後,當只剩下乙個cluster時,演算法結束。

分層聚類的完成可以使用樹狀圖來表示。下面是乙個分層聚類的例子。 資料集可以在這裡找到:

python中的分層聚類實現:

t-sne聚類是用於視覺化的無監督學習方法之一。t-sne表示t分布的隨機近鄰嵌入。它將高維空間對映到可以視覺化的2或3維空間。

具體而言,它通過二維點或三維點對每個高維物件進行建模,使得相似的物件由附近的點建模,而不相似的物件很大概率由遠離的點建模。

這裡iris資料集具有四個特徵(4d),它被變換並以二維圖形表示。類似地,t-sne模型可以應用於具有n個特徵的資料集。

scikit-learn實現提供了eps和min_samples引數的預設值,但這些引數通常需要調整。eps引數是在同一鄰域中考慮的兩個資料點之間的最大距離。min_samples引數是被認為是聚類的鄰域中的資料點的最小量。

有監督學習和無監督學習 無監督學習

一.無監督學習包含的演算法 聚類 kmeans聚類演算法 降維 pca 之所以叫無監督學習 是因為模型是從無標籤的資料開始學習,沒有目標值。二.kmeans聚類 1.聚類演算法步驟 定義 將高維資料轉化為低維資料的過程,在此過程中可能會捨棄原有資料,創造新的變數 作用 降低原始資料的維數 複雜度 損...

無監督學習與監督學習

1.無監督和有監督的理解方法有很多,主要可以從以下幾方面來理解 1 無監督與監督學習的區別在於乙個無教學值,乙個有教學值。但是,個人認為他們的區別在於無監督學習一般是採用聚簇等演算法來分類不同樣本。而監督學習一般是利用教學值與實際輸出值產生的誤差,進行誤差反向傳播修改權值來完成網路修正的。但是無監督...

監督學習和無監督學習

機器學習要解決的第一類問題是分類問題。機器學習的另一項任務是回歸,它主要用於 數值型資料。大多數人可能都見過回歸的例子 資料擬合曲線 通過給定資料點的最優擬合曲線。分類和回歸都屬於監督學習,之所以稱之為監督學習,是因為這類演算法必須知道 什麼,即目標變數的分類資訊。與監督學習對應的是無監督學習,此時...