导读:大数据平台只是提供了数据获取、存储、计算、应用的技术方案,真正挖掘这些数据之间的关系让数据发挥价值的是各种机器学习算法。在这些算法中,最常见的当属智能推荐算法了。下面通过几种简单的推荐算法来了解一下推荐算法背后的原理。

作者:李智慧

来源:大数据DT(ID:hzdashuju)

我们在淘宝购物,在头条阅读新闻,在抖音刷短视频,背后其实都有智能推荐算法。这些算法不断分析、计算我们的购物偏好、浏览习惯,然后为我们推荐可能喜欢的商品、文章、视频。这些产品的推荐算法如此智能、高效,以至于我们常常一打开淘宝就买个不停,一打开抖音就停不下来。

01 基于人口统计的推荐

基于人口统计的推荐是相对简单的一种推荐算法,它会根据用户的基本信息进行分类,然后将商品推荐给同类用户,如图1所示。

▲图1 基于人口统计的推荐算法

用户A和用户C的年龄相近、性别相同,可以将他们划分为同类。用户A喜欢商品D,因此推测用户C可能也喜欢这个商品,系统就可以将这个商品推荐给用户C。

图1中的示例比较简单,在实践中,还应该根据用户收入、居住地区、学历、职业等各种因素对用户进行分类,以使推荐的商品更加准确。

02 基于商品属性的推荐

基于商品属性的推荐和基于人口统计的推荐相似,只是它是根据商品的属性进行分类,然后根据商品分类进行推荐的,如图2所示。

▲图2 基于商品属性的推荐

电影A和电影D都是科幻、战争类型的电影,如果用户A喜欢电影A,很有可能他也会喜欢电影D,因此就可以给用户A推荐电影D。

这和我们的生活常识也是相符合的。如果一个人连续看了几篇关于篮球的新闻,那么再给他推荐一篇篮球的新闻,他很大可能会有兴趣看。

03 基于用户的协同过滤推荐

基于用户的协同过滤推荐是根据用户的喜好进行用户分类,然后根据用户分类进行推荐,如图3所示。

▲图3 基于用户的协同过滤推荐

这个示例中,用户A和用户C都喜欢商品A和商品B,根据他们的喜好可以分为同类。用户A还喜欢商品D,那么将商品D推荐给用户C,他可能也会喜欢。

现实中,跟我们有相似喜好、品味的人也常常被我们当作同类,我们也愿意去尝试他们喜欢的其他东西。

04 基于商品的协同过滤推荐

基于商品的协同过滤推荐则是根据用户的喜好对商品进行分类,然后根据商品分类进行推荐,如图4所示。

▲图4 基于商品的协同过滤推荐

这个示例中,喜欢商品B的用户A和用户B都喜欢商品D,那么商品B和商品D就可以分为同类。对于同样喜欢商品B的用户C,很有可能也喜欢商品D,就可以将商品D推荐给用户C。

这里描述的推荐算法比较简单。事实上,要想做好推荐其实是非常难的,用户不要你觉得他喜欢,而要自己觉得喜欢。现实中,有很多智能推荐的效果并不好,被用户吐槽是“人工智障”。推荐算法的优化需要不断地收集用户的反馈,不断地迭代算法和升级数据。

关于作者:李智慧,资深架构专家,同程旅行交通首席架构师,曾在NEC、阿里巴巴、Intel等知名企业担任架构师,也曾在WiFi万能钥匙等企业担任CTO。长期从事大数据、大型网站的架构和研发工作,领导设计过多个日活用户在千万级以上的互联网系统架构,实战经验丰富。曾设计、开发过 Web 服务器防火墙、分布式NoSQL 系统、大数据仓库引擎、反应式编程框架等各种类型的软件系统。

本文摘编自《架构师的自我修炼:技术、架构和未来》,经出版方授权发布。

延伸阅读《架构师的自我修炼:技术、架构和未来》

点击上图了解及购买

转载请联系微信:DoctorData

推荐语:大型网站技术架构作者李智慧新作,通过架构师的4项自我修炼,构建你的架构师知识体系,完整展示架构师修炼之道。

划重点????

干货直达????

  • 反直觉的三门问题,为什么80%的人都错了?

  • 刚刚!阿里云宣布2021要“做厚中台”!有哪些书值得读?

  • 盘点数据科学最流行的29个Python库

  • 硅谷企业的大数据平台架构什么样?看看Twitter、Airbnb、Uber的实践

更多精彩????

在公众号对话框输入以下关键词

查看更多优质内容!

PPT | 读书 | 书单 | 硬核 | 干货 讲明白 | 神操作

大数据 | 云计算 | 数据库 | Python | 爬虫 | 可视化

AI | 人工智能 | 机器学习 | 深度学习 | NLP

5G | 中台 | 用户画像 1024 | 数学 | 算法 数字孪生

据统计,99%的大咖都关注了这个公众号

????

