Factorization Machines 演算法 - Amazon SageMaker

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Factorization Machines 演算法

Factorization Machines 演算法為一般用途的監督式學習演算法,可以用來分類與迴歸任務。該演算法旨在延伸線性模型的用途,藉此在高維度稀疏資料集內,以經濟實惠方式擷取各特徵之間的互動。舉例來說,因式分解機模型可以在點閱預測系統中,觀察特定頁面類別上所放置的特定廣告類別,並擷取該頁面上的廣告點擊率模式。對於處理點閱預測、項目推薦等高維度稀疏資料集的任務,Factorization Machines 將會是您的最佳選擇。

注意

Amazon SageMaker 實作 Factorization Machines 演算法只會考慮特徵之間的成對 (第二順序) 互動。

Factorization Machines 演算法的輸入/輸出介面

您可以在二元分類模式或迴歸模式中,執行 Factorization Machines 演算法。在每一種模式下,系統皆會連同訓練通路的資料集,將資料集一併提供給測試通道。評分取決於所使用的模式。在迴歸模式中,測試資料集會使用根均方錯誤 () 進行評分RMSE。而二元分類模式則會透過二元交叉熵 (損失函式)、準確度 (閾值 = 0.5) 與 F1 分數 (閾值 = 0.5),對測試資料集進行評分。

對於訓練,Factorization Machines 演算法目前僅支援採用 Float32 張量 (tensor) 的 recordIO-protobuf 格式。該演算法的使用案例主要是針對稀疏資料,所以 CSV 並不適合。檔案模式與管道模式皆支援已包裝 recordIO 的 protobuf。

對於推論,因式分解機演算法支援 application/jsonx-recordio-protobuf 格式。

  • 對於二進位分類問題,演算法預測評分和標籤。標籤是一個數字,可以是 01。分數是一個數字,表示演算法相信標籤為 1 的強度。演算法首先會計算分數,然後從分數值衍生標籤。如果分數大於或等於 0.5,則標籤為 1

  • 對於迴歸問題,只會傳回分數,且它是預測值。例如,如果 Factorization Machines 用來預測影片分級,則分數是預測的分級值。

如需訓練與推論檔案格式的詳細資訊,請參閱Factorization Machines 範例筆記本

EC2 Factorization Machines 演算法的執行個體建議

Amazon SageMaker Factorization Machines 演算法具有高度可擴展性,可以跨分散式執行個體進行訓練。我們建議使用稀疏和密集資料集的CPU執行個體進行訓練和推論。在某些情況下,使用一或多個密集資料GPUs進行訓練可能會帶來一些好處。使用 的訓練GPUs僅適用於密集資料。將CPU執行個體用於稀疏資料。因式分解機演算法可支援 P2、P3、G4dn 和 G5 執行個體,進行訓練和推論。

Factorization Machines 範例筆記本

如需使用 SageMaker Factorization Machines 演算法分析MNIST資料集中從零到九個手寫數字影像的範例筆記本,請參閱使用 的 Factorization Machines 簡介MNIST。如需如何建立和存取可用於在 中執行範例的 Jupyter 筆記本執行個體的說明 SageMaker,請參閱 Amazon SageMaker Notebook 執行個體。建立並開啟筆記本執行個體後,請選取SageMaker 範例索引標籤以查看所有 SageMaker 範例的清單。使用 Factorization Machines 演算法的範例筆記本位於 Amazon 演算法簡介一節。若要開啟筆記本,請按一下其使用標籤,然後選取建立複本