查看原文
其他

推荐系统门外逛逛没进去

机智的叉烧 CS的陋室 2022-08-08

往期回顾:

不知道大家有没有想我。感觉最近的节奏应该是可以回归了Orz,上次发布,大概在很久以前了吧。

最近做的工作重点从NLP转移到了浅层的机器学习中,而去了解更过偏向于特征工程方面的内容,特征工程师机器学习的上游工作,有“特征调不好,调参调不好”之说,而在这块,相比NLP、图像处理等,处理性质相近的特征相比,计算广告、推荐系统,甚至还有调度、定价等,则需要更多的了解特征,了解业务,为了提升自己的业务能力以及对问题的理解能力,特地学习了推荐系统以及里面的一些思想,如题,我只是在门外逛逛了解了解,还算不上正式入门,欢迎给些意见~

什么是推荐系统?

按照项亮在《推荐系统实践》中的定义,推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己有价值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信息生产者的双赢,其实就是一个沟通生产者和消费者的桥梁,这个信息可以是物件,也可以是服务,可以是商铺、商品、音乐、视频、推文等,大家最为熟知的应该就是“猜你喜欢”这项了,其实这个就是其中一项推荐系统的产品。

推荐系统中使用了什么方法?

推荐系统算法中,最常见的就是“协同过滤”,这个词涵盖了推荐系统整体的算法思想,其思想就是利用已有的晕乎群过去的行为和意见来判断当前用户喜欢或者感兴趣的内容,很多人把它当做是一种方法,但是个人感觉更像是一种思想,虽然方法本身已经逐渐被新的机器学习算法替代,但是其思想还是被完整的保留了下来。

协同过滤主要分为基于用户的协同过滤和基于物品的协同过滤,这个区分主要是从用户角度还是从物品角度进行过滤,是找相同用户用过的产品进行推荐,还是找相似的用品进行推荐,两者最核心的差别就是基于用户的会更加体现社会化,而基于物品会更加体现个性化,两者各有优点缺点。

推荐系统中需要考虑的关键点

推荐系统远远不止这些内容,下面一些内容是在上面的基础上需要考虑的。

  1. 推荐系统不仅要体现用户体验,还需要体现商家的收益,因为推荐系统是两者的桥梁,以完成信息推荐的目的,所以不仅要考虑准确率等用户方向的指标,还要考虑覆盖率等商家关心的指标。

  2. 冷启动,在项目上线之初,需要在没数据或者数据较少的情况下进行推荐,此时需要进行冷启动。

  3. 用户标签,用户的数量很多,通过标签的模式定义用户然后根据标签群体进行分析,另一方面物品也有相似的标签系统,此时能降低计算复杂度的同时也能保证更精准地定义用户。

  4. 时间上下文,随着时间的变化,用户的兴趣点会随之变化,需要尽快识别。

  5. 对热门的处理,协同过滤能够推荐一些在特定圈子内很流行的物品,然而有一些物品其实是具有普适性的,任何人群都喜欢,占据非常高的权重,此时需要降权。

  6. 多样性,需要考虑推荐物品的多样化,不能全都相同。

常用的检测指标

首先肯定是准确性类的评价指标,这个相信大家都比较熟悉,准确率、召回率和F1,另外基于打分的还有RMSE、MAE等,另外用户侧还需要考虑个体多样性、新颖性,系统整体有整体多样性,商家侧有覆盖率等。

推荐材料

目前都只是在读书,看一些很基础的东西,涉及到的基础的东西,推荐下面两本书:

  • 推荐系统实践,项亮,已经撸完(快速的23333),优秀

  • 推荐系统:技术、评估及高效算法,弗朗西斯科·里奇,感觉是全书级别的,更加优秀,看起来略吃力

至于一些比较前沿的东西,我感觉还是想深入了解,推荐一位老哥的公众号(小小挖掘机)吧,里面有一个系列有关深度学习+推荐系统的,了解一下:

后续

老是讲后续和预测,都爽约了= =时间比较少,自学的话后续会从深度学习方面入手,了解一些综合解决前面关键点的方法,上述的问题都已经有一些解决方案,但是具体现实情况怎么综合解决,就比较复杂了,后续深入探索。

另外最近自己在整理自己的文章和平台,后续再多个平台同步更新,详见下面的链接

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存