这一讲主要讲了其他的一些主题:
Treat Model
Cold Start
Context Awareness Recommender System
Group Recommendation
Industrial Practical
Treat Model
Threat主要是指对推荐系统的accuracy、privacy、robustness的threat,主要如下表所示:
分类 | 产生原因 | 解决方法 |
---|---|---|
accuracy | malicious user的恶意评分来拉高或者拉低某个产品的分数 | 对用户进行判断,让用户自己证明自己是自己(user to prove themselves) |
privacy | service provider / vender想要获取user的信息,利用信息和已知的算法(Pearson correlation)来构造出自己的优势 | seperate(使vender无法获取user的数据)、anonymous、encryption(加密) |
robustness | 用户自己表现出的一些随机扰动 | denoise(但是课程中并没有涉及到相关的内容) |
Cold Start
Cold Start(冷启动)这个问题很常见,通常一个新的东西出来因为所有的人都对他不了解,才引起的这一现象。
常见的冷启动分为以下几类:
分类 | 解决方法 |
---|---|
user | 推荐popular的item给用户;利用那些non-personalized的方法进行原始的推荐;让用户填写一些preference的选项,以此来构建用户的profile |
item | content-based的方法来进行推荐;test with some user who has wide preference(给拥有广泛兴趣爱好的用户进行推荐) |
system | 购买用户数据;先不启用推荐系统,待收集足够的数据之后再来使用 |
课程整体总结
基本算法
Non-personalized
content-based
Item/User based
Dimensionality Reduction
评价方式
与推荐的具体目标相关[2]
分类 | 常见方法 |
---|---|
Accuracy | MAE;MSE;RMSE |
Decision Support | Rehearsal;Precision & Recall;ROC & AUC |
Rank | Reciprocal Rank;Spearman;DCG; |
User and Usage-centered | Diversity;Coverage;Serendipity |
基本的数据形式与展示方式/接口
主要原则
确定是进行Prediction还是Recommendation
确定**推荐的目的**Evaluate what you want to optimize
用户体验User Experience
本节访谈总结
Context Awareness Recommender System
根据不同的context来推荐不同的东西。另外也可以根据context来消除ambiguity。
加入context因素的模型可以采用下面的方法进行处理:
Pre-Filter Post-Filter Contextual Modeling
具体的过程见下图:
Learning to Rank
通过各种implicit信息与rank信息的融合,利用机器学习中的相关算法,进行模型训练,最终得到prediction。
Group Recommendation
要了解群体的一些特性——assimilate(即在群体做决策时,人们知道其他人的选择时,人们之间更容易达成共识)
策略1——选取中位数(至少有一半人满意,但同时也有一般人不满意)
策略2——只要有不满意的就不选择,会造成个人的权利太大的情况
Industrial Practical
LinkedIn推荐系统的架构
feature-》Algorithm-》Selection-》A/B Test-》应用层
访谈的总结
magic is in the features——特征选取很重要
different strokes for different folks——不同的人要有不同的方法
测试新方法的效果时,应该让新方法执行一段时间再来做评价,以避免novelty effect(人们都乐意尝试新的功能)