【读书笔记->推荐系统】02-03 逻辑回归

本文介绍了逻辑回归在推荐系统中的应用,如何通过融合用户、物品和上下文特征预测点击率,包括其数学形式、训练方法和优势。重点讲解了模型的推断过程及逻辑回归在CTR预估中的角色,同时探讨了其局限性和后续的发展趋势。

02-03 逻辑回归

思维导图纲要

在这里插入图片描述


相比协同过滤仅利用用户与物品的相互行为信息进行推荐,逻辑回归模型能够综合利用用户、物品、上下文等多种不同的特征,生成较为“全面”的推荐结果。另外,逻辑回归的另一种表现形式“感知机”作为神经网络中最基础的单一神经元,是深度学习的基础性结构。

因此,能够进行多特征融合的逻辑回归模型成了独立于协同过滤的推荐模型发展的另一个主要方向。

相比协同过滤和矩阵分解利用用户和物品的“相似度”进行推荐,逻辑回归将推荐问题看成一个分类问题,通过预测正样本的概率对物品进行排序。这里的正样本可以是用户“点击”了某商品,也可以是用户“观看”了某视频,均是推荐系统希望用户产生的“正反馈”行为。(个人理解为逻辑回归旨在预测用户产生“正反馈”行为的概率)

因此,逻辑回归模型将推荐问题转换成了一个点击率(Click Through Rate,CTR ) 预估问题。

基于逻辑回归模型的推荐流程

基于逻辑回归的推荐过程如下。
( 1 )将用户年龄、性别(用户特征)、物品属性、物品描述(物品特征)、当前时间、当前地点(上下文特征)等特征转换成数值型特征向量。
( 2 ) 确定逻辑回归模型的优化目标(以优化“点击率” 为例 ),利用已有样本数据对逻辑回归模型进行训练,确定逻辑回归模型的内部参数。
( 3 ) 在模型服务阶段,将特征向量输人逻辑回归模型,经过逻辑回归模型的推断,得到用户“点击”(这里用点击作为推荐系统正反馈行为的例子 )物品的概率。(逻辑回归给出 用户产生“正反馈”行为的概率)
( 4 ) 利用“点击” 概率对所有候选物品进行排序,得到推荐列表。

基于逻辑回归的推荐过程的重点在于,利用样本的特征向量进行模型训练和在线推断。下面着重介绍逻辑回归模型的数学形式、推断过程和训练方法。

逻辑回归模型的数学形式

在这里插入图片描述

如图 2-7 所示,逻辑回归模型的推断过程可以分为如下几步:

  1. 将特征向量 x = ( x 1 , x 2 , . . . , x n ) \pmb{x} = (x_1, x_2, ..., x_n) xxx=(x1,x2,...,xn)作为模型的输入。(也就是上面的用户特征、物品特征、上下文特征)
  2. 通过为个特征赋予相应的权重 ( w 1 , w 2 , . . . , w n + 1 ) (w_1,w_2,...,w_{n+1}) (w1,w2,...,wn+1),来表示各特征的重要性差异,将各特征进行加权求和,得到 x T w \pmb{x}^T \pmb{w} xxxTwww。(最开始的权重可以赋随机值,后面会更新权重的;注意这里xw都是矩阵的形式,T表示转置)
  3. x T w \pmb{x}^T \pmb{w} xxxTwww输入sigmoid函数,使之映射到0~1的区间,得到最终的“点击率”。

sigmoid函数的公式和图像如图所示。(具体意思为特征向量与权重乘积之和 x T w \pmb{x}^T \pmb{w} xxxTwww带入f(z)公式中,最后结果为(0,1)的范围,刚刚好是“点击”也就是“正反馈”行为的概率)

在这里插入图片描述

综上,逻辑回归模型整个推断过程的数学形式如( 式 2-13 ) 所示。(个人理解为 w x + b wx+b wx+b就是 x T w \pmb{x}^T \pmb{w} xxxTwww的值形式)

在这里插入图片描述

对于标准的逻辑回归模型来说,要确定的参数就是特征向量相应的权重向量w , 下面介绍逻辑回归模型的权重向量w的训练方法。(如果权重向量w训练好了,那么预测能力会更准)

逻辑回归模型的训练方法

逻辑回归模型常用的训练方法是梯度下降法、牛顿法、拟牛顿法等,其中梯度下降法是应用最广泛的训练方法,也是学习深度学习各种训练方法的基础。

有关梯度下降法的内容,大家可以搜一搜文献,简单的说法就是利用每个权重w的偏导更新w向y减小的方向前进,寻找一个局部最低点。

在这里插入图片描述

