推荐模型——逻辑回归

news2024/11/22 19:36:27

文章目录

  • 1. 逻辑回归特点
  • 2. 基于逻辑回归的推荐流程
  • 3. 逻辑回归模型的数学形式
  • 4. 逻辑回归模型的训练方法
  • 5. 逻辑回归模型的优势
    • 5.1 数学含义上的支撑
    • 5.2 可解释性强
    • 5.3 工程化的需要
  • 6. 逻辑回归的局限性

1. 逻辑回归特点

  • 逻辑回归是融合多种特征的推荐模型。

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

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

2. 基于逻辑回归的推荐流程

(1) 将用户年龄、性别、物品属性、物品描述、当前时间、当前地点等特征转换成数值型特征向量

(2) 确定逻辑回归模型的优化目标(以优化“点击率”为例),利用已有样本数据对逻辑回归模型进行训练,确定逻辑回归模型的内部参数

(3) 在模型服务阶段,将特征向量输入逻辑回归模型,经过逻辑回归模型的推荐,得到用户“点击”(这里用点击作为推荐系统正反馈行为的例子)物品的概率。

(4) 利用“点击”概率对所有候选物品进行排序,得到推荐列表。

利用逻辑回归的推荐过程的重点在于,利用样本的特征向量进行模型训练和在线推断

下面着重介绍逻辑回归模型的数学形式、推断过程、训练方法。

3. 逻辑回归模型的数学形式

在这里插入图片描述

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

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

对于标准的逻辑回归模型来说,要确定的参数就是特征向量相应的权重向量 w, 下面介绍逻辑回归模型的权重向量 w 的训练方法 。

4. 逻辑回归模型的训练方法

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

  • 简单介绍梯度下降法

梯度下降法是一个一阶最优化算法。应用梯度下降法的目的是找到一个函数的局部极小值。为此,必须沿函数上当前点对应梯度(或者是近似梯度)的反方向进行规定步长距离的迭代搜索。如果向梯度正方向进行搜索,则会接近函数的局部极大值点,这个过程被称为梯度上升法。

梯度下降法很像寻找一个盆地最低点的过程 。 那么,在寻找最低点的过程中,沿哪个方向才是下降最快的方向呢?

在这里插入图片描述

这就利用了“梯度”的性质:如果实值函数F(x)在点x0处可微且有定义,那么函数F(x)在点x0处沿着梯度相反的方向-▽F(x)下降最快。

因此,在优化某模型的目标函数时,只需要对魔表函数进行求导,得到梯度的方向,沿梯度的反方向下降,并迭代此过程直到寻找到局部最小点。

使用梯度下降法求解逻辑回归模型的第一步是确定逻辑回归的目标函数。已知逻辑回归的数学形式如:

在这里插入图片描述

这里表示成:

在这里插入图片描述

对于一个输入样本x,预测结果为正样本(类别1)和负样本(类别0)的概率:

在这里插入图片描述

可以将上式写成:

在这里插入图片描述

极大似然估计的原理可以写出逻辑回归的目标函数

在这里插入图片描述

由于目标函数连乘形式不便于求导,故两侧取log,并乘以系数-(1/m),将求最大值的问题转换成求极小值的问题,最终的目标函数:

在这里插入图片描述

得到逻辑回归的目标函数后,需要对每个参数求偏导,得到梯度方向

在这里插入图片描述

在得到梯度之后,即可得到模型参数的更新公式

在这里插入图片描述

至此,完成了逻辑回归模型的更新推导。

5. 逻辑回归模型的优势

深度学习模型流行之前,逻辑回归模型曾在相当长的一段时间里是推荐系统计算广告业界的主要选择之一。除了在形式上适于融合不同特征,形成较“全面”的推荐结果,其流行的原因还有三个方面:①数学含义上的支撑;②可解释性强;③工程化的需要。

5.1 数学含义上的支撑

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

与之相比,线性回归作为广义线性模型的另一特例,其假设是因变量y服从高斯分布,这明显不是点击这类二分类问题的数学假设 。

5.2 可解释性强

直观地说,逻辑回归模型的数学形式是各特征的加权和,再施以sigmoid函数。在逻辑回归数学基础的支撑下,逻辑回归的简单数学形式业非常符合人类对预估直觉认知。

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

逻辑回归如此符合人类的直觉认知显然有其他的好处——使模型具有极强的可解释性。算法工程师可以轻易地根据权重的不同解释那些特征比较重要,在CTR模型的预测有偏差时定位是哪些因素影响了最后的结果。在与负责运营、产品的同事合作时,也便于给出可解释性的原因,有效降低沟通成本。

5.3 工程化的需要

