最近,Hulu又推出了推荐算法课程,关键是免费的,太良心了有没有。平常动辄几百几千的小象学院的课程,现在统统不要钱。我听了第一节,感觉实用性很强,肯定不会有很深入的讲解,适合学生和想入场推荐系统的算法工程师来学习。同时Hulu提供了几道推荐算法的面试题,大家可以体会一下。
第一节课主要讲了几种基础的推荐算法模型(协同过滤,因式分解机,逻辑回归,提升树)
推荐算法在使用场景有:
1 视频网站,推荐视频(例如hulu,抖音等)
2 网购网站,推荐商品(例如京东,淘宝,Amazon)
3 新闻网站,推荐新闻(例如今日头条)
推荐算法的基础假设:
1 信息过载
2 用户不确定自己想看的内容
协同过滤算法:
协同过滤算法是一种上下文无关的推荐算法
它的初衷是用户的历史和未来趋势保持一致
协同过滤算法有两种:基于用户的推荐算法和基于物品的推荐算法
基于用户的推荐算法:通过找到类似的用户,从而做推荐
基于物品的推荐算法:通过购买或者点赞的产品从而做推荐
好处:
简单,可解释性强
缺点:
需要占用存储(维护矩阵),稀疏矩阵问题
矩阵分解:
上下文无关的推荐算法
初衷:发现高维特征
进一步完善矩阵分解:
u表示平均打分在目录中
表示商品间的打分差异
表示用户的打分差异
优点:
更泛化性(即使两个用户没有给相同商品打分),节约存储空间(只需要保存两个低维向量)
缺点:
不好解释;更加稀疏
逻辑回归模型:
初衷:增加上下文信息到模型,把推荐系统作为一个分类问题来解决
用户,商品,上下文信息可以被转化为分类变量(比如性别,时间区间等)
最后加入sigmoid函数映射到0-1空间中。
好处:可解释性比较强;可以并行快速训练;训练开销比较低;可以在线训练
缺点:需要特征工程;模型的表达能力差
因式分解机:
初衷:考虑到特征间的交叉
)
好处:表达能力比较强;很好泛化能力了;相对低的训练开销
缺点:做更高层的特征交叉比较难
Gradient Boosting Decision Tree(GBDT)提升树
提升树是基于Boosting的原理:使用多个弱分类器串行成集成分类器
提升树算法是通过集合多个决策树而得到的
第一道:从基于用户的协同过滤和基于物品的协同过滤的原理思考,下列场景中使用哪种协同过滤算法更加适合?为什么?
(1)新闻资讯推荐
新闻网站更适用于基于用户的协同过滤算法,兴趣相似的用户关注的新闻相似的概率比较大。
(2)电商网站推荐
电商网站更适用于基于物品的协同过滤算法,使用用户关注或者购买过的物品可以更精准推荐他未来购买的物品。
第二道:为什么逻辑回归模型在工业界受到了广泛应用?LR相对于其他的模型,尤其是GBDT模型,突出的优点是什么?
逻辑回归可解释性强,并且可以在线计算。相对于GBDT串联型结构,LR可以并行,所以得到工业界的欢迎。
第三道:为什么说提升树模型(GBDT)难以并行化?从Boosting方法的角度上给出简单的解释。
Boosting是通过不断增加新的模型预测,这种方式是无法并行化操作。
出自:世相科技
欢迎点赞支持