文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

小白都能懂的推荐算法入门之一,从上古时期的LR开始聊起

2024-12-03 09:41

关注

大家好,不知不觉做推荐系统挺久的了,很多同学私信让我好好写写推荐系统相关,但苦于沉淀不够有货倒不出。最近充电总结了一段时间,有了一些积累,给大家好好说道说道。

既然是介绍推荐系统,我们先从最简单最简单的模型开始说起。说起推荐算法领域最简单的模型,自然就是LR了。

LR模型是机器学习领域的基础模型,我想接触过这个领域的同学应该都不陌生。

为什么是LR

什么是LR大家已经知道了,但还有一个问题却没有回答。那就是为什么早年的时候LR模型如此受欢迎呢?难道就不能使用其他一些看起来高级一些的模型吗,比如决策树、随机森林、GBDT?不是说XGBoost在各种比赛的效果都非常好吗?为什么业内不用来做推荐呢?

尤其是当我读到2014年Facebook推出的GBDT+LR的paper的时候,这种困惑更是明显。

这篇论文非常经典,在业内地位很重,甚至可以说是推荐领域必读的paper之一。深度学习兴起之前很多公司和厂商都沿用了这个做法,论文当中的做法倒是不难,说是创新的做法,其实本质上就是将GBDT预测的时候样本落到的节点作为multi-hot编码,然后将这个编码之后的01的数组看成是新的特征,然后用这个转换过的特征来训练LR。可以说它的本质仍然是训练LR,所谓的GBDT只不过是一个编码器。

我当时看这篇paper的时候,里面的意思都已经理解了,但是有一个问题怎么也没想明白。既然都用GBDT了,结合其他模型不香吗,非得结合LR?

我估计这个问题很多在推荐领域的从业者可能也未必答得上来,我先卖个关子,把问题记在这里,等会晚点来回答。

推荐领域的特征有什么特点?

在算法领域,提及效果,特征和模型两者是一体两面,很难剥离。好的模型也需要好的特征支撑,好的特征需要好的模型才能充分表达。所以我们先把模型的问题放一放,来思考一下特征。

推荐领域主要的特征只有三块,以电商为例,分别是item,user和context。也就是商品,用户以及环境信息,比如时间,地点,展示位置等等。context特征比较少,来来回回就那么几样,我们也先放一放。剩下的就是用户和商品,围绕用户和商品我们形成的特征主要又可以分成两个部分,一个是基础特征,另外一个是统计特征。

以商品举例,基础特征就是品牌、价格、类目、评价,统计特征就是最近点击率、最近销售额、最近转化率等等。这些特征按照类别分又可以分为两种,一种是浮点型的连续型特征,一种是类别特征,比如商品的类目,品牌等等。到这里都很正常,没有什么难理解,或者是不可思议的部分。

我们接着往下,再来看看模型要预测的目标——点击率。我们结合一下模型预测的目标再来观察一下前面列举的特征,你会发现,除了历史点击率、历史转化率等少数几个指标和最终的结果是强正相关之外,其他的浮点型的特征没有特别明显的正相关或者是负相关。可以说商品的价格和点击率负相关吗?其实不太行,商品越便宜可能质量越差,反而不会有人点。用户的购买力呢?越有钱点的商品越多吗?也不成立。

正是因为上面说的这个原因,所以在推荐领域,效果很好的浮点型特征很少,大部分都是类别特征,也就是01特征。

所以你说GBDT、随机森林、XGboost这些模型的效果会很好吗?很难说,因为这些模型的长处往往都在浮点型特征,也就是连续型特征。这些树模型会设计规则对这些连续特征进行分段,如果大部分特征都是01特征,那还怎么分段呢?

所以,到这里也就回答了,为什么在深度学习模型兴起之前,推荐领域普遍都使用LR,而不是那些看着很牛的树模型。

LR模型的原理

LR模型也就是纯线性模型,它可以简单理解成若干个特征的加权和。每个特征的权重或大或小,最后累加在一起,得到一个预测的概率。这毫无毛病,也是学过的人都知道。

但我们往下一层,有没有想过这一点在推荐领域意味着什么呢?

意味着模型其实是”记住“了每个特征和最终结果的关系,我们把模型拟人化,把它看成一个机器人的话。机器人看到样本有特征A并且点击了,于是特征A的权重提升一点,样本有特征B但是没点击,于是把特征B的权重降低一些。模型就是在这样一个策略当中找到一个最佳的平衡。

这就意味着,一些容易被记忆的特征往往会发挥比较好的效果。比如男士通常会买烟,女士通常买口红,那么我们就可以设计男士_烟和女士_口红的组合特征。当模型看到大部分男士看到烟都点击了之后,它就能学到这个组合是一个强特征并给与一个比较高的权重。这样只要我们尽可能地找出这些特征的组合,那么模型就可以得到很好的效果。

所以到这里大家就明白了,LR模型在推荐领域发挥作用,本质上就是靠的“记性”。因为它可以记住那些类别特征以及类别特征的组合,所以它往往比那些看起来更高端的树模型效果要好。这也是为什么到了LR时代的后期,算法工程师们的工作就是整天挖掘一些类别特征的组合,以期望模型达到很好的效果。

LR模型的优缺点

到这里,关于LR模型在推荐领域的应用就差不多说完了,我们做一个简单的总结,首先从它的优点开始说起。

LR模型的优点教科书上已经说了很多了,比如训练速度快,由于参数空间比较小,LR模型可以迅速收敛,它的训练速度要比那些树模型以及后面的深度学习模型快得多。其次是可解释性强,由于我们可以查阅得到所有特征的权重,所以我们很容易解释究竟是什么特征发挥了作用,或者是什么特征拖了后腿。

但是LR在推荐领域也有一个很大的缺点,是什么呢,就是脏活累活很多。

因为几乎所有的特征组合都需要人工挖取,需要人工遍历很多特征组合,甚至是一一尝试找到最佳的组合。这个过程当中需要花费大量的人力,几乎可以说是纯堆人工。所以对于LR时代的算法工程师来说可能螺丝钉的感觉比现在还要严重得多,什么优化模型基本上是不用想了,LR这么简单的模型也没什么优化的空间,剩下的事情基本上就只有做特征做实验了。

 

俗话说得好,前辈的缺点就是后辈努力的方向。那么对于LR模型的这些缺点又该怎么弥补或者是优化呢?

本文转载自微信公众号「TechFlow」,可以通过以下二维码关注。转载本文请联系TechFlow公众号。

 

来源:TechFlow内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