最近在学习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等