Skip to content

Latest commit

 

History

History
118 lines (93 loc) · 11 KB

《推荐系统[奥]DJ.AF》笔记.md

File metadata and controls

118 lines (93 loc) · 11 KB

《推荐系统[奥]DJ.AF》笔记

Fire 2017.12.06

1 基本概念

1.1 协同过滤推荐

1.1.1基于用户的最近邻推荐

假设:1.用户过去有相似的偏好,未来也会有相似的偏好;2.用户偏好不会随时间变化。

  • 在基于用户的推荐系统中,皮尔逊相关系数更好;在基于物品的推荐中,余弦相似度更好。
  • 使对有争议的物品达成共识而不是广受欢迎的物品,可使用反用户频率iuf和方差权重因子。
  • 选择近邻。不必考虑所有近邻,以降低规模。实验显示20-50个近邻似乎比较合理。
1.1.2 基于物品的最近邻推荐

适合线下预处理,思想是利用物品相似度,一般采用余弦相似度。据介绍亚马逊就是采用了物品协同过滤(2003)。传统基于用户的CF不能很好的适应大规模用户和物品。

  • 标度系统分级最优值依旧有待讨论。
  • 数据稀疏问题。冷启动是其特例。应对方法有扩展激活,缺省投票等。
  • 矩阵因子分解。SVD/潜在语义索引LSI/PCA。09年的nexflix竞赛表明很多参赛团队用到的高等矩阵因子分解方法对提高预测准确率有帮助。
  • 关联规则挖掘。是一种在大规模交易中识别类似规则关系模式的通用技术。例如“啤酒纸尿布”。
  • Slope One预测器。近来实际的方法和系统,虽然非常简单但也能得到适当的推荐质量。

1.2 基于内容的推荐

文献中基于内容和基于知识的没有明确界限,有些学者认为内容是知识的子集,本书遵循传统分类。基于内容的特点是利用物品描述信息,基于知识推荐一般会有一些附加的因果知识来生成推荐,比如某个实用功能。

  • 内容表示和相似度。相似度有简单的0/1相似度,或者计算重叠度等,根据实际的问题各种测量方法都是有效的。向量空间模型和TF-IDF / TF-IDF一般很大且稀疏,可以使用技术让它们更紧凑:停用词和词干还原,精简规模,使用短语,局限是没有考虑上下文。
  • 基于内容相似度检索。最近邻,基于余弦相似度的knn,但knn一般比其他更复杂的技术精度低。/ 相关性反馈-Rocchio方法。/显示决策模型(决策树和规则归纳法) / 特征选择(基于卡方检验)
  • 对比评估:详细的算法笔记无法清晰分出胜负,但可以看到,决策树在既定条件下表现不突出,且最近邻在某些领域表现很差。贝叶斯和rocchio在所有领域都表现良好且没明显区别。且贝叶斯速度较快。还有一些提高分类性能的技术:特征管理,层级分类等。
  • 局限:浅层内容分析;推荐结果缺乏新颖性;获取评分。

1.3 基于知识的推荐

可以解决类似于购买房,车因为数据少CF效果不好的问题。不需要评分就可以推荐,不依赖单个用户评分。

两种基本类型:基于约束推荐/基于实例推荐。过程相似:用户必须指定需求,系统设法给出解决方案,及解释。

(与我们产品关系不大,先跳过。)

1.4 混合推荐方法

推荐问题通常可转换成效用函数rec,预测物品集合I中的物品i对整个用户集U中某个特定用户u的有用性,大多数应用中区间是0-1。

  • 混合设计。三种基本思想:
    1. 整体式:将几种推荐策略整合到一个算法中实现的混合设计。方案有特征组合,特征补充。
    2. 并形式:几种推荐系统独立运行,分别产生推荐列表,然后组合到最终推荐集合。并行策略有加权(加权求和),交叉(对应于阿里云同级权重),切换(对应于阿里云应用)。
    3. 流水线式:前一个推荐系统的输出变成后一个推荐系统的输入,后者也可以选择使用部分原始输入。策略有串联,分层。

1.5 推荐系统的解释

解释用于沟通,一般为了商品的销售。推荐过程中提供解释的主要目的有:透明性(可以给用户更正错误假设的机会),正确性,可信度,说服力,有效性,效率(指帮助用户减少决策代价),满意度,关联度(解释为什么需要用户的额外信息),可解释性,教育(培养用户更好的理解产品领域)。

在CF中,Herlocker2000的研究成果:

  1. 效果最好的解释界面根据的是邻近者;
  2. 推荐系统只是简单的说明movielens过去的表现就能达到仅次于最好的效果。
  3. 提到与其他备受好评的电影或著名演员的相似度。这种内容相关的理由也是最好的效果。
  4. 设计简陋的解释界面会降低用户听从推荐的意愿,甚至与基线实例相比也是这样;
  5. 有趣的是,利用领域权威,比如电影评论家的评分辅助推荐,并不会提高认可度。

1.6 评估推荐系统

为了确保可以复现研究过程、验证结果,就必须完整的描述方法论,遵循系统的过程,而且要在评估应用的过程中将所有的决定记录下来。这就能回答如何研究的问题。此外,我们词啊用与衡量的标准(比如概念的有效性、可靠性、灵敏度)要与研究的实验对象本身密切相关,这就解决了研究什么的问题。

2 最新进展

2.1 针对协同推荐系统的攻击

简单的多注册几个账号然后给要攻击的目标特别好或者特别差的评分值,对大多数基于最近邻方法的实际系统并不奏效。只包含一个记录不会与任何其他用户记录相似。

