02-03 逻辑回归

思维导图纲要


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

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

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

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

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

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

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

逻辑回归模型的数学形式

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

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

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

综上,逻辑回归模型整个推断过程的数学形式如( 式 2-13 ) 所示。(个人理解为wx+bwx+bwx+b就是xTw\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. 逻辑回归的梯度下降法

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

  1. 【R】【课程笔记】02+03 基于R软件的计算

    本文是课程<数据科学与金融计算>第2-3章的学习笔记,主要介绍R语言在统计和机器学习中的应用,用于知识点总结和代码练习,Q&A为问题及解决方案,参考书籍为<R软件及其在金融定 ...

  2. python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  3. 机器学习算法 03 —— 逻辑回归算法(精确率和召回率、ROC曲线和AUC指标、过采样和欠采样)

    文章目录 系列文章 逻辑回归 1 逻辑回归介绍 1.1 逻辑回归原理 输入 激活函数 1.2 损失以及优化 2 逻辑回归API介绍 3 案例:肿瘤良性恶性预测 4 分类模型的评估 4.1 分类评估方法 ...

  4. python分析鸢尾花数据_python数据挖掘学习笔记】十六.逻辑回归LogisticRegression分析鸢尾花数据...

    但是很多时候数据是非线性的,所以这篇文章主要讲述逻辑回归及Sklearn机器学习包中的LogisticRegression算法 #2018-03-28 16:57:56 March Wednesday ...

  5. Machine Learning in Action 读书笔记---第5章 Logistic回归

    Machine Learning in Action 读书笔记 第5章 Logistic回归 文章目录 Machine Learning in Action 读书笔记 一.Logistic回归 1.L ...

  6. 统计学习方法读书笔记(六)-逻辑斯蒂回归与最大熵模型(迭代尺度法(IIS))

    全部笔记的汇总贴:统计学习方法读书笔记汇总贴 逻辑斯谛回归 (logistic regression )是统计学习中的经典分类方法.最大熵是概率模型学习的一个准则,将其推广到分类问题得到最大熵模型(m ...

  7. 机器学习笔记(十一)——逻辑回归

    一.引言 虽然说是逻辑回归,其实既可以用它做回归,也可以用它做分类.一般我们从最简单的二分类问题开始了解他,当然也可以做多分类. 二.Logistic Regression 的一般步骤 找一个合适的假 ...

  8. 机器学习笔记(10)——逻辑回归算法优化之随机梯度下降法

    在上一篇文章<机器学习笔记(9)--深入理解逻辑回归算法及其Python实现>中,详细学习了逻辑回归算法的分类原理和使用梯度下降法来最小化损失函数的数学推导过程,从而拟合出分类函数的参数θ ...

  9. 算法笔记(11)逻辑回归算法及Python代码实现

    逻辑回归算法是一种被广泛使用的分类算法,通过训练数据中的正负样本,学习样本特征到样本标签之间的假设函数.逻辑回归假设因变量 y 服从伯努利分布,而线性回归假设因变量 y 服从高斯分布. 因此与线性回归 ...

最新文章

  1. Linux Ethercat主站
  2. 浅析移动端建站周期影响因素有哪些?
  3. c语言调用shell命令一 popen使用以及获取命令返回值
  4. 一文贯通python文件读取
  5. Hi3516A开发--编译内核、uboot
  6. Spark Streaming 实现思路与模块概述
  7. 定了!2020年,6种将死的编程语言!
  8. JavaScript重难点解析4(作用域与作用域链、闭包详解)
  9. EA 反向工程 导入oracle中表结构
  10. 推荐一个Oracle数据库学习网站
  11. 数据模型所描述的内容包括三个部分:数据结构、数据操作、数据约束。
  12. 现在润新加坡是个好主意吗?
  13. 服务器硬件配置及RAID配置操作
  14. Axure 8 网页滚动效果+APP上下垂直拖动效果
  15. ***没有规则可以创建“XXX”需要的目标“XXX”问题的解决方案
  16. Qt windows下获取CPU、主板、硬盘、网卡等相关信息
  17. excel设置行高_手把手教你用wps表格excel制作田字格书法练习字帖
  18. 小米android11适配计划,小米已推出安卓11的MIUI12稳定版,这32款手机在适配行列...
  19. 自然语言处理从零到入门 自然语言生成NLG
  20. Bootstrap响应式Web开发(一)

热门文章

  1. 傲游研发中心在京成立
  2. 聋人大学生终于开通了CNSD博客,CNSD在这里记录自己成长
  3. HRSID舰船检测数据集标签格式转换,json转为xml
  4. webconfig配置详解--转
  5. VC++游戏编程----游戏画面特效制作1
  6. 结合Java和机器学习技术,如何驾驭大数据提升业务效率和竞争力?
  7. Gherkin语法详解之Transforming Data Tables(六)
  8. Python:使用PyAV提取视频关键帧
  9. python 静态成员变量
  10. ffmpeg运行在服务器上,如何在脱离流媒体服务器的时候使用ffmpeg 监测.m3u8直播视频流的状态?...