最近在學習CTR預測,在此做個總結,便於以後回憶。
CTR預測就是對用戶是否點擊廣告進行預測,其實可以看成二分類問題,即點和不點。因此,自然會想到用logistics迴歸來完成這個任務。
logistics迴歸(LR):
優點:
1、logistics輸出的是概率,可以較爲直觀的解釋用戶點擊廣告的機率
2、計算目標函數的複雜度O(N),計算速度快,所以比較適合處理大數據
缺點:
1、沒有考慮特徵之間的相關性,沒有特徵進行組合
2、爲了提高模型性能,在模型訓練之前,需要做很多的特徵工程
GDBT+LR:
使用GDBT的輸出作爲LR的輸入
優點:
1、使用GDBT可以組合特徵,增強特徵的表達能力
2、通過控制GDBT中樹的個數和每顆樹的樹葉個數來對數據進行降維
FM:
FM通過對每個特徵都學習一個隱變量,從而考慮到特徵之間的關係。
優點:
1、考慮特徵之間的關係,增強了模型的泛化能力
2、通過對目標函數巧妙的分解合併,可以O(N)時間複雜度下完成
3、適合處理稀疏數據。相對來說SVM就不能用來處理稀疏的數據。
補充:FM一般結合GDBT來提高模型性能,即用GDBT的輸出作爲FM的輸入
FFM:
FFM是在FM基礎上進行了改進,提出了filed概念。每個特徵在不同的filed中有不同的隱變量。
優點:
1、在FM模型的基礎,模型的性能得到進一步的提高
2、同樣適合處理稀疏數據
缺點:
1、FFM不像FM那樣可以對目標函數分解合併,在線性時間內完成函數的計算。在時間複雜度上要比FM要複雜。
以二次項爲例時間複雜要O(N^2)
也可以用常用的機器學習方法來完成CTR預測,如xgboost、SVM、RF等