在互联网公司每天动辄 TB 级别的数据面前,模型的训练开销和在线推断效率显得异常重要 。 在 GPU 尚未流行的 2012 年之前,逻辑回归模型凭借其易于并行化、模型简单、训练开销小等特点,占据着工程领域的主流 。 圄于工程团队的限制,即使其他复杂模型的效果有所提升,在没有明显击败逻辑回归模型之前, 公司也不会贸然加大计算资源的投入,升级推荐模型或 CTR 模型,这是逻辑回归持续流行的另一重要原因 。

6. 逻辑回归的局限性

逻辑回归模型表达能力不强的问题,会不可避免地造成有效信息的损失。 在仅利用单一特征而非交叉特征进行判断的情况下,有时不仅是信息损失的问题, 甚至会得出错误的结论。 著名的"辛普森悖论"用 一个 非常简单的例子,说明了进行多维度特征交叉的重要性

介绍“辛普森悖论”:

在对样本集合进行分组研究时,在分组比较中都占优势的一方,在总评中有时反而是失势的一方,这种有悖常理的现象 ,被称为" 辛普森悖论" 。 下面用一个视频推荐的例子进一步说明什么是"辛普森悖论"。

在这里插入图片描述

在这里插入图片描述

因此,通过改造逻辑回归模型,使其具备特征交叉的能力是必要和迫切的 。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/773632.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

J Roulette(“范式杯”2023牛客暑期多校训练营1)

目录 题目描述: 解题思路: 解题代码: 题目描述: 解题思路: 注:其中对于取模过程中用到了费马小定理,可参考如下博客: (3条消息) 费马小定理及其应用_CTGU-Yoghurt的博客-CSDN博客 …

LiveGBS流媒体平台国标GB/T28181功能-国标级联到海康大华宇视华为等第三方国标平台上级不支持H265/HEVC支持强制推送H264编码

LiveGBS国标级联到海康大华宇视华为等第三方国标平台上级不支持H265/HEVC支持强制推送H264编码 1、背景2、什么是GB/T28181级联3、获取上级接入配置信息3.1、接入第三方国标平台3.2、接入LiveGBS示例 4、配置国标级联4.1、国标级联菜单4.2、添加上级平台4.3、编辑上级平台级联4…

微服务保护---Sentinel(雪崩问题/流量控制/隔离和降级)

目录 1.雪崩问题 1.1.解决雪崩问题的常见方式有四种 2.什么是Sentinel 2.1.安装Sentinel控制台 2.2.微服务整合Sentinel 3.流量控制 3.1.簇点链路 3.2.快速入门 3.2.1.示例 3.2.2.利用jmeter测试 3.3.流控模式 3.3.1.关联模式 3.3.2.链路模式 3.3.3.总结 3.4.流控…

如何在 Ubuntu 20.04 桌面上启用/禁用 wayland

Wayland 是一种通信协议,指定显示服务器与其客户端之间的通信。 默认情况下,Ubuntu 20.04 桌面不会启动 Wayland,而是加载 Xorg 显示服务器X11。 在本教程中您将学习: 如何启用 Wayland如何禁用 Wayland 类别要求、约定或使用的…

途乐证券-股票退市股民如何索赔?

股票退市股民能够经过以下途径来索赔: 1、团体诉讼 团体诉讼允许多个股民联合起来作为原告,以代表整个群体进行索赔。这种方式一般需求证明公司或其管理层存在违法行为或虚假陈说等,导致股民的丢失。 2、单个诉讼 在这种状况下&#xff0c…

el-table 鼠标悬浮时背景色改变

