FM算法介紹

概述

FM (Factorization Machine) 算法可進行迴歸和二分類預測,它的特色是考慮了特徵之間的相互做用,是一種非線性模型,目前FM算法是推薦領域被驗證的效果較好的推薦方案之一,在諸多電商、廣告、直播廠商的推薦領域有普遍應用。算法

PAI平臺的FM算法基於阿里內部大數據的錘鍊,具有性能優越、效果突出的特色。具體使用方式能夠參見首頁模板:性能

使用FM算法總體流程須要包含FM訓練和FM預測組件,能夠搭配評估組件使用。學習

輸入數據要求

目前PAI的FM算法只支持libsvm格式的數據,數據須要包含兩列,分別是特徵列和目標列。大數據

  • 目標列:Double類型
  • 特徵列:String類型,特徵要以k:v格式輸入,特徵直接以逗號分隔

如圖:spa

組件說明

1.FM訓練

在「參數設置」中能夠設置迴歸或者分類兩種模式:blog

PAI命令

參數 解釋 取值
tensorColName 訓練的特徵列名 (kv格式的字符串,例如"1:1.0,3:1.0",特徵的id必須是非負整數,取值範圍是[0,Long.MAX_VALUE),能夠不連續) 必選
labelColName label列名 (要求是數值類型,若是任務類型是binary_classification,那麼label值必須是0或1) 必選
task 任務類型 必選,"regression" or "binary_classification"
numEpochs 迭代數 可選,默認值10
dim 因子數,字符串,用逗號分隔的三個整數,表示0次項、線性項、二次項的長度 可選,默認值 "1,1,10"
learnRate 學習率 可選, 默認值 0.01
lambda 正則化係數,字符串,用逗號分隔的三個浮點數,表示0次項、線性項、二次項的正則化係數 可選, 默認值 "0.01,0.01,0.01"
initStdev 參數初始化標準差 可選, 默認值0.05

備註1:字符串

  • 如遇到訓練發散,可適當下降學習率的值

2.FM預測

PAI命令

參數 解釋 取值
predResultColName 預測結果列名 可選,默認"prediction_result"
predScoreColName 預測得分列名 可選,默認"prediction_score"
predDetailColName 詳細預測信息列名 可選,默認"prediction_detail"
keepColNames 保持到輸出結果表的列 可選,默認全選

評估結果

在首頁模板案例的數據狀況下,使用PAI FM生成的模型能夠達到接近0.97的AUCget


原文連接
本文爲雲棲社區原創內容,未經容許不得轉載。直播

相關文章
相關標籤/搜索