当前位置: 首页 > 科技观察

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

时间:2023-03-22 15:57:41 科技观察

本文转载自微信公众号《大数据DT》,作者李志辉。转载本文请联系大数据DT公众号。大数据平台仅提供数据采集、存储、计算和应用的技术解决方案。真正挖掘这些数据之间的关系,让数据发挥作用的,是各种机器学习算法。在这些算法中,最常见的是智能推荐算法。下面介绍几个简单的推荐算法,了解推荐算法背后的原理。我们在淘宝上购物,在今日头条上看新闻,在短视频上浏览短视频,背后都有智能推荐算法。这些算法不断分析和计算我们的购物偏好和浏览习惯,然后推荐我们可能喜欢的产品、文章和视频。这些产品的推荐算法非常智能和高效,以至于我们常常一打开淘宝就停不下来,一打开就停不下来。01Demographic-basedrecommendationDemographic-basedrecommendation是一种比较简单的推荐算法,根据用户的基本信息对用户进行分类,然后向相似的用户推荐产品,如图1所示。▲图1Demographic-basedrecommendationalgorithm用户A和用户C年龄和性别相近,所以可以归为一类。用户A喜欢产品D,因此推测用户C可能也喜欢这个产品,系统可以将这个产品推荐给用户C。图1的例子比较简单。在实践中,应根据用户收入、居住地区、教育背景、职业等多种因素对用户进行分类,使推荐的产品更加精准。02基于商品属性的推荐基于商品属性的推荐类似于基于人口统计的推荐,只是根据商品的属性对商品进行分类,然后根据商品分类进行推荐,如图2所示。▲图2推荐基于产品属性的电影A和电影D既是科幻片又是战争片。如果用户A喜欢电影A,那么他很可能也会喜欢电影D,那么电影D就可以推荐给用户A,这也符合我们的生活常识。如果一个人连续看了好几条关于篮球的新闻,再向他推荐另一条关于篮球的新闻,他很可能就会有兴趣看。03User-basedcollaborativefilteringrecommendationUser-basedcollaborativefilteringrecommendation是根据用户的喜好对用户进行分类,然后根据用户分类进行推荐,如图3所示。▲图3User-basedcollaborativefilteringrecommendation在本例中,用户A和用户C都喜欢产品A和产品B,可以根据他们的喜好将他们归为同一类。用户A也喜欢产品D,所以向用户C推荐产品D,他也可能喜欢。现实中,和我们有相似喜好和品味的人,往往被我们当成同类对待,我们也愿意去尝试他们喜欢的其他东西。04Product-basedcollaborativefilteringrecommendationProduct-basedcollaborativefilteringrecommendation是根据用户喜好对商品进行分类,然后根据商品分类进行推荐,如图4所示。▲图4Product-based协同过滤推荐在本例中,喜欢产品B的用户A和用户B都喜欢产品D,那么产品B和产品D可以归为同一类。对于同样喜欢产品B的用户C,很有可能他也喜欢产品D,所以可以将产品D推荐给用户C。这里描述的推荐算法比较简单。事实上,要做出好的推荐是非常困难的。用户不希望你认为他喜欢它,但他们必须认为他们喜欢它。现实中,有很多智能推荐效果不佳,被用户投诉是“人工智障”。推荐算法的优化需要不断收集用户反馈,迭代算法和升级数据。作者简介:李志辉,资深建筑专家,同程交通首席架构师。曾在NEC、阿里巴巴、英特尔等知名公司担任架构师,也曾在WiFiMasterKey等公司担任CTO。长期从事大数据和大型网站架构及研发工作,主导设计了多个日活跃用户数千万以上的互联网系统架构。他有丰富的实践经验。曾设计开发过Web服务器防火墙、分布式NoSQL系统、大数据仓库引擎、反应式编程框架等各类软件系统。本文节选自《架构师的自我修炼:技术、架构和未来》,经出版社授权发布。