插入伪造记录也不容易,一是攻击者访问不到评分数据库,无法有效的构造和已有记录相似的结果。其次,邻近者规模很大时,少数的攻击记录影响不大。而要插入大量伪造记录,也不大容易:1.许多商业系统禁止自动插入记录;2攻击状况下通常会在相对较短的时间内生成许多用户记录,这可以被有防攻击意思的推荐系统轻易识别。

  • 攻击维度。目前有关推荐系统弱点的研究关注的都是单个物品的攻击模式。

    1. 目的:推举攻击/打压攻击;
    2. 代价:插入新纪录的代价
    3. 算法依赖:攻击是针对某种特定算法而设计的吗
    4. 可识别性:攻击有多容易会被系统管理员/自动检测工具或系统用户自己识别出来?
  • 攻击类型。

    1. 随机攻击:插入记录的所有物品会被赋以随机值,随机值服从数据库中所有评分平均值和标准差决定的正态分布;方式简单,但评估结果相比其他方法效果差。
    2. 均值攻击:每个物品平均评分被用来确定插入记录的评分值。在用户协同过滤上效果更明显,代价是需要额外的知识来确定评分值。
    3. 造势攻击:利用来领域内评分数据库的其他外部知识,目的是提高插入记录拥有更多近邻的机会。即让插入记录只包含非常热门物品的高评分,这样更有可能找到许多有类似主流选择的近邻。且代价较低,也不需要额外的评分知识。
    4. 局部攻击:识别出对与物品A相似的物品感兴趣的群体。比如对新物品《哈利波特》新书,攻击者需要在插入记录中包含其他热门魔幻类图书的正面评分。专门设计攻击基于物品的CF,对基于用户的CF也有效。
    5. 针对性打压攻击:上述攻击类型在原则上对太高和打压单个物品都适用,但实验结果显示大多数攻击类型对抬高物品更有效。Mobasher2007提出了专门的打压攻击类型(爱/憎攻击:目标物品赋予最小值,其他随机物品赋予最高的值;反向趋势:将目标物品与许多人都不喜欢的其他物品联系起来。)。
  • 点击流攻击和隐式反馈。之前的攻击都假设有一个显式收集评分的模块,还有隐式反馈的攻击,比如点击行为。(比如网站上的“浏览”)目前还没有特别好的对策。

  • 效果评估和对策。为了测量攻击的实际影响,O'Mahony提出了鲁棒性(测量攻击前后整体准确率的转变)和稳定性(攻击引起的被攻击物品评分预测值的改变)的衡量方法。Mobasher引入了其他两种,对于推举攻击,使用“命中率”表示目标出现在前N的频率,对于打压攻击,物品预测排名的变化被用于衡量的结果。

  • 基于用户的CF,均值攻击和造势攻击都能显著误导推荐结果,当伪造3%数据时可以影响1.5的变化(5分制);基于模型的CF,算法更加稳定,伪造15%影响0.15分。

  • 【对策】

    1. 使用基于模型的技术和额外的信息。尽量采用不只是依赖评分信息的推荐系统,还可以利用群体中不同参与者之间的信任信息。
    2. 提高插入成本。验证码,限制单个ip插入数量等。
    3. 自动探测攻击。自动探测出可以记录,比如“群托”。
  • 隐私方面——分布式CF

    1. 集中方法:数据扰动。先通过随机数据扰动模糊评分再发给中央服务器。
    2. 分布式CF:点对点的CF;模糊数据的分布式协同CF;预估一致方法的分布式CF;构建群体和聚集;

2.2 在线消费决策

主要是电商推荐。

  • 努力-准确性框架
  • 构建偏好

个性和社会心理学:

  • 控制点:人能够控制正在发生事件的总数,预先定义好的静态对话适用于那些对控制推荐过程没有特别兴趣的用户(外在控制点);而更灵活的对话可以更好的支持对控制推荐过程非常感兴趣的用户(内在控制点)。
  • 结束的需求:指个人需要尽快做出决策,并得到还需要多少努力才能成功完成决策任务的反馈(比如问卷中的进度提示)。
  • 最大者和满意者:另外的两种基本的行为模式。最大者倾向于找出最优解,满意者会去搜索足够好方案,直到在可接受的阈值范围内找到一个方案。比如若用户一致关注产品专业特性的分析可归到最大者,可以给他更详细专业的解释。
  • 从众:推荐系统可以影响用户对物品的判断。用户界面对用户评分行为有很大的影响。
  • 信任。
  • 说服。

2.3 推荐系统和下一代互联网

  • 基于信任网络的推荐系统。用户可以声明一般情况下会信任其他某些用户及其观点。(设置大V,推荐电影,其他人可以关注订阅)
  • 大众分类法及其他。允许用户自己用关键词对物品注释,打任意标签,然后根据标签即可推荐。
  • 在分享媒体中推荐内容。
  • 本体过滤。通过分类改进过滤/ 通过属性改进过滤/
  • 从网络抽取语义。语义信息可以提供方法改进推荐结果。

2.4 普适环境中的推荐

  • 上下文感知推荐。指系统已知的状态参数,比如位置,时间,用户状态等。
  • 应用领域:移动商务/ 浏览和访问指南 /文化遗产和博物馆导航 /家庭计算和娱乐/

2.5 展望

  • 改进的CF
  • 上下文感知
  • 算法和技术的推荐
  • 用户交互问题/虚拟咨询
  • 推荐技术将会融入其他研究领域