针对逻辑回归的梯度下降法,文末给出了一个参考文献,可以帮助理解

逻辑回归模型的优势

1 数学含义上的支撑

逻辑回归作为广义线性模型的一种,它的假设是因变量 y 服从伯努利分布(0-1分布)。那么在 CTR 预估这个问题上,“点击” 事件是否发生就是模型的因变量而用户是否点击广告是一个经典的掷偏心硬币问题(点击/不点击的概率)。因此,CTR 模型的因变量显然应该服从伯努利分布。所以,采用逻辑回归作为 CTR 模型是符合 “点击” 这一事件的物理意义的。

2 可解释性强

使用各特征的加权和是为了综合不同特征对 CTR 的影响,而不同特征的重要程度不一样,所以为不同特征指定不同的权重,代表不同特征的重要程度。(权重 = 重要性)最后,通过 sigmoid 函数,使其值能够映射到 0~1区间,正好符合CTR的物理意义。(sigmoid使 和 映射成 概率)

模型具有极强的可解释性。算法工程师可以轻易地根据权重的不同解释哪些特征比较重要,在CTR 模型的预测有偏差时定位是哪些因素影响了最后的结果。在与负责运营、产品的同事合作时,也便于给出可解释的原因,有效降低沟通成本。

3 工程化的需要

逻辑回归模型易于并行化、模型简单、训练开销小。

逻辑回归模型的局限性

表达能力不强,无法进行特征交叉、特征筛选等一系列较为高级”的操作,因此不可避免地造成信息的损失。

为解决这一问题,推荐模型朝着复杂化的方向继续发展,衍生出因子分解机等高维的复杂模型。在进人深度学习时代之后,多层神经网络强大的表达能力可以完全替代逻辑回归模型。

参考文献

  1. 逻辑回归的梯度下降法
