首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

从LR到FFM\n(3)

从LR到FFM\n(3)

POLY2——特征交叉的开始但LR的表达能力毕竟是非常初级的。在“辛普森悖论”现象的存在下,只用单一特征进行判断,甚至会得出错误的结论。我们用一个简单的“辛普森悖论”的例子来解释一下为什么特征交叉是重要的。
假设下面是某APP男性用户和女性用户点击广告的数据:
男性用户
    点击    曝光    点击率
广告位A    8    530    1.51%
广告位B    51    1520    3.36%

女性用户
    点击    曝光    点击率
广告位A    201    2510    8.01%
广告位B    92    1010    9.11%

透过上面两个表格的数据来看,广告位B无论在男性用户还是女性用户中的点击率都高于广告位A,如果我们作为广告需求方构建的CTR模型够精准,理所应当会把广告预算分配给广告位B,而不是广告位A。

那么我们如果去掉性别这个维度,把数据汇总后会得出什么结论呢?
广告位    点击    总曝光    点击率
广告位A    209    3040    6.88%
广告位B    143    2530    5.65%

在汇总结果中,广告位A的点击率居然比广告位B高。我们如果据此进行广告预算的分配,将得出完全相反的结论。可这个结论明显是错误的,广告位A的综合点击率高仅仅是因为其女性用户更多,提高了整体点击率。如果你构建的CTR模型的表达能力不够,很可能被数据“欺骗”。

因此,从“辛普森悖论”中我们能够得出一个结论,低维特征由于对高维特征进行了合并,丢失掉了大量信息。而LR由于只是对单一特征做简单加权,不具备进行特征交叉生成高维特征的能力,所以表达能力是非常初级的。

针对这个问题,当时的算法工程师们经常采用手动组合特征,再通过各种分析手段筛选特征的方法。但这个方法无疑是残忍的,完全不符合“懒惰是程序员的美德”这一金科玉律。更遗憾的是,人类的经验往往有局限性,程序员的时间和精力也无法支撑其找到最优的特征组合。因此采用 PLOY2模型进行特征的“暴力”组合成为了可行的选择。



在上面POLY2二阶部分的目标函数中(上式省略一阶部分和sigmoid函数的部分),我们可以看到POLY2对所有特征进行了两两交叉,并对所有的特征组合赋予了权重wh(j1, j2)。POLY2无疑通过暴力组合特征的方式一定程度上解决了特征组合的问题。并且由于本质上仍是线性模型,其训练方法与LR并无区别,便于工程上的兼容。

\"image\"

但POLY2这一模型同时存在着两个巨大的缺陷:

    由于在处理互联网数据时,经常采用one-hot的方法处理id类数据,致使特征向量极度稀疏,POLY2进行无选择的特征交叉使原本就非常稀疏的特征向量更加稀疏,使得大部分交叉特征的权重缺乏有效的数据进行训练,无法收敛。

    权重参数的数量由n直接上升到n2,极大增加了训练复杂度。
返回列表