推荐系统学习笔记(1-5)

bohu83 bohu83     2023-02-05     178

关键词:

   因为受到通知,报名考试缴费后,前一阵有重拾起pmp,重做了两套题,谁知道疫情11.28的考试有推迟了。好好的考试 拖了2年了,还是看点别的吧。以下内容来自极客时间。

二  你需要推荐系统吗?

2.1  推荐系统能做什么?

   可以吧用户(user)与物品(item)的产生的连接提前找出来 。

2.2  推荐系统需要做什么?

  需要 从 已知的连接去 预测未来的连接。

2.3 怎么做?

机器推荐-个性化推荐;人工推荐-编辑推荐。

是否需要推荐系统?  

 工具类及链接数较少不需要。(长尾效应让推荐发挥作用)

还有其他非技术考虑因素:产品规划 ,技术人员储备等。

三 经典问题

   推荐系统的使命是为⽤户和物品建⽴连接,建⽴的⽅式是提前找出那些隐藏的连接呈现给⽤户,这是⼀个预测问题;所以推荐系统的预测问题模式,从达成的连接⽬标⻆度区分,有两⼤类:

评分预测、行为预测。

评分是显性的,评分一个指标 :均⽅根误差(模型预测的分跟 用户实际分数)

行为 预测是隐性的 ,根据用户的行为历史数据 ,预测直接预测⾏为本身发⽣的概率,和预测物品的相对排序。指标:点击率ctr.

经典问题:冷启动 问题,探索问题,安全问题。

四  思维模式

4.1. 关键元素重要性的认识  

UI  UE》 数据》领域知识》算法

UI、UE、数据是⼀个产品的基⽯,要认识到重要性。在资源有限,精⼒很少的前提下抓⼤放⼩。

4.2 目标思维和不确定思维

     传统的软件产品追求的是稳定和满⾜预期,背后思想强调的是逻辑和因果链条,软件体验上设定好⾏为和响应,软件设计上强调分层以应对⽆⽐复杂的操作逻辑。

   反观推荐系统这种信息过滤系统,追求的是指标的增⻓,背后思想强调是⽬标和不确定性:

我们并不能很确定地模拟每个⼈将会看到什么,目标先行是常识。

我们把⼀个推荐系统也看做⼀个函数,输入是:UI、UE、数据、领域知识、算法等等,输出则是我们关注的指标:留存率 ,GMV等。我们做任何事情:加新的策略、替换现有的推荐算法、修改UI、甚⾄⼀些⽂案的调整,都是在改变这个函数的参数,是否有效就要看看函数的输出值,输出值在增⻓,说明修改就有效,就继续沿着那个⽅向修改,⼀旦⽆效或者起反作⽤就⽴即需要回滚。

    ⽬标思维背后是“量化⼀切”的价值取向。最先要量化的就是⽬标本身,整个团队才能知道在为什么⽽战,才能知道⾃⼰所做的动作是不是有意义,才能让团队⾃发地去寻找优化⽅向,接下来要量化的是所有的优化改进动作,要量化就要收集数据,数据收集对了才能得到正确的量化结果。

     除了目标思维 ,还有需要不确定思维 。不确定性思维就是:不⽤因果逻辑严丝合缝地提前推演,⽽是⽤概率的眼光去看结果。原因如下 :

1.绝⼤多数推荐算法都是概率算法,因此本身就⽆法保证得到确切结果,只是概率上得到好的效果;

2.推荐系统追求的是⽬标的增⻓,⽽不是⼀城⼀池的得失;

3.如果去花时间为了⼀个Case⽽增加补丁,那么付出的成本和得到的收益将⼤打折扣; 

第 五章  用户画像

  没看本篇之前,我对这里有个 知识误区,以为之前看到的 带标签的常见的炫酷的,是用户画像。实际上大佬说的用户画像是对⽤户信息的向量化表示,给 机器看的而不是给人看的 。

⽤户画像的关键元素有哪些?

  维度、量化。⽤户画像是跟着使⽤效果⾛的,⽤户画像本身并不是⽬的,就是个副产品,回归到推荐系统本身,是建立用户与物品的 链接,推荐系统在对匹配评分前,则⾸先就要将⽤户和物品都向量化,这样才能进⾏计算。⽤户向量化后的结果,就是UserProfile,俗称“⽤户画像”。所以,⽤户画像不是推荐系统的⽬的,⽽是在构建推荐系统的过程中产⽣的⼀个关键环节的副产品。

  通常构建⽤户画像的⼿段有哪⼏类?

有三类,第⼀类只会查户⼝做记录,(包含数据 清洗,适合用户冷启动)

第⼆类就是从历史⾏为数据中去挖掘出标签,然后在标签维度上做数据统计

第三类就是⿊盒⼦看不懂(机器学习方法 ,可解释性差,但是 作用巨大)。

  

  

机器学习----推荐系统之协同过滤算法

...,并且为整数,问号处表示没有评分。(二)基于内容的推荐系统给每部电影添加两个features,针对这个问题中分别为romatic和action,范围为1-5,并且给出一部电影这两个参数就已知。这里设,每部电影由xi表示,xi为一个3*1的向量... 查看详情

基于sparkmlllib的推荐系统学习笔记

...?目前,有两个可行的场景:智能路径与在线推荐。智能路径输入转化目标,按照转化率的高低输出一组用户的转化路径。这个功能针对大型、多业务流程的系统。在线推荐根据用户自身的属性以及点击等行为数... 查看详情

lenskit<开源推荐系统框架java;学习笔记(代码片段)