案例: /* css 鼠标悬浮时 */ ::v-deep .el-table tbody tr:hover > td {background-color: rgb(65, 111, 180) !important;color: #ffffff; } 表格背景色透明 ::v-deep .el-table tr {/* background-color: #10274c; */background-color: transparent;color: #f…

【gis插件】arcgis插件界址点编号工具、C#实现思路(附插件下载链接)

数据:界址点图层、宗地图层 要求:找出宗地对应的所有界址点号,对这些界址点号以J1开始按顺序排列 要找出宗地所对应的所有界址点号,这里只要执行一个标识 即可得到这样得到的结果。 难点在于对界址点的编号,经过检查…

【linux】\r 和 \n 的区别、缓冲区的刷新情况、实例:进度条(用 Makefile 自动化构建)

目录 1. \r 和 \n2. 通过一个小程序观察现象3. 进度条 1. \r 和 \n 回车和换行符在 linux 系统下的 gcc 编辑器中,是能观测出有明显区别的。 \n:换行 --> 光标去往下一行的相同位置 \r:回车 --> 光标回到该行最左侧 (两步之…

综合案例:书籍购物车

待练习 记得写key <tbody><tr v-for"(item, index) in books":key"item.id"click"rowClick(index)":class"{ active: index currentIndex }"><td>{{ index 1 }}</td><td>{{ item.name }}</td>…

数据库应用:MySQL高级语句(二)

目录 一、理论 1.表连接查询 2.视图 3.联集 4.交集值 5.无交集值 6.CASE 7.空值&#xff08;NULL&#xff09;和无值&#xff08;’ &#xff09;的区别 8.正则表达式&#xff08;精确查询) 二、实验 1.表连接查询 2.视图 3.联集 4.交集值 5.无交集值 6.CASE 7…

Ollydbg(1)字符串解决

链接&#xff1a;https://pan.baidu.com/s/1BaROP5e9UbJMSN1sgOOKbA 提取码&#xff1a;z2i6 输入序列号&#xff0c;如果不正确&#xff0c;提示输入不正确 右键→中文搜索引擎→智能搜索→文本字符串→双击 流程&#xff1a; 一.找到关键处并且修改 两个均可以实现功能的修改…

电力市场经济与管理自学笔记

电力市场经济与管理自学笔记 第二章 电力经济学基本原理2.1 供给、需求与均衡2.1.1 需求曲线2.1.2 供给曲线2.1.3 供给需求的平衡 写本文主要是用于为以后可能从事的电力市场相关方向做点铺垫 第二章 电力经济学基本原理 这一章和高中政治时学的《经济生活》有点类似&#xf…

信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西?

信息摘要 秘钥签名 数字签名 数字证书 数字验证 数字信封 这都是什么东西&#xff1f; 一下遇见这么多相近的名词&#xff0c;实在是难以区分理解&#xff0c;还是从这些概念产生的缘由理解吧 先看需求&#xff1a;如何保证 数据 在网络中传输时正确的&#xff1f;有没有被篡…

CentOS7安装Mysql8并进行主从复制配置

场景 CentOS7中安装Mysql8并配置远程连接和修改密码等&#xff1a; CentOS7中安装Mysql8并配置远程连接和修改密码等_霸道流氓气质的博客-CSDN博客 在上面实现安装Mysql8的基础上&#xff0c;克隆出两台机器&#xff0c;修改ip后进行mysql的主从复制搭建。 Mysql主从复制 …

vue组件 导出excel,并且可以合并单元格,设置宽度,字体颜色,换行等

需求:在开发后台管理系统中,经常会有导出表格的需求,本案例实现了在导出时,可以合并单元格,设置单元格字体颜色和宽度,并且可以根据 \n 自动换行 插件:xlsx(0.18.4),xlsx-style(0.8.13),file-saver(2.0.5) 效果如下: 注意:不同的版本之间可能方法不能共用 …

【蓝图】p28-p29按键+鼠标点击实现开关门

p28-p29按键鼠标点击实现开关门 p28&#xff0c;创建门的蓝图类创建一个Actor注意&#xff08;当门的中心点不在边角上时&#xff09; 蓝图三个旋转区别按E键开关门使鼠标点击也可以开门可能遇到的bug问题 p28&#xff0c;创建门的蓝图类 actor和组件的区别、门的轴心点修改 …

HttpRunner自动化之初始化和清理操作--hook机制

hook机制 Httprunner 框架中的 hook 机制相当于unittest框架中的 setup , teardown 函数&#xff0c;用来进行测试用例执行之前的环境初始化以及测试用例执行完毕之后的环境清理操作。 httprunner 中的 hooks 机制可以用在测试用例层级也可以用在测试步骤层级&#xff0c;其关键…

Uncaught TypeError: Cannot read properties of null (reading ‘name‘) 和NoSuchMethodException

问题1&#xff1a;Uncaught TypeError: Cannot read properties of null (reading name) 分析&#xff1a;这是由于还没登录&#xff0c;data.name 还没获取到值&#xff0c;所以为null 方法1&#xff1a;可以不管&#xff0c;它不会影响其他功能&#xff0c;当你登录后&#x…

2023年9月江苏/北京/深圳DAMA-CDGA/CDGP认证考试报名

据DAMA中国官方网站消息&#xff0c;2023年度第三期DAMA中国CDGA和CDGP认证考试定于2023年9月23日举行。 报名通道现已开启&#xff0c;相关事宜通知如下&#xff1a; 考试科目: 数据治理工程师(CertifiedDataGovernanceAssociate,CDGA) 数据治理专家(CertifiedDataGovernanc…

书接上文——DETR评估可视化

在上一篇文章中&#xff0c;详细记录了如何使用官方开源的DETR项目开发训练自己的数据集&#xff0c;有详细的教程&#xff0c;感兴趣可以看下&#xff1a;《DETR (DEtection TRansformer)基于自建数据集开发构建目标检测模型超详细教程》 在文末我还附上了自己简单的绘图实践…