本文继续以Avazu-CTR赛题为背景,尝试采用FM(Factorization Machine,因子分解机)及FFM(Field-aware Factorization Machine,场感知因子分解机)来进行CTR预估任务。
本文的源码托管于我的Github:PnYuan - Kaggle_CTR,欢迎查看交流。
1.概念
商用推荐场景中的CTR预估工作易面临大规模稀疏数据的挑战。因子分解机( Factorization Machine, 简称FM )模型的引入正对于此,其通过对参数矩阵的低秩分解,来解决高维训练的低效问题。这里,首先示例性地介绍数据稀疏和特征组合的相关内容,然后引出FM模型及其拓展形式FFM。
1.1.数据稀疏
设用于CTR预估的原始数据如下表所示(表1):
时间戳(time) | 用户性别(sex) | 网站类型(st) | 广告类型(at) | 是否点击(clicked?) |
---|---|---|---|---|
16102206 | male | 1 | 2 | 1 |
16110218 | - | 3 | 1 | 0 |
16110222 | female | - | 6 | 1 |
类似数据中常包含大量离散型特征(categorical features),如上表中的特征“用户性别
,网站类型
”等,独热编码(One-hot)常被用