这段时间需要为网站添加推荐功能,一开始学习了一下推荐系统的一些经典算法,基于物品得,基于用户的等等,学习不是很深刻。利用学习LensKit的机会,把之前学习片段拾起来,记录一下。1、下载开发... 查看详情

斯坦福大学andrewng-机器学习笔记--推荐系统&大规模机器学习&图片文字识别

  大概用了一个月,AndrewNg老师的机器学习视频断断续续看完了,以下是个人学习笔记,入门级别,权当总结。笔记难免有遗漏和误解,欢迎讨论。  鸣谢:中国海洋大学黄海广博士提供课程视频和个人笔记,在此深表感谢... 查看详情

如何在推荐系统中玩转知识图谱

...~CSDN无法上传图片,更好阅读体验请到公众号查看~在推荐系统领域近几年的工作中,知识图谱被越 查看详情

如何在推荐系统中玩转知识图谱

...~CSDN无法上传图片,更好阅读体验请到公众号查看~在推荐系统领域近几年的工作中,知识图谱被越 查看详情

docker学习笔记(1-5)安装docker启动和停止docker

Docker学习笔记(1-5)安装docker、启动和停止docker Docker只支持64位,ubuntu、centos、redhat、macos、windows Linux内核版本>3.10,检查版本:#uname-ix86_64#uname-r 3.13.0.40-generic ubuntu系统上用apt-get安装软件 #更新仓库 查看详情

推荐算法学习笔记

推荐算法举个简单的例子,比如有个用户进来看了一堆内容,我们把他看的所有的历史行为,嵌入到推荐引擎当中去。这个推荐引擎就会生成个性化的频道,下次这个用户再登录,或者都不用下一次,过几分钟之后,他看到的内... 查看详情

郑捷《机器学习算法原理与编程实践》学习笔记(第四章推荐系统原理)kmeans

(上接第二章)  4.3.1KMeans算法流程  算法的过程如下:  (1)从N个数据文档随机选取K个文档作为质心  (2)对剩余的每个文档测量其到每个质心的距离,并把它归到最近的质心的类  (3)重新计算已经得到的各... 查看详情

spark学习笔记——构建基于spark的推荐引擎

1.使用的是Spark-shell和Scala语言,同样需要把文件放在Hadoop文件系统中启动Spark-shellvalrawData=sc.textFile("/user/common/ml-100k/u.data")rawData.first()#输出res1:String=196 242 3 881250949  查看详情

推荐系统笔记:基于模型的协同过滤

...的预处理阶段之外,没有专门为预测预先创建模型。推荐系统笔记:Introduction_UQI-LIUWJ的博客-CSDN博客1.1基于模型的协同过滤VS分类回归问题        在基于模型的方法中,与有监督或无监督的机器学习方法一样࿰... 查看详情

javascript面向对象编程指南——学习笔记1

 第1章引言1.1回顾历史1.2变革之风1.3分析现状1.4展望未来1.5面向对象的程序设计  1.5.1对象(属性和方法的集合)  1.5.2类(相似对象的共同特征,如麻雀、老鹰都是鸟类)  1.5.3封装(将属性和方法集合起来,也有封... 查看详情

spring5学习笔记(代码片段)

文章目录Spring5学习笔记1.简介1.1介绍1.2发展历程1.3理念1.4优点1.4组成1.4.1SpringCore1.4.2SpringContext1.4.3SpringAOP1.4.4SpringDAO1.4.5SpringORM1.4.6SpringWeb1.4.7SpringWebMVC1.5扩展2.控制反转2.1原型2.1.1`UserDao`2.1.2`UserDaoMysqlImpl`2.1.3`UserDaoOr... 查看详情

dubbo--系统学习笔记--快速启动

...果不想使用Spring配置,而希望通过API的方式进行调用(不推荐),请参见:API配置 (+)服务提供者  完整安装步骤,请参见:示例提供者安装 (+)  查看详情

❤️答应粉丝的maven仓库学习笔记,今天它来了!一起来学习快速入门maven❤️(代码片段)

...Maven1.2仓库1.3maven环境搭建1.3.1下载1.3.2安装1.3.3配置:系统环境变量1.4Maven使用1.4.1私有仓库配置1.4.2配置镜像(第三方仓库,私服)1.5IDEA配置1.5.1IDEA配置maven1.5.2新项目配置1.5.3配置失败,重新配置1.6ID 查看详情

❤️答应粉丝的maven仓库学习笔记,今天它来了!一起来学习快速入门maven❤️(代码片段)

...Maven1.2仓库1.3maven环境搭建1.3.1下载1.3.2安装1.3.3配置:系统环境变量1.4Maven使用1.4.1私有仓库配置1.4.2配置镜像(第三方仓库,私服)1.5IDEA配置1.5.1IDEA配置maven1.5.2新项目配置1.5.3配置失败,重新配置1.6ID 查看详情

如何在推荐系统中玩转知识图谱

...~CSDN无法上传图片,更好阅读体验请到公众号查看~在推荐系统领域近几年的工作中,知识图谱被越来越多的应用进来。在推荐系统中引入知识图谱被验证会给user-item的预测效果带来比较明显的提升,一个主要原因在于... 查看详情

javascript高级程序设计(第三版)学习笔记1~5章

第2章,在html中使用JavaScriptHtml引入外部js脚本<scripttype="text/javascript"src="test.js">两个</script>之间不应放脚本,因为并不会被执行</script><script>标签有一个defer属性可以延迟脚本执行,但是并不保证会按脚本排列顺... 查看详情