学习记录(3.25-3.26)
-
最初这两天吧,先是花一点时间把anaconda跟pycharm装好,然后了解了一下readme文件是怎么写的,才知道需要用到markdown,而且刚刚好我这个CSDN新手可以用markdown来写博客。接着开始学习推荐系统。
-
下面是对一些内容的笔记,主要是基础知识层面的内容,目的是方便后续复习,写得很粗糙hhh(第一次写博客,肯定有许多不足)。
目录
第一章:
个性化音乐网络平台:
- 要素;
- 两种推荐原理
其他一些领域的推荐应用:
- 个性化阅读
- 邮箱推荐系统
推荐系统测评:
- 推荐系统的三个参与方
- 一个好的推荐系统的要素
- 推荐系统的实验方法
- 测评指标
- 测评维度
第二章:
用户行为数据
用户行为分析
实验设计和算法评测
基于领域的算法
第一章
个性化音乐网络电台(个性化推荐)
- 要素:
①信息过载;
②用户无明确要求 - 两种推荐原理:
①专家听N首歌,将相似的进行标注;
②比较不同用户听歌记录或歌单,为有较高相似度喜好或需求的用户提供他们听过的歌曲。(一种是死的,一种是活的) - 音乐推荐领域独有的特点:小、快、免费、用户充满激情、高社会化
其他一些领域的推荐应用:
- 个性化阅读:
①根据用户follow(关注)的人,可以看到他所转发的文章。熟悉应用如:微博、全民K歌;
②当然,上面音乐推荐系统的原理在阅读领域同样适用。 - 邮箱推荐系统:根据阅读习惯收集部分到一特定箱内
推荐系统测评:
- 推荐系统的三个参与方:
①用户;
②物品提供者;
③提供推荐系统的网站 - 一个好的推荐系统的要素:
①满足各方利益;
②实时更新(与时俱进、拓宽视野); - 推荐系统的实验方法:
①离线实验(日志系统、用数据建立兴趣模型、预测结果);
②用户调查(需要用户行为来测评;要控制成本并保证结果有意义就需要合理选择测试用户;优点是可以得到真实的用户满意度;缺点如需要花费用户时间与耐心);
③在线实验(AB测试,按一定规则将在线用户分组,统计数据到数据库,后台用不同的算法得出测评指标,比较算法性能) - 测评指标:
①用户满意度(问卷、点击/购买率、停留时间等);
②预测准确度(评分预测–均方根误差/平均绝对误差;TopN推荐–推荐结果召回率/推荐结果准确率–用集合);
③覆盖率(信息熵/基尼系数–不太懂、马太效应–热门的更热门–基尼系数);
④多样性(用户的推荐列表多样性、推荐系统整体多样性);
⑤新颖性(推陈出新–如推荐平均流行度较低的);
⑥惊喜度(需降低相似度,提高满意度);
⑦信任度(可选择提高推荐系统的透明度);
⑧实时性;
⑨健壮性(攻击如搜索引擎/商品购买系统/评分系统、测评–模拟攻击并比较前后生成的推荐列表、防止–如用代价较高的用户行为设计推荐系统–又如使用数据前进行检测和清理);
⑩商业目标。 - 测评维度:
①用户维度;
②物品维度;
③时间维度。
第二章
引言:啤酒与尿布的故事:利用用户行为数据(协同过滤算法–用户协同互动,过滤掉不感兴趣的物品)
用户行为数据:
- 收集到后台日志;
- 用户行为的反馈分为显性反馈行为/隐性反馈行为;
- 用户行为的统一表示(py设置类属性),但也存在许多差异;
- 不同的数据集:有/无上下文信息的显/隐性反馈数据集;
用户行为分析:
- 用户活跃度和物品流行度的分布;
- 用户活跃度和物品流行度的关系(新用户倾向热门、老用户倾向冷门);
- 基于用户的协同算法/基于物品的协同算法;
实验设计和算法评测:
- 数据集;
- 实验设计(py算法将数据随机分成训练集和测试集);
- 测评指标(py算法计算召回率/准确率;覆盖率;新颖度;所用数据如:向用户推荐的物品集合、用户在测试集上喜欢的物品集合);
基于领域的算法:
- 基于用户的协同过滤算法:
①基础算法(py算法计算用户的相似度,为用户提供与其相似度高的用户浏览过的陌生物品);
②用户相似度计算的改进; - 基于物品 的协同过滤算法:
①基础算法(py算法计算物品之间的相似度,在一个二维矩阵内记录同时喜欢i、j物品的用户个数,数越大则i、j物品相似度越高);
②用户活跃度对物品相似度的影响(不同的人如书店主与文学青年对所购买书的两两相似度的贡献不同,处理时可选择舍去);
③物品相似度的归一化;
隐语义模型
基于图的模型
其中第二章内容部分涉及py算法