【概念解析】全面理解经典逻辑回归模型在推荐系统中的应用

【概念解析】融合多种特征——逻辑回归推荐模型

  那么,本系列第三篇文章所介绍的是另外一个比较传统的经典推荐模型,逻辑回归模型,事实上在学习机器学习阶段的时候大家可能就已经在李航老师的《统计学习方法》或者周志华老师的西瓜书里面学习过逻辑回归的基本概念了,那如果说我们把这种成熟的机器学习技术应用到我们的推荐领域呢。显然,比起我们前面提及的协同过滤经典模型要更有优势。相比于协同过滤仅仅利用用户与物品的相互行为信息进行推荐,逻辑回归模型能够综合利用用户、物品、上下文等多种不同的特征。生成更为全面的推荐结果。

  另外一方面,逻辑回归的另一种表现形式“感知机”也是随后的深度学习推建模型的基础,它作为单一神经元结构存在于神经网络中。因此,为深度学习推荐系统的研究奠定了一个基础。也就变成了独立于CF的模型发展方向。这里给出的还是第一期的那张老图:我们可以看到LR所处的位置是非常关键的,在随后的演化过程中,无处不充斥着Logistic或者说Sigmoid。

Pic_1:早期经典推荐系统演化图

逻辑回归的核心原理简述

  Logistic Regression Classifier逻辑回归主要思想就是用最大似然概率方法构建出方程,为最大化方程,利用牛顿梯度上升求解方程参数。这种思维方法既具备其优势,同时也有着不可避免的缺陷。

  1. 优点:计算代价不高,易于理解和实现。
  2. 缺点:容易欠拟合,分类精度可能不高。
  3. 使用数据类型:数值型和标称型数据。

  其实Logistic回归就是一个线性分类模型,那我们这时候就想起我们的线性回归模型来了。那么我们如何去分辨二者或者有什么区别呢?其实,Logistic回归就是线性回归加了个归一化。他做的事情其实就是将线性回归输出的很大范围的数,压缩到0-1之间以一个概率的形式返回出来,所以逻辑回归模型也对预测可能性类的问题有着很好的可解释性。同时将较大范围的表示压缩到0-1之间也可以一定程度上消除离群点和噪声对数据表达的干扰。

  事实上Logistic回归也只是做了一件和简单的事情,那就是在原先的线性回归的基础上加了一层Logistic函数来归一化输出,其实就是我们学习深度学习当中的Sigmoid层的作用。我们给出线性回归和Logistic回归的对比图就一目了然了:

Pic_2:线性回归模型表示
Pic_3:Logistic回归模型表示

Logistic回归用于推荐

  相比于CF和MF去寻找用户与物品的相似度,并基于相似度矩阵进行推荐来说,逻辑回归将推荐问题看成一个简单的分类问题。通过预测用户正反馈的概率对物品进行排序,比如用户点击了一款商品、观看商品食品,这些均可以被表达为我们需要的正反馈。因此,逻辑回归模型将推荐问题转换为CTR(点击率)预测问题。直到现在我们开始频繁用深度学习去对Sequential behaviors(用户行为序列)处理来预测CTR,我们往往在输出最终预测结果之前也仍然需要时逻辑斯蒂回归模型来将我们的输出转化为归一化概率,由此观之,逻辑回归模型其实得到了很好的继承,并且广泛应用在现在的Model Based Recommending System。

Logistic 回归模型的推荐流程

  基于Logistic Regression的推荐过程遵循以下流程:

  首先,将用户画像信息(年龄、性别等会对推荐有帮助的个人显式或隐式信息)物品画像(物品的属性和描述)上下文信息(时间、地点以及季节等上下文信息)这些特征进行向量化,即将他们都转化成数值向量的形式。

  其次,确定优化的目标(如CTR),使用数据集的训练数据对Logistic模型进行训练,通过训练反馈定下Logistic回归模型的对应参数。此时就已经选训练好模型了。

  接下来,拿着Logistic模型去进行CTR的预测,将测试集的物品表征向量输入模型进行预测,经过Logistic模型的推断得到用户对该商品Item的CTR。(即完成一次预测过程)

  最后,通过对所有的商品的预测进行排序,列出Top-N高分的商品序列,用于推荐展示。

Logistic模型的推断预测过程

  当我们有一个新的物品出现的时候,Logistic模型是如何反应的呢:

  首先,将新物品的表征向量X=(x1,x2,…,xn)输入到模型中。然后,通过为各个特征赋予相应的权重(w1,w2,…,wn+1),来表示各特征的重要性差异,将各特征进行加权求和,得到XTw。接下来将XTw输入到Sigmoid中进行归一化,得到最终的预测结果。

Pic_4:Logistic回归模型推断过程

  其中,Sigmoid函数的具体形式为(大家应该很熟悉了):

  我们刚才也解释过了,由于Sigmoid的值域位于0-1之间,所以他对于预测点击率的物理意义上有着很好的可解释性。