7个回归分析方法 什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。 这种技术通常用于 预测分析、 时间序列模型 以及发现变量之间的因果关系。 例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归分析是建模和分析数据的重要工具。 在这里,我们使用曲线/线来拟合这些数据点, 在这种方式下,从曲线或线到数据点的距离差异最小。 我会在接下来的部分详细解释这一点。 我们为什么使用回归分析? 如上所述,回归分析估计了两个或多个变量之间的关系。 下面,让我们举一个简单的例子来理解它: 比如说,在当前的经济条件下,你要估计一家公司的销售额增长情况。 现在,你有公司最新的数据,这些数据显示出销售额增长大约是经济增长的2.5倍。 那么使用回归分析,我们就可以根据当前和过去的信息来预测未来公司的销售情况。 使用回归分析的好处良多。 具体如下: • 它表明自变量和因变量之间的显著关系 它表明多个自变量对一个因变量的影响强度 回归分析也允许我们去比较那些衡量不同尺度的变量之间的相互影响,如价格变动与促销活动数量之间联系。 这些有利于帮助市场研究人员,数据分析人员以及数据科学家排除并估计出一组最佳的变量,用来构建预测模型。 我们有多少种回归技术? 有各种各样的回归技术用于预测。 这些技术主要有三个度量 (自变量的个数, 因变量的类型 回归线的形状)。 对于那些有创意的人,如果你觉得有必要使用上面这些参数的一个组合,你甚至可以创造出一个没有被使用过的回归模型。 但在你开始之前,先了解如下最常用的回归方法: 1. 线性回归(Linear Regression) 线性回归通常是人们在学习预测模型时首选的技术之一。 在这种技术中, 因变量是连续的, 自变量可以是连续的也可以是离散的, 回归线的性质是线性的。 线性回归使用最佳的拟合直线(也就是回归线) 在因变量(Y)和一个或多个自变量(X)之间建立一种关系。 用一个方程式来表示它,即 Y=a+b*X + e, 其中a表示截距, b表示直线的斜率, e是误差项。 这个方程可以根据给定的预测变量(s)来预测目标变量的值。 现在的问题是:我们如何得到一个最佳的拟合线呢? 这个问题可以使用最小二乘法轻松地完成。 一元线性回归和多元线性回归的区别在于, 多元线性回归有(>1)个自变量, 而一元线性回归通常只有1个自变量。 最小二乘法也是用于拟合回归线最常用的方法。 对于观测数据,它通过最小化每个数据点到线的垂直偏差平方和来计算最佳拟合线。 因为在相加时,偏差先平方,所以正值和负值没有抵消。 我们可以使用R-square指标来评估模型性能。 要点: • 自变量与因变量之间必须有线性关系 • 多元回归存在多重共线性,自相关性和异方差性 线性回归对异常值非常敏感。它会严重影响回归线,最终影响预测值 多重共线性会增加系数估计值的方差,使得在模型轻微变化下,估计非常敏感。 结果就是系数估计值不稳定, 在多个自变量的情况下,我们可以使用向前选择法,向后剔除法和逐步筛选法来选择最重要的自变量。 2. 逻辑回归(Logistic Regression) 逻辑回归是用来计算“事件=Success”和“事件=Failure”的概率。 当因变量的类型属于二元(1 / 0,真/假,是/否)变量时,我们就应该使用逻辑回归。 这里,Y的值从0到1,它可以用下方程表示。 odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence ln(odds) = ln(p/(1-p)) logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk 概要 上述式子中,p表述具有某个特征的概率。 你应该会问这样一个问题:我们为什么要在公式中使用对数log呢? 因为在这里我们使用的是的二项分布(因变量),我们需要选择一个对于这个分布最佳的连结函数。 它就是Logit函数。 在上述方程中,通过观测样本的极大似然估计值来选择参数, 而不是最小化平方和误差(如在普通回归使用的)。 要点: • 它广泛的用于分类问题。 逻辑回归不要求自变量和因变量是线性关系。 它可以处理各种类型的关系,因为它对预测的相对风险指数OR使用了一个非线性的log转换。 逻辑回归是用于分类的~这个得记住 为了避免过拟合和欠拟合,我们应该包括所有重要的变量。 有一个很好的方法来确保这种情况, 就是使用逐步筛选方法来估计逻辑回归。 它需要大的样本量,因为在样本数量较少的情况下,极大似然估计的效果比普通的最小二乘法差。 自变量不应该相互关联的,即不具有多重共线性。 然而,在分析和建模中,我们可以选择包含分类变量相互作用的影响。 • 如果因变量的值是定序变量,则称它为序逻辑回归 • 如果因变量是多类的话,则称它为多元逻辑回归 3. 多项式回归(Polynomial Regression) 对于一个回归方程,如果自变量的指数大于1,那么它就是多项式回归方程。 如下方程所示:y=a+b*x^2 在这种回归技术中,最佳拟合线不是直线。 而是一个用于拟合数据点的曲线。 重点: 虽然会有一个诱导可以拟合一个高次多项式并得到较低的错误,但这可能会导致过拟合。 你需要经常画出关系图来查看拟合情况,并且专注于保证拟合合理,既没有过拟合又没有欠拟合。 下面是一个图例,可以帮助理解: 明显地向两端寻找曲线点,看看这些形状和趋势是否有意义。 更高次的多项式最后可能产生怪异的推断结果。 4. 逐步回归(Stepwise Regression) 在处理多个自变量时,我们可以使用这种形式的回归。 在这种技术中,自变量的选择是在一个自动的过程中完成的,其中包括非人为操作。 这一壮举是通过观察统计的值,如R-square,t-stats和AIC指标,来识别重要的变量。 逐步回归通过同时添加/删除基于指定标准的协变量来拟合模型。 下面列出了一些最常用的逐步回归方法: • 标准逐步回归法做两件事情。即增加和删除每个步骤所需的预测。 • 向前选择法从模型中最显著的预测开始,然后为每一步添加变量。 • 向后剔除法与模型的所有预测同时开始,然后在每一步消除最小显着性的变量。 这种建模技术的目的是使用最少的预测变量数来最大化预测能力。 这也是处理高维数据集的方法之一。 5. 岭回归(Ridge Regression) 岭回归分析是一种用于存在多重共线性(自变量高度相关)数据的技术。 在多重共线性情况下,尽管最小二乘法(OLS)对每个变量很公平,但它们的差异很大,使得观测值偏移并远离真实值。 岭回归通过给回归估计上增加一个偏差度,来降低标准误差。 上面,我们看到了线性回归方程。还记得吗? 它可以表示为:y=a+ b*x 这个方程也有一个误差项。完整的方程是: y=a+b*x+e (error term) , [error term is the value needed to correct for a prediction error between the observed and predicted value] => y=a+y= a+ b1x1+ b2x2+....+e, for multiple independent variables. 在一个线性方程中,预测误差可以分解为2个子分量。 一个是偏差, 一个是方差。 预测错误可能会由这两个分量或者这两个中的任何一个造成。 在这里,我们将讨论由方差所造成的有关误差。 岭回归通过收缩参数λ(lambda)解决多重共线性问题。 看下面的公式: 在这个公式中,有两个组成部分。 第一个是最小二乘项, 另一个是β2(β-平方)的λ倍,其中β是相关系数。 为了收缩参数把它添加到最小二乘项中以得到一个非常低的方差。 要点: 除常数项以外,这种回归的假设与最小二乘回归类似; 它收缩了相关系数的值,但没有达到零,这表明它没有特征选择功能,这是一个正则化方法,并且使用的是L2正则化。 6. 套索回归(Lasso Regression) 它类似于岭回归。 Lasso (Least Absolute Shrinkage and Selection Operator)也会惩罚回归系数的绝对值大小。 此外,它能够减少变化程度并提高线性回归模型的精度。 看看下面的公式: Lasso 回归与Ridge回归有一点不同,它使用的惩罚函数是绝对值,而不是平方。 这导致惩罚(或等于约束估计的绝对值之和)值使一些参数估计结果等于零。 使用惩罚值越大,进一步估计会使得缩小值趋近于零。 这将导致我们要从给定的n个变量中选择变量。 要点: • 除常数项以外,这种回归的假设与最小二乘回归类似 • 它收缩系数接近零(等于零),确实有助于特征选择 这是一个正则化方法,使用的是L1正则化 7. 回归(ElasticNet) ElasticNet是Lasso和Ridge回归技术的混合体。 它使用L1来训练并且L2优先作为正则化矩阵。 当有多个相关的特征时,ElasticNet是很有用的。 Lasso 会随机挑选他们其中的一个,而ElasticNet则会选择两个。 Lasso和Ridge之间的实际的优点是,它允许ElasticNet继承循环状态下Ridge的一些稳定性。 要点: 它可以承受双重收缩 • 选择变量的数目没有限制 • 在高度相关变量的情况下,它会产生群体效应 除了这7个最常用的回归技术,你也可以看看其他模型,如Bayesian、Ecological和Robust回归。 如何正确选择回归模型? 当你只知道一个或两个技术时,生活往往很简单。 我的老师曾告诉我,如果结果是连续的,就使用线性回归。 如果是二元的,就使用逻辑回归! 然而,在我们的处理中,可选择的越多,选择正确的一个就越难。 类似的情况下也发生在回归模型中。 在多类回归模型中,基于自变量和因变量的类型,数据的维数以及数据的其它基本特征的情况下,选择最合适的技术非常重要。 以下是你要选择正确的回归模型的关键因素: 1. 数据探索是构建预测模型的必然组成部分 在选择合适的模型时,比如识别变量的关系和影响时,它应该首选的一步。 2. 比较适合于不同模型的优点,我们可以分析不同的指标参数 如统计意义的参数,R-square,Adjusted R-square,AIC,BIC以及误差项,另一个是Mallows' Cp准则。 这个主要是通过将模型与所有可能的子模型进行对比(或谨慎选择他们),检查在你的模型中可能出现的偏差。 3. 交叉验证是评估预测模型最好额方法 在这里,将你的数据集分成两份(一份做训练和一份做验证)。 使用观测值和预测值之间的一个简单均方差来衡量你的预
一、机器学习与推荐系统课程简介伴随着大数据时代的到来,作为发掘数据规律的重要手段,机器学习已经受到了越来越多的关注。而作为机器学习算法在大数据上的典型应用,推荐系统已成为各行业互联网公司营销体系中不可或缺的一部分,而且已经带来了真实可见的收益。目前,推荐系统和机器学习已经成为各大公司的发力重点,众多知名公司(如亚马逊、netflix、facebook、阿里巴巴、京东、腾讯、新浪、头条等)都在着眼于将蕴含在庞大数据中的宝藏发掘出来,懂机器学习算法的大数据工程师也成为了新时代最紧缺的人才。尚硅谷精心打造出了机器学习与推荐系统课程,将机器学习理论与推荐系统项目实战并重,对机器学习和推荐系统基础知识做了系统的梳理和阐述,并通过电影推荐网站的具体项目进行了实战演练。为有志于增加大数据项目经验、扩展机器学习发展方向的工程师提供最好的学习平台。二、课程内容和目标本课程主要分为两部分,机器学习和推荐系统基础,与电影推荐系统项目实战。第一部分主要是机器学习和推荐系统基础理论的讲解,涉及到各种重要概念和基础算法,并对一些算法用python做了实现;第二部分以电影网站作为业务应用场景,介绍推荐系统的开发实战。其中包括了如统计推荐、基于LFM的离线推荐、基于模型的实时推荐、基于内容的推荐等多个模块的代码实现,并与各种工具进行整合互接,构成完整的项目应用。通过理论和实际的紧密结合,可以使学员对推荐系统这一大数据应用有充分的认识和理解,在项目实战中对大数据的相关工具和知识做系统的回顾,并且可以掌握基本算法,入门机器学习这一前沿领域,为未来发展提供更多的选择,打开通向算法工程师的大门。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值