《推荐系统实践》读书笔记-1.什么是推荐系统

el/2024/4/13 14:40:54

        如果有想要的东西,比如想买一瓶汽水,想看一部电影,那么就可以去便利店,去超市,去网上购买,这是很容易得到想要的东西的。

        但没有明确的需求呢,打开淘宝不知道要买什么,刷抖音也没有特别明确的目的,面对这么多的商品这么多的内容,从大量信息中找到自己感兴趣的信息是一件非常困难的事情,怎么找到用户喜欢的呢,那用户多不满意系统啊,这就是典型的信息过载(information overload)。所以推荐系统就应用而生,它可以自动分析你的历史兴趣,从庞大的信息里找到用户感兴趣的供选择。

‘推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现再对它感兴趣的用户面前,从而实现信息消费者和信息生成者的双赢’

        面对信息过载,有两个比较有代表性的解决方法,一是分类目录,二是搜索引擎。搜索引擎可以让用户在有目标时,通过搜索关键词来获取想要的信息(item) ,而推荐系统也是一个很好的解决方案,它满足的是用户没有明确需求时,通过分析用户历史行为给用户兴趣建模,从而推荐满足他们兴趣和需求的信息。 推荐系统和搜索引擎可以说是互补的。

        另一方面,长尾效应也可以较好的被解决。长尾效应和比较著名的二八原则有点相似,二八原则可以理解为‘80%的利润来自于20%的热门商品’。而在电子商务的话,这些不热门的商品数量及其庞大,因此长尾商品的总销售额将是一个不可小觑的数字。

        书里以电影为例子,说明推荐系统是如何工作的。说的比较好

1.社会化推荐。即根据好友的兴趣来推荐。比如说问好朋友有没有什么好的电影,或者发个微博问,等着好朋友的回复。

2.基于内容的推荐。即利用item的标签来进行推荐。比如喜欢周星驰的电影,那么就搜索周星驰的电影里哪些电影是还没有看过的。推荐系统就可以利用用户曾经看过的电影找到用户喜欢的演员或电影,推荐给用户他感兴趣的但又没看过的。

3.基于协同过滤的推荐。是一种基于群体智慧的方法。比如说电影,看别人都在看什么电影,然后找一部广受好评的电影观看。找到和自己历史兴趣相似的一群用户,看他们最近在看什么电影,这样的结果比宽泛的热门排行榜更符合自己的兴趣。

(原来社会化推荐和协同过滤不是一种啊) 

‘ 推荐算法的本质是将用户和物品联系起来,不同算法利用了不同的方式。常用的有好友、历史兴趣、注册信息’。这句话总结的很好,每点展开都可以有很大的扩展。

 

 


http://www.ngui.cc/el/4465978.html

相关文章

《推荐系统实践》读书笔记-2.推荐系统的应用

领域有很多,几乎每个领域都可以进行推荐。 1.电子商务 不得不说,电商确实是推荐系统应用的最广泛也最厉害的领域。比如说亚马逊,被称为‘推荐系统之王’。在学习的时候,从电商的推荐系统中学习方法是很好的,基本都是…

《推荐系统实践》读书笔记-3.推荐系统评测

越读下来越觉得这本书写的是真好,系统性把握的好,知识全面,又浅显易懂,如果我在刚入学就读了这本书,估计读论文时能真正吸收为自己知识的点也会多很多啊。 首先,推荐系统它一般存在三个参与方:…

安装xlearn包 (学习FM因子分解机)

在看文献的时候发现了LibFM工具,接着看到了xlearn,是一个比Libfm和Libffmm更好的机器学习算法库,高性能且易用。 由于安装步骤找的很麻烦,现在写下来方便有缘人^.^。 简单说共有三步: 1.安装Visual Studio 2017 2.安装…

改变anaconda prompt的根路径

解决问题: 想在anaconda prompt中打开另一个路径的文件 比如prompt路径默认是c盘,但我想打开d盘的内容。 方法就分为简单的三步啦 步骤: 1.输入"cd..",退回上一路径,直到路径为C:\> 2.输入"D:" 3.输入&qu…

解决ERROR:‘No module named ‘pyLDAvis.gensim‘

在LDA可视化时,需要 import pyLDAvis.gensim as gensimvis,但是我出现了错误:‘ModuleNotFoundError: No module named pyLDAvis.gensim 自己在百度几种方法后成功解决,写下来方便有缘人^.^ 网上的解决方法是[报错原因是版本不同…

导出anaconda的代码为pdf

在尝试将pycharm的代码导出为pdf无果时,选择了用anaconda。 方法写下来,方便有缘人^.^ 个人的做法比较简单粗暴,适合导出代码不是很多的: 使用打印的快捷键CtrlP 就会出现如下界面: 在网上看到的导出结果都是这样的…

吴恩达老师机器学习相关资源

写下来方便有缘人^.^ 网上搜集的,吴恩达老师的机器学习课程相关资源: (前两个是视频,后两个是作业代码) 1.官方coursera。Coursera | Online Courses & Credentials From Top Educators. Join for Free | Course…

软件设计面向用户准则

1.针对低端用户和高端用户如何在设计上权衡呢? 我认为有以下几点需要区分:a.从配置上讲不管低端用户还是高端用户,对配置的要求都是一致的,在一个地方配置不要分散在多个地方,并且要一次配置成功,且配置成功后一定要能使用。b.用户界面的功能…

思想的形成

我认为要形成思想,首先要提出问题(要有普遍性和创造性),然后针对提出的问题要给出解决方案,对解决方案的系统化和高度概括,并且要有很严谨的逻辑性,要是独创的,那么思想就形成了。

应用软件开发平台的定义

我认为设计应用软件平台首先要定义什么是应用软件开发平台,故名思意,应用软件开发平台就是提供一个支撑业务系统快速开发的这么一个系统,要把架构,功能和设计抽象并在平台中固化下来,提供配置和集成工具,并且平台的架构是可变的可组装和扩展的…