Pic_5:Logistic函数的值域表示

  由此可见,我们在确定参数的过程中需要确定的就是特征向量的权重w向量。

  而对于如何训练模型去定好它的参数,使用的还是我们熟悉的梯度下降法(当然还可以使用牛顿法或者拟牛顿法),其中梯度下降法显然还是应用最广泛的,之前大家应该学习过多次,对此不再赘述推导过程。大家可以总结一下,无论是MF还是LR,在用梯度下降的过程中关键问题其实都是在于确定目标函数,再通过求导迭代来获得梯度下降的局部最优。

逻辑回归用于推荐的优势

  在深度学习模型大行其道之前,逻辑回归模型曾经在相当长的一段时间内是推荐系统、计算广告业界的主要选择之一,这也是我专门拿出一章来写它的原因。其实它所具备的优势特点在我们刚才的分析过程中展示得差不多了。总结一下,除了形式上适用于融合不同特征,形成较全面的推荐结果,其流行的主要原因还在于以下几个方面:数学含义上的支撑;拥有较强的可解释性;工程化的需求支持。

数学含义上的支撑

  Logistic回归作为广义线性模型的一种,它的假设是隐变量y服从伯努利分布。那么我们就从本文探讨的这个点击率预测的例子出发,在CTR预估这个问题上,“点击”事件的是否发生就是模型的因变量y,而用户是否点击广告是一个经典的掷偏心硬币的问题。因此,CTR模型的因变量显然是应该服从伯努利分布的。所以,采用Logistic回归模型作为CTR模型是符合“点击”这一事件的物理意义的。

  与之相比,线性回归作为广义线性模型的另一个特例,其假设是因变量y服从高斯分布,这明显不是点击这类二分类问题的数学假设。由此可见Logistic回归是从推荐场景的实际需求角度出发,解决了实际问题。

较强的可解释性

  其实刚才已经解释过其解释性强的原因了。直观地讲,逻辑回归模型的数学形式是各特征的加权和,再用上Sigmoid函数。在Logistic数学基础的支撑下,模型的简单数学形式也符合人类对于预估过程的直觉认知。简而言之,Logistic最终将结果表示在0-1之间非常符合我们对于“xx率”类似概念的定义。将模型原本不易解释的结果,很好的归一化表示了出来。

工程化需要

  在互联网公司每天动辄TB级别的数据面前,模型的训练开销和在线推断效率显得异常重要。在GPU尚未流行的是建立,Logistic回归模型凭借其已于并行化、模型简单、训练开销小等特点,占据着工程领域的主流。当然时至今日,Logistic就不再是热门的选择了,深度学习框架才是不二之选,不过通常Sigmoid一样应用在Predicting Territory.

Logistic回归模型的特点和局限性

  Logistic回归模型作为基础模型,简单、直观。易用、可解释性强…..等。但终究是开始被后面的模型融合和取代。Logistic回归模型必然是有其局限性制约的。我们通过它的数学模型或者对比与后来的FM就可以发现,Logistic回归的最大问题就在于无法进行特征交叉或者特征筛选,另外相比于随后发展的DNN它的模型表达能力也相对较差。

  再换个角度,LR实现简单高效易解释,计算速度快,易并行,在大规模数据情况下非常适用,更适合于应对数值型和标称型数据,主要适合解决线性可分的问题,但容易欠拟合,大多数情况下需要手动进行特征工程,构建组合特征,分类精度不高。

  另外无法进行特征交叉和筛选就意味着难免会导致特征信息的流失,为解决这一问题,在LR的基础上衍生出了因子分解机FM等高位复杂的传统模型。在进入深度学习时代后,DNN强大的表达能力可以完全替代Logistic回归模型,但不可否认,它的思路和强解释性在FC全连接输出过程中依然保留了下来。

LR的使用场景及特点分析

  从适用情景来分析的话,LR是很多分类算法的基础组件,它的好处是输出值自然地落在0到1之间,并且有概率意义解释性强。因为它本质上是一个线性的分类器,所以处理不好特征之间相关的情况。虽然效果一般,却胜在模型清晰,背后的概率学经得住推敲。它拟合出来的参数就代表了每一个特征(feature)对结果的影响。也是一个理解数据的好工具。

  简单举例:

  1. 本文提及的CTR Prediction为首,推荐系统的应用场景几乎都是LR可以参与的,尤其是各种分类预测场景。
  2. 再或者,比如某搜索引擎厂的广告CTR预估的Base Line是LR。
  3. 电商搜索排序Base Line是LR。
  4. 新闻app排序Base Line是LR。

  大规模工业实时数据,需要可解释性的金融数据,需要快速部署低耗时数据。LR就是简单,可解释,速度快,消耗资源少,分布式性能好。当然通过距离也可以看出来,现在LR主要还是拿来做Base Line和比较简单的分类预测,更复杂的场景基本都会选择用深度学习方法来解决了。

扩展阅读

  1.Identifying key drivers in airline recommendations using logistic regression from web scraping. ICCMB 2020: 112-116

  2.Scaling Multinomial Logistic Regression via Hybrid Parallelism. ACM SIGKDD 2019 1460-1470

  3.Text Retrieval Priors for Bayesian Logistic Regression. ACM SIGIR 2019 1045-1048

  4.A Music Recommendation System Based on logistic regression and extreme Gradient Boosting. IJCNN 2019: 1-6

  5.A mobile recommendation system based on logistic regression and Gradient Boosting Decision Trees. IJCNN 2016: 1896-1902