本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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/json
和 x-recordio-protobuf
格式。
-
對於二進位分類問題,演算法預測評分和標籤。標籤是一個數字,可以是
0
或1
。分數是一個數字,表示演算法相信標籤為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