什麼是分群?

當您想聽一些東西 (例如音樂) 時,其中一個方法就是尋找有意義的群組或集合。您可以按照類型將音樂分類,好友則可按十年分類音樂。您選擇將項目分組的方式,有助於您進一步瞭解這些音樂作為獨立音樂。您可能會發現對龐克搖滾具有很深的相依性,並進一步將音樂類型分成不同的做法或來自其他位置的音樂。另一方面,您的好友可以觀看 1980 年代的音樂,瞭解當時各類型音樂對社會氣候的影響。不論是哪一種情況,您和朋友都會學到音樂的有趣知識,即使您採取了不同做法也一樣。

在機器學習中,我們通常會將範例分組,以便瞭解機器學習系統中的主旨 (資料集)。將未加上標籤的範例分組稱為叢集

由於範例未加上標籤,因此叢集需要使用非監督式機器學習。如果範例已加上標籤,分群就會變成分類。如要進一步瞭解受監督和未受監督的方法,請參閱機器學習問題框架簡介

顯示三個叢集的圖表
圖 1:未加上標籤的範例以三個叢集分組。

您必須先找到類似的範例,才能將類似範例分組。 您可以測量範例的特徵資料與一個指標的「相似度測量」,藉此評估範例之間的相似性。如果每個範例是由一或兩項特徵定義,您就可以輕鬆評估相似度。舉例來說,你可以找到這名作者的相似書籍。隨著特徵的數量增加,建立相似度測量結果也會更為複雜。我們稍後會說明如何在各種情況下建立相似度測量結果。

分群的用途為何?

分群匯集於多個產業的各種用途。常見的分群應用程式包括:

  • 市場區隔
  • 社群網路分析
  • 搜尋結果分組
  • 醫學影像
  • 圖片區隔
  • 異常偵測

分群後,系統會為每個叢集指派一個稱為「叢集 ID」的數字。現在,您可以將範例中的整個特徵集縮減為叢集 ID。以簡單的叢集 ID 呈現複雜的範例,即可讓叢集發揮強大功能。擴充想法時,分群資料可以簡化大型資料集。

舉例來說,您可以按照不同功能將項目分組,如以下範例所示:

範例
  • 依亮度將星號分組。
  • 將基因資訊分類至分類的有機體。
  • 依主題將文件分組。

接著,機器學習系統會運用叢集 ID 簡化大型資料集的處理方式。因此,分群的輸出內容可做為下游機器學習系統的特徵資料。

在 Google,叢集內可用於一般化、資料壓縮和隱私權保護等產品,例如 YouTube 影片、Play 應用程式和音樂曲目。

一般化

如果叢集中的某些範例缺少特徵資料,您可以推斷叢集中其他範例的遺漏資料。

範例
較少的熱門影片會放在較熱門的影片中,以便推薦更適合的影片。

資料壓縮

如前文所述,叢集中所有範例的功能資料皆可替換為相關叢集 ID。這項取代功能可以簡化功能資料並節省儲存空間。大規模放大大型資料集時,上述優勢會變得更加明顯。此外,機器學習系統可能會使用叢集 ID 做為輸入內容,而非整個特徵資料集。降低輸入資料的複雜度,讓機器學習模型更簡單,且訓練速度更快。

範例
單一 YouTube 影片的特色資料可能包括:
  • 位置、時間和客層的觀眾資料
  • 含有時間戳記、文字和使用者 ID 的註解資料
  • 影片代碼
分群 YouTube 影片之後,您可以使用一組叢集 ID 取代這一組功能,進而壓縮資料。

隱私保護服務

您可以透過分群法使用者的方式保護隱私權,並將使用者資料與叢集 ID 建立關聯,而不是特定使用者。為了確保您無法把使用者資料與特定使用者建立關聯,叢集必須將足夠的使用者分組。

範例
假設您想為 YouTube 使用者新增錄影記錄與其使用 User-ID,不如依賴使用者 ID,而是改用叢集 ID。現在,您的模型無法將影片記錄與特定使用者建立關聯,但只能與代表大量使用者的叢集 ID 建立關聯。