返回博客列表

逻辑回归深度解析

深入解析逻辑回归在推荐系统排序中的应用,包括模型原理、特征工程和效果评估。

2024-02-095 分钟阅读Yaron
#排序算法#机器学习#评估指标

逻辑回归深度解析

你好呀!如果说ItemCF是一位只关心商品之间"人情世故"的老掌柜,那**逻辑回归(Logistic Regression, LR)**就是一位能洞察所有蛛丝马迹的"神探夏洛克"!

这位大侦探的出现,是推荐系统发展史上的一个里程碑。因为他第一个宣告:"所有信息都是线索,都对我的推理有用!"

一、核心思想:把推荐变成一场"概率破案"

逻辑回归侦探的思路非常清奇,他彻底改变了游戏规则。他不再问"A和B有多像?",而是问一个直击灵魂的问题:

"根据我目前掌握的所有线索,这个用户,下一秒会'点击'(或'购买')这个课程的概率,究竟是百分之多少?"

他把推荐问题,从一个"相似度计算题",变成了一个"是/否"的概率预测题。这个概率,就是他破案的最终结论。

二、大侦探的"四步推理法"

为了算出这个概率,逻辑回归侦探有他独门的一套"四步推理法"。我们来看看他是如何为小明同学,推理他会不会点击**"初二物理竞赛课"**的。

第一步:收集所有线索 (特征工程)

这是逻辑回归最强大的地方。他会像一个真正的侦探一样,不放过任何蛛丝马迹,把所有关于**用户(U)、物品(I)、场景(C)**的线索都收集起来,制作成一张"线索清单"(也就是我们的特征向量)。

线索清单示例

  • 用户线索U: 年级=初一, 历史购买过物理课=是, 所在城市=北京...
  • 物品线索I: 科目=物理, 课程价格=5000元, 难度=竞赛级...
  • 场景线索C: 当前时间=晚上9点, 设备=手机, 所在页面=首页...

第二步:评估线索的重要性 (学习权重 w)

侦探的经验告诉他,不同的线索,重要性天差地别。比如,"历史购买过物理课"这条线索,就比"所在城市=北京"要重要得多。

模型在训练过程中,会为每一条线索都学习到一个"重要性分数",这个分数就叫权重 (Weight, w)。

  • 正权重:代表这条线索是"积极信号",会增加用户点击的可能性。
    • 历史购买过物理课=是 -> 权重可能是 +2.5 (非常积极!)
  • 负权重:代表这条线索是"消极信号",会降低点击的可能性。
    • 课程价格=5000元 -> 权重可能是 -1.8 (太贵了,有点劝退)
    • 年级=初一 vs 课程难度=竞赛级 -> 这俩不匹配,也会产生负向作用。

第三步:汇总所有线索,形成"初步判断" (线性求和)

现在,侦探要把所有线索的重要性加起来,形成一个总的"嫌疑指数"。这个过程就是一个简单的数学公式:

初步判断 (z) = (w1 * 线索1) + (w2 * 线索2) + ... + (wn * 线索n) + b

他把每条线索的"数值"乘以它的"重要性分数(权重)",然后全部加起来,得到了一个总分z。这个z可正可负,数值可大可小。

第四步:用"概率转换器"给出最终结论 (Sigmoid函数)

第三步得到的总分z还很粗糙,可能等于5.8,也可能等于-10.2。但这并不是我们想要的"概率"。我们需要一个0到100%之间的概率值。

这时,逻辑回归侦探会掏出他的祖传法宝——Sigmoid函数,我们叫它"概率转换器"。

这个"概率转换器"非常神奇,像一个管道:

  • 你从一头扔进去一个很大的正数(比如z=10,说明积极线索很多),它从另一头吐出来的数就非常接近1(比如0.999,代表99.9%的概率会点击)。
  • 你扔进去一个很大的负数(比如z=-8,说明消极线索占优),它吐出来的数就非常接近0(比如0.0003,代表几乎不可能点击)。
  • 你扔进去一个0(说明积极和消极线索差不多抵消了),它正好吐出来0.5(代表50%的概率,五五开)。

经过这最后一步,逻辑回归侦探就完成了一次完美的推理,给出了一个明确的概率,比如"小明同学有73%的可能性会点击这门物理竞赛课"。

三、大侦探的"阿喀琉斯之踵":线性思维

逻辑回归侦探虽然能力超群,但他有一个致命的弱点:他的思维是线性的,有点"直脑筋"。

他无法自己想明白**"年轻女孩"** 和 "口红" 这两个独立的线索组合在一起时,会产生1+1 > 10的化学反应。你必须手动地创造出一个新的线索,叫做**"年轻女孩_爱_口红"**,然后喂给他,他才能理解。

这个过程,就叫人工特征交叉。在深度学习出现之前,算法工程师们每天都在绞尽脑汁地做这件事,苦不堪言。而之后的所有模型(如FM、DeepFM),几乎都是为了解决逻辑回归的这个"直脑筋"问题而诞生的。