這個範例說明如何產生受監督相似度測量所用的嵌入功能。
想像一下,您在建立手動相似度評估時所獲得的大小寫資料集相同:
功能 | 類型 |
---|---|
價格 | 正整數 |
大小 | 正浮點值 (單位為平方公尺) |
郵遞區號 | 整數 |
臥室數量 | 整數 |
房屋類型 | 「value_family」、「多戶」、「公寓」或「公寓」的文字值 |
車庫 | 0/1 沒有/是 |
顏色 | 多值類別:從「白色」、「黃色」、「綠色」等標準顏色中的一或多個值。 |
預先處理資料
您必須先預先處理資料,才能使用特徵資料做為輸入內容。預先處理步驟是以您在建立手動相似度測量時採取的步驟為準。以下是重點摘要:
功能 | 類型或發布 | 動作 |
---|---|---|
價格 | Poisson 分配 | 量化並縮放至 [0,1]。 |
大小 | Poisson 分配 | 量化並縮放至 [0,1]。 |
郵遞區號 | 類別 | 轉換為經度和緯度、量化並縮放為 [0,1]。 |
臥室數量 | 整數 | 將離群值裁剪至 [0,1]。 |
房屋類型 | 類別 | 轉換為單一程式碼編碼。 |
車庫 | 0 或 1 | 保持原樣。 |
顏色 | 類別 | 轉換為 RGB 值,並以數值資料的形式處理。 |
如要進一步瞭解單一程式碼編碼,請參閱嵌入:類別輸入資料。
選擇預測者或自動編碼器
如要產生嵌入,您可以選擇自動編碼器或預測器。請注意,預設選項為自動編碼器。如果資料集中的特定特徵具有相似性,請改為選擇預測器。讓我們看看完整情況。
訓練預測器
您必須選擇這些功能做為 DNN 訓練標籤,以便決定範例之間的相似性。假設價格是判斷不同房屋相似度的重要程度。
選擇價格做為訓練標籤,然後將其從輸入特徵資料中移除 DNN。使用所有其他特徵做為輸入資料,訓練 DNN。訓練時,損失函式只是預測價格和實際價格之間的 MSE。如要瞭解如何訓練 DNN,請參閱訓練類神經網路。
訓練自動編碼器
請按照下列步驟操作,在資料集中訓練自動編碼器:
- 確認 Autoencoder 的隱藏層小於輸入和輸出層。
- 按照受監督相似度測量所述,計算每個輸出的損失。
- 將每個輸出的損失加總加總,以建立損失函式。務必為每項特徵平均分配損失。舉例來說,由於系統會將色彩資料處理為 RGB,因此每個 RGB 輸出的權重為 1/3。
- 訓練 DNN。
從 DNN 擷取嵌入
訓練 DNN 後 (無論是預測器或自動編碼器),請從 DNN 中擷取範例的嵌入。使用範例的特徵資料做為輸入內容,即可讀取嵌入,並讀取最終隱藏層的輸出內容。這些輸出內容會成為嵌入向量。請記住,類似房屋的向量應該比相近房屋的向量更近。
接下來,您將瞭解如何使用它們的嵌入向量量化範例的相似性。