top of page
作家相片Edgar Mueller

探索數據空間:非監督學習的基礎知識

已更新:2023年4月6日



非監督學習和監督學習是機器學習領域中兩個重要的概念。監督學習已經在前面的提問中詳細介紹了,現在我們來瞭解一下非監督學習。 非監督學習是一種機器學習技術,其目的是通過在資料中尋找模式和結構來學習資料的內在特徵,而不需要任何人工標注的輸出。簡單來說,非監督學習的任務是從無標籤的資料中找到一些結構和模式,這些結構和模式可以説明我們更好地理解資料本身以及資料背後的分佈和規律。 與監督學習不同,非監督學習沒有預定義的輸出,而是試圖發現資料中的隱藏結構和模式。非監督學習通常用於資料採擷和探索性資料分析,其中資料不是為了回答某個特定問題而收集的,而是為了尋找資料的內在結構、關係和異常。

非監督學習涉及的方向非常廣泛,主要包括以下幾個方面: 1.聚類(Clustering):將資料分成若干個組,每個組內的資料相似度較高,組間的相似度較低。 2.降維(Dimensionality Reduction):將高維資料轉換為低維資料,以便於視覺化或更有效地處理資料。 3.異常檢測(Anomaly Detection):識別資料集中的異常值或異常情況。 4.關聯規則挖掘(Association Rule Mining):發現資料集中的頻繁項集和關聯規則。 5.生成模型(Generative Models):根據資料分佈來生成新的資料,例如生成對抗網路(GANs)。

瞭解非監督學習的概念可以通過以下途徑:

1. 閱讀相關書籍,如《機器學習》(周志華),其中有一章專門講解了非監督學習。 2. 學習線上課程,如Coursera和edX等平臺上的免費課程,其中包含有關非監督學習的內容。 3. 閱讀學術論文,可以從Google學術搜索中獲取一些最新的研究進展。


非監督學習的研究方向非常廣泛,包括但不限於以下幾個方面:

· 聚類分析(Clustering Analysis):將資料集中的樣本分為若干個互不相交的子集,每個子集稱為一個“簇”。聚類分析是非監督學習中最常見的技術之一,可以應用在許多領域,例如市場分析、圖像分類等。

· 降維分析(Dimensionality Reduction):將高維度的資料轉換為低維度的資料,以方便可視化或提高模型訓練的效率。降維分析的方法有很多,例如主成分分析(PCA)、線性判別分析(LDA)等。

· 潛在語義分析(Latent Semantic Analysis):用於發現文本資料中的潛在主題,常用於文本分類、推薦系統等領域。

· 獨立成分分析(Independent Component Analysis):將複雜的資料拆分成互相獨立的成分,以便進行更深入的分析。

· 異常檢測(Anomaly Detection):用於檢測數據中的異常值,通常用於監控系統、金融領域等。

· 關聯規則挖掘(Association Rule Mining):從大量數據中發現項目之間的關聯性,常用於購物籃分析、推薦系統等。



瞭解非監督學習的概念,可以從以下幾個方面入手:

1. 瞭解非監督學習的基本概念:非監督學習是指在無標籤的數據中尋找規律和結構的一種機器學習方法。相比於監督學習,非監督學習沒有事先給定的目標變量,因此需要學習者自行發現數據中的隱含模式。

2. 瞭解非監督學習的常見演算法:非監督學習的演算法包括聚類、降維和密度估計等,其中聚類是最常見的一種方法。聚類的目標是將相似的數據點分組,不同組之間的數據點差異較大。降維的目的是從高維數據中提取出低維特徵,使得數據可以更容易地理解和分析。密度估計則是對數據的密度進行建模,從而找到數據中的潛在結構。

3. 瞭解非監督學習的應用:非監督學習在自然語言處理、圖像處理、推薦系統等領域中有廣泛的應用。例如,在自然語言處理中,可以使用主題模型來發現文本中的主題,或者使用詞向量模型來表示單詞的語義資訊;在圖像處理中,可以使用降維演算法來提取圖像的特徵,從而實現圖像的分類和檢索;在推薦系統中,可以使用聚類算


在瞭解了非監督學習的概念後,可以通過以下方式深入學習:

1. 讀相關書籍:一些經典的非監督學習書籍包括《統計學習方法》、《機器學習》、《聚類分析》等。

2. 線上課程和教程:通過在Coursera、edX、Udemy等線上教育平臺上尋找非監督學習課程或教程,例如Coursera的“機器學習中的非監督學習”課程。

3. 看論文:閱讀經典的非監督學習論文,瞭解前沿研究和最新技術進展。一些經典的非監督學習論文包括《Autoencoder》、《Generative Adversarial Network (GAN)》、《t-SNE》等。

4. 練手項目:找一些非監督學習的練手項目,通過實踐來加深對非監督學習的理解,例如聚類、異常檢測、降維等。可以使用Python中的scikit-learn、TensorFlow等庫進行實現。


bottom of page