無監督學習是機器學習領域內的一種學習方式。本文將給大家解釋他的基本概念,告訴大家無監督學習可以用用到哪些具體場景中。

最後給大家舉例說明2類無監督學習的思維:聚類、降維。以及具體的4種演算法。

什麼是無監督學習?

無監督學習是機器學習中的一種訓練方式/學習方式

下面通過跟監督學習的對比來理解無監督學習:

  1. 監督學習是一種目的明確的訓練方式,你知道得到的是什麼;而無監督學習則是沒有明確目的的訓練方式,你無法提前知道結果是什麼
  2. 監督學習需要給數據打標籤;而無監督學習不需要給數據打標籤
  3. 監督學習由於目標明確,所以可以衡量效果;而無監督學習幾乎無法量化效果如何

簡單總結一下:

無監督學習是一種機器學習的訓練方式,它本質上是一個統計手段,在沒有標籤的數據里可以發現潛在的一些結構的一種訓練方式。

它主要具備3個特點:

  1. 無監督學習沒有明確的目的
  2. 無監督學習不需要給數據打標籤
  3. 無監督學習無法量化效果

這麼解釋很難理解,下面用一些具體案例來告訴大家無監督學習的一些實際應用場景,通過這些實際場景,大家就能了解無監督學習的價值。

無監督學習的使用場景

案例1:發現異常

有很多違法行為都需要"洗錢",這些洗錢行為跟普通用戶的行為是不一樣的,到底哪裡不一樣?

如果通過人為去分析是一件成本很高很複雜的事情,我們可以通過這些行為的特徵對用戶進行分類,就更容易找到那些行為異常的用戶,然後再深入分析他們的行為到底哪裡不一樣,是否屬於違法洗錢的範疇。

通過無監督學習,我們可以快速把行為進行分類,雖然我們不知道這些分類意味著什麼,但是通過這種分類,可以快速排出正常的用戶,更有針對性的對異常行為進行深入分析。

案例2:用戶細分

這個對於廣告平台很有意義,我們不僅把用戶按照性別、年齡、地理位置等維度進行用戶細分,還可以通過用戶行為對用戶進行分類。

通過很多維度的用戶細分,廣告投放可以更有針對性,效果也會更好。

案例3:推薦系統

大家都聽過"啤酒+尿不濕"的故事,這個故事就是根據用戶的購買行為來推薦相關的商品的一個例子。

比如大家在淘寶、天貓、京東上逛的時候,總會根據你的瀏覽行為推薦一些相關的商品,有些商品就是無監督學習通過聚類來推薦出來的。系統會發現一些購買行為相似的用戶,推薦這類用戶最"喜歡"的商品。

常見的2類無監督學習演算法

常見的2類演算法是:聚類、降維

聚類:簡單說就是一種自動分類的方法,在監督學習中,你很清楚每一個分類是什麼,但是聚類則不是,你並不清楚聚類後的幾個分類每個代表什麼意思。

降維:降維看上去很像壓縮。這是為了在儘可能保存相關的結構的同時降低數據的複雜度。

「聚類演算法」K均值聚類

K均值聚類就是制定分組的數量為K,自動進行分組。

K 均值聚類的步驟如下:

  1. 定義 K 個重心。一開始這些重心是隨機的(也有一些更加有效的用於初始化重心的演算法)
  2. 尋找最近的重心並且更新聚類分配。將每個數據點都分配給這 K 個聚類中的一個。每個數據點都被分配給離它們最近的重心的聚類。這裡的「接近程度」的度量是一個超參數——通常是歐幾里得距離(Euclidean distance)。
  3. 將重心移動到它們的聚類的中心。每個聚類的重心的新位置是通過計算該聚類中所有數據點的平均位置得到的。

重複第 2 和 3 步,直到每次迭代時重心的位置不再顯著變化(即直到該演算法收斂)。

其過程如下面的動圖:

「聚類演算法」層次聚類

如果你不知道應該分為幾類,那麼層次聚類就比較適合了。層次聚類會構建一個多層嵌套的分類,類似一個樹狀結構。

層次聚類的步驟如下:

  1. 首先從 N 個聚類開始,每個數據點一個聚類。
  2. 將彼此靠得最近的兩個聚類融合為一個。現在你有 N-1 個聚類。
  3. 重新計算這些聚類之間的距離。
  4. 重複第 2 和 3 步,直到你得到包含 N 個數據點的一個聚類。
  5. 選擇一個聚類數量,然後在這個樹狀圖中劃一條水平線。

「降維演算法」主成分分析 - PCA

主成分分析是把多指標轉化為少數幾個綜合指標。

主成分分析經常用減少數據集的維數,同時保持數據集的對方差貢獻最大的特徵。這是通過保留低階主成分,忽略高階主成分做到的。這樣低階成分往往能夠保留住數據的最重要方面。

變換的步驟:

  1. 第一步計算矩陣 X 的樣本的協方差矩陣 S(此為不標準PCA,標準PCA計算相關係數矩陣C)
  2. 第二步計算協方差矩陣S(或C)的特徵向量 e1,e2,…,eN和特徵值 , t = 1,2,…,N
  3. 第三步投影數據到特徵向量張成的空間之中。利用下面公式,其中BV值是原樣本中對應維度的值。

「降維演算法」奇異值分解 - SVD

奇異值分解(Singular Value Decomposition)是線性代數中一種重要的矩陣分解,奇異值分解則是特徵分解在任意矩陣上的推廣。在信號處理、統計學等領域有重要應用。

了解更多奇異值分解的信息,可以查看維基百科

本文首發於 easyAI人工智慧知識庫-無監督學習


推薦閱讀:
相关文章