七月在线4月机器学习算法班课程笔记——No.9
前言
推荐系统——我早就很感兴趣的一个方向,可以说是机器学习在各个公司广泛应用的一个内容,从求职招聘就可以感觉到。另外,我们也经常在使用推荐系统,比如以推荐为特色的今日头条(你关心的,才是头条),还有淘宝的商品推荐等。曾经试图在网络上了解推荐系统,但都是零散的内容,不是太系统。这次算是有条理的学习了,get到了之前好奇的问题,自然要好好整理。
这篇的主要内容有:推荐系统需求、推荐系统结构与评估;基于内容和协同过滤等推荐算法;推荐系统案例讲解 。
1. 推荐系统
1.1 推荐系统——是什么?
如果定义推荐系统,则有:
其中,C是全体用户集合,S为全部商品/推荐内容集合,u是评判把si推荐ci的好坏评判函数,推荐是对于c∈C,找到s∈S,使得u最大。
说人话,推荐系统就是 根据用户的历史行为、社交关系、兴趣点、所处上下文环境等信息去判断用户的当前需求/感兴趣的item。
这里特别说明一下“社交关系”。有好多的app都有QQ/微信/微博登录,相比于注册账号,这种方式简单易记住账号。登录之后,app就可以获取好友关系,把好友感兴趣的内容推荐给你。这样,在没有“历史行为”的情况下也可以进行有效的推荐。
1.2 推荐系统——为什么?
从用户的角度:在互联网信息大爆炸的时代,每天有听不完看不完的讯息,每个人关注的内容都不一样,怎样让每个人都能迅速get到内心所爱呢?对推荐系统有了很大的需求。有了推荐系统,用户不用再信息的海洋苦苦搜索,偶尔可能还有surprise(猜你喜欢),增强了用户体验。总结一下就是:找到喜欢的、帮助决策、发现新事物。
从商家的角度:通过推荐系统可以提供个性化服务,提高用户信任度和粘性。当然,还可以增加营收。比如Google news推荐系统能带来额外38%的点击;亚马逊每年35%的销售额都来源于它的推荐;今日头条半数以上新闻和广告点击来源于推荐。
1.3 推荐系统——系统结构?
系统结构,先看这张图:
分为offline和online两部分。offline做数据数理和模型学习,得到模型,online做推荐判定推出结果,对准确度和时间要求比较高。
1.4 推荐系统——评定标准?
假定我们已经有了一个推荐系统,那么需要评估后才能上线。如何评估呢?
1)准确度:评定方法有打分系统、Top N推荐。
打分系统:例如豆瓣电影的电影评分,淘宝的商品打分等。设 rui 为用户u对物品i的实际评分, rˆui 为预测分。|T|是测试的样本集,用RMSE和MAE来评判两者之间的差异性。