零基础科普:4种简单推荐算法背后的原理相关推荐

  1. 算法:三种简单排序算法

    排序算法比較常见的有:冒泡排序.简单选择排序.直接插入排序:希尔排序.堆排序.归并排序和高速排序算法等. 今天先学习一下前面三种比較简单的算法.排序的相关概念: ①排序的稳定性:两个或多个元素相等.排 ...

  2. 零基础入门推荐系统(新闻推荐)

    零基础入门推荐系统(新闻推荐) 比赛介绍 本次新人赛是Datawhale与天池联合发起的零基础入门系列赛事第五场 -- 零基础入门推荐系统之新闻推荐场景下的用户行为预测挑战赛. 赛题简介 此次比赛是新 ...

  3. 写给前端的算法进阶指南,我是如何两个月零基础刷200题 等推荐

    大家好,我是若川. 话不多说,这一次花了几小时精心为大家挑选了20余篇好文,供大家阅读学习.本文阅读技巧,先粗看标题,感兴趣可以都关注一波,一起共同进步. 前端从进阶到入院 作者ssh就职于字节跳动基 ...

  4. python中5种简单的数据类型,Python小白零基础入门 —— 变量及简单的数据类型

    微信公众号:「Python读财」 若有问题或建议,请公众号留言 最近想着出一个Python小白零基础入门系列的文章,但愿能对入门的小伙伴有所帮助,内容会囊括简单的数据类型.列表.字典.循环以及函数的定 ...

  5. salesforce lightning零基础学习(一) lightning简单介绍以及org开启lightning

    lightning对于开发salesforce人员来说并不陌生,即使没有做过lightning开发,这个名字肯定也是耳熟能详.原来的博客基本都是基于classic基于配置以及开发,后期博客会以ligh ...

  6. MySQL 学习一:新手一学就会,MySQL 零基础增删改查简单入门教程

    文章目录 前言 一.MySQL 的相关概念介绍 二.Windows 下 MySQL 的配置 2.1.MySQL 安装配置步骤 2.2.MySQL 服务的启动.停止与卸载 三.MySQL 脚本的基本组成 ...

  7. 零基础学python书籍-图书推荐:《零基础学Python(全彩版)》

    原标题:图书推荐:<零基础学Python(全彩版)> 书皮 书皮 内容简介 <零基础学 Python>是针对零基础编程学习者研发的 Python 入门教程.从初学者角度出发,通 ...

  8. java 调用关系_【Java基础】几种简单的调用关系与方法

    直接上代码吧. class lesson4AB //同一个类下的public修饰的方法A,B可以相互调用 { public void A() { B();//等价于this.B(); } public ...

  9. 你的目的是什么是谁指使你_零基础是一种回归初心的思考:写作的目的是什么?怎么写?写谁?...

    几个月之前更新文章都是按照心情来写,自然而言写的是自己的体会,所以容易转圈子,无法让思维成长.如今知道了权重的问题,就按照日更方式写,写的是时间与系统的文章,有几次甚至出现了违规. 每天3个小时的写作 ...

最新文章

  1. 生物信息行业应该具备哪些基础素养?重点应该放在计算机方面还是生物方面或者说其他?
  2. 常用的shell脚本
  3. 美国宇航局:十年内VR/AR设备将成为标配
  4. BindingException: Invalid bound statement (not found)问题排查:SpringBoot集成Mybatis重点分析...
  5. Spring 中经典的 9 种设计模式,打死也要记住啊!
  6. wifi共享大师电脑版_Wifi分析助手PC版-Wifi分析助手电脑版下载 v7.2.2-
  7. 从发小(一起长大的玩伴)聚会引发的思考
  8. LiveWriter测试
  9. start()和run()的区别
  10. 视频版ImageNet?快手搞了一场用户兴趣建模大赛 | 附前三名干货
  11. 第三次握手为什么没有序列号_TCP三次握手机制-深入浅出(实例演示)
  12. JQuery时间轴timeline插件的学习-Lateral On-Scroll Sliding with jQuery+technotarek / timeliner
  13. matlab里用simulink仿真教程,Matlab-Simulink仿真教程课件.ppt
  14. python 异步定时任务
  15. 情感分类(Sentiment Classification)
  16. java线程之读写锁
  17. Firefox,IE5,IE6,IE5.5等浏览器兼容性解决方法
  18. 开发用于异构环境的可生存云多机器人框架
  19. 为什么说Python现在是风口上的猪?
  20. Java给字符串数组动态赋值

热门文章

  1. canvas笔记-lineCap的使用
  2. Qt工作笔记-自定义打印及存日志及stderr转stdout(Linux程序调试技巧,提高开发效率)
  3. Redis工作笔记-事务
  4. Android studio如何更改应用程序的图标以及名称
  5. 数据模型和数据库系统的模型结构
  6. Linux系统中read的用法,Linux中read命令的用法
  7. ipad怎么连接电脑_苹果连接电脑没反应怎么办
  8. 计算机网络之应用层:1、概述
  9. (王道408考研操作系统)第二章进程管理-第三节8:经典同步问题之吸烟者问题
  10. 栈溢出笔记1.9 认识SEH