逻辑回归

8/2/2021 逻辑回归

# 逻辑回归模型预估相较于协同过滤,最大的优势是什么?其推荐过程是怎么样的?

相比协同过滤模型仅利用用户与物品的相互行为信息进行推荐,逻辑回归模型能综合利用用户、物品、上下文等多种不同的特征,生成较为全面的推荐结果。

不同于协同过滤和矩阵分解利用用户和物品的“相似度”进行推荐,逻辑回归将推荐问题转换成一个的点击率预估问题,也即预测正样本的概率对物品进行排序,其具体推荐过程如下:

1)将用户特征、物品特征、上下文特征转化为数值型特征向量

2)确定逻辑回归模型的优化目标,利用已有样本数据对逻辑回归进行训练,确定逻辑回归模型的参数

3)在预测阶段,将特征向量输入逻辑回归模型,得到用户点击物品的概率(CTR)

4)利用CTR对所有候选物品进行排序,得到推荐列表

# 请推导逻辑回归的数学形式。

1)模型输入为特征向量

2)特征向量的权重向量为,将各特征加权求和,得到

3)将特征加权和输入sigmoid 函数,使之映射到0~1的区间,得到点击率。

所以最终的数学形式如下:

# 请推导梯度下降法求解逻辑回归参数更新的过程。

一个样本可以理解为发生的一次事件,样本生成的过程即事件发生的过程。对于0/1分类问题来讲,产生的结果有两种可能,符合伯努利试验的概率假设。因此,我们可以说样本的生成过程即为伯努利试验过程,产生的结果(0/1)服从伯努利分布。这里我们假设结果为1的概率为,结果为0的概率为

那么对于第个样本,概率公式表示如下:

将上面两个公式合并在一起,可得到第个样本正确预测的概率:

上式是对一个样本进行建模的数据表达。对于所有的样本,假设每条样本生成过程独立,在整个样本空间中(N个样本)的概率分布(即似然函数)为:

如果从统计学的角度可以理解为参数似然性的函数表达式(即似然函数表达式),就是利用已知的样本分布,找到最有可能(即最大概率)导致这种分布的参数值;或者说什么样的参数才能使我们观测到目前这组数据的概率最大。参数在整个样本空间的似然函数可表示为:

为了方便参数求解,对这个公式取对数,可得对数似然函数:

最大化对数似然函数其实就是最小化交叉熵误差(Cross Entropy Error)。 先不考虑累加和,我们针对每一个参数求偏导:

最后,通过扫描样本,迭代下述公式可求得参数:

其中表示学习率,又称学习步长。此外还有Batch GD,共轭梯度,拟牛顿法(LBFGS),ADMM分布学习算法等都可以用来求解参数。

# 逻辑回归作为CTR预估模型的优势与缺陷是什么?

优势:

1)数学含义相符:逻辑回归的假设是因变量服从伯努利分布,也即0-1分布,在点击率预估问题中,用户是否点击物品符合伯努利分布,也即可以说训练样本的生成过程即为伯努利试验过程,产生的结果(0/1,是否点击)服从伯努利分布

2)可解释性强:逻辑回归的数学形式是各特征加权和,再施以sigmoid函数,其中权重代表特征的重要性,通过sigmoid函数映射到0~1,刚好符合CTR的物理意义。工程师可轻易根据权重来确定特征的重要性排序,与产品运营沟通时,也便于给出解释的原因。

3)易于工程化:逻辑回归易于并行化、模型简单、训练开销小,这些特点使得其在工程上易于维护和实现,即使其他复杂模型的效果有所提升,再没有明显击败逻辑回归模型之前,公司也不会贸然加大计算资源的投入。

缺陷:

1)表达能力不强,无法进行特征交叉、特征选择等操作,造成信息的损失。

# 在工业界,很少直接将连续值作为逻辑回归模型的特征输入,而是将连续特征离散化为一系列0、1特征交给逻辑回归模型,这样做的优势是什么?

  • 离散特征的增加和减少都很容易,易于模型的快速迭代;
  • 稀疏向量内积乘法运算速度快,计算结果方便存储,容易扩展;
  • 离散化后的特征对异常数据有很强的鲁棒性:比如一个特征是年龄>30是1,否则0。如果特征没有离散化,一个异常数据“年龄300岁”会给模型造成很大的干扰;
  • 逻辑回归属于广义线性模型,表达能力受限;单变量离散化为N个后,每个变量有单独的权重,相当于为模型引入了非线性,能够提升模型表达能力,加大拟合;
  • 离散化后可以进行特征交叉,由M+N个变量变为M*N个变量,进一步引入非线性,提升表达能力;
  • 特征离散化后,模型会更稳定,比如如果对用户年龄离散化,20-30作为一个区间,不会因为一个用户年龄长了一岁就变成一个完全不同的人。当然处于区间相邻处的样本会刚好相反,所以怎么划分区间是门学问;
  • 特征离散化以后,起到了简化了逻辑回归模型的作用,降低了模型过拟合的风险。