監督式相似度評估

您可以將特徵資料縮減為稱為嵌入資料的表示法,然後比較嵌入資料,而非比較手動合併的特徵資料。嵌入資料是透過在特徵資料上訓練監督式深層類神經網路 (DNN) 產生的。嵌入會將特徵資料對應至嵌入空間中的向量,而向量通常比特徵資料的維度少。在「機器學習速成課程」的嵌入單元中,我們會討論嵌入,而「類神經網路」單元則會討論類神經網路。相似範例的嵌入向量 (例如同一位使用者觀看的類似主題 YouTube 影片) 最終會在嵌入空間中靠近。監督相似度評估會使用這個「相似度」來量化兩個範例的相似度。

請注意,我們討論監督式學習的目的,只是為了建立相似度評估指標。演算法會使用相似度評估值 (無論是手動或監督),執行無監督的叢集分析。

手動和監督評估方式的比較

下表說明根據需求使用手動或監督相似度評估方式的時機。

規定手動監督式
是否可消除相關特徵中的多餘資訊? 否,您需要調查特徵之間的任何相關性。 是,DNN 會移除重複的資訊。
是否提供計算相似度的洞察資料? 不行,無法解讀嵌入資料。
是否適合用於只有少數特徵的小型資料集? 是。 否,小型資料集無法提供足夠的訓練資料來訓練 DNN。
是否適合用於包含大量特徵的大型資料集? 否,手動從多個地圖項目中移除重複資訊,然後再將這些項目合併,是非常困難的作業。 是的,DNN 會自動移除多餘的資訊,並結合功能。

建立受監督的相似度評估

以下簡要說明建立受控相似度評估的程序:

輸入特徵資料。選擇 DNN:自動編碼器或預測器。
      擷取嵌入。選擇評估方式:點積、餘弦或歐氏距離。
圖 1:建立監督式相似性量測的步驟。

本頁會說明 DNN,而後續頁面則會介紹其他步驟。

根據訓練標籤選擇 DNN

訓練 DNN 時,請使用相同的特徵資料做為輸入和標籤,將特徵資料縮減為低維度嵌入資料。舉例來說,在房屋資料的情況下,DNN 會使用價格、大小和郵遞區號等特徵,預測這些特徵本身。

自動編碼器

透過預測輸入資料本身,學習輸入資料嵌入資料的 DNN,稱為自編碼器。由於自編碼器的隱藏層比輸入和輸出層小,因此自編碼器會被迫學習輸入特徵資料的壓縮表示法。訓練 DNN 後,請從最小的隱藏層中擷取嵌入資料,以便計算相似度。

這張圖表顯示相同輸入和輸出資料的大量節點,這些節點已壓縮為中間的三個節點。五個隱藏層。
圖 2:自動編碼器架構。

預測器

自動編碼器是產生嵌入資料最簡單的選擇。不過,如果在判斷相似度時,某些特徵比其他特徵更重要,那麼自動編碼器就不是最佳選擇。舉例來說,假設在房屋資料中,價格比郵遞區號更重要。在這種情況下,請只使用重要特徵做為 DNN 的訓練標籤。由於這個 DNN 會預測特定輸入特徵,而非所有輸入特徵,因此稱為「預測器」 DNN。通常應從最後一個嵌入層中擷取嵌入內容。

這張圖表顯示輸入向量中的大量節點,經過三個隱藏層的縮減後,縮減為三個節點的層,從中擷取嵌入值。最後一個輸出層是預測的標籤值。
圖 3:預測器架構。

選擇標籤時,請注意下列事項:

  • 請優先使用數值特徵,而非類別特徵,因為數值特徵的損失更容易計算及解讀。

  • 請從 DNN 輸入中移除用來做為標籤的特徵,否則 DNN 會使用該特徵來完美預測輸出內容。(這是標籤外洩的極端例子)。

根據您選擇的標籤,產生的 DNN 可能是自編碼器或預測器。