Weiguo's Station

  • 博客首页

  • 文章归档

  • 分类专栏

  • 各种标签

  • 站点搜索

推荐系统HandBook Chapter2 推荐系统中的数据挖掘方法

发表于 2018-11-27 更新于 2021-03-22 分类于 推荐系统HandBook读书笔记

数据挖掘的过程一般由三个连续执行的步骤组成:数据预处理、数据分析和结果解释。

数据挖掘中主要的步骤和方法

数据预处理

相似度度量方法

  • 欧几里德距离
  • 马氏距离

其中$ \sigma $是数据的协方差矩阵。

  • 余弦度量
  • 皮卡逊相关性系数

抽样

根据抽样是否放回,可以分为:

  • 有放回抽样
  • 无放回抽样

根据抽样方法,可以分为:

  • 简单随机抽样
    • 每个样本单位被抽中的概率相等,样本的每个单位完全独立,彼此间无一定的关联性和排斥性。
  • 系统(等距)抽样
    • 将总体中的所有单位按一定顺序排列,在规定的范围内随机地抽取一个单位作为初始单位,然后按事先规定好的规则确定其他样本单位。
  • 分层抽样
    • 将抽样单位按某种特征或某种规则划分为不同的层,然后从不同的层中独立、随机地抽取样本。
  • 整群抽样
    • 将总体中若干个单位合并为组,抽样时直接抽取群,然后对中选群中的所有单位全部实施调查。

抽样-维基百科

除非数据集足够大,否则交叉验证可能不可信

降维

推荐系统反复出现的问题:

  • 稀疏:只有几个有限的特征有值,其他大部分为零;
  • 维度灾难:高维空间并没有给结果带来正相关;

推荐系统中最相关的降维算法,这些技术可以单独作为推荐方法使用,或者作为其他技术预处理的步骤。

  • 主成份分析(PCA)
    • 获得一组有序的成分列表,其根据最小平方误差计算出变化最大的值;
    • 列表中第一个成分代表的变化量要比第二个成分所代表的变化量大,以此类推;
    • 通过忽略变化贡献较小的成分来降低维度;
  • 奇异值分解(SVD)
    • 一大优势是有增量算法来计算近似的分解;

具体降维算法详细内容见—>这里的学习小结

去噪

去噪是预处理步骤中非常重要的一步,其目的是在最大化信息量时去除掉不必要的影响。

噪声的分类:

  • 自然的噪声
    • 用户在选择偏好反馈时无意产生的
  • 恶意的噪声
    • 用户为了偏离结果在系统中故意引入的

通过预处理步骤来提高精确度能够比复杂的算法优化效果要好得多

分类

最近邻

给出一个要分类的点,kNN分类器能够从训练记录中发现k个最近的点,然后按照它最近邻的类标签类确定所属类标签。

选择k值的问题:

  • k值太小,分类可能对噪声点太敏感;
  • k值太大,近邻范围可能会包含其他类中太多的点;

决策树

决策树的优点:构建代价比较小并且在分类未知的对象方面速度比较快;在维持精度的同时,能够容易解释。

推荐系统中使用决策树:

  • 用在基于模型的方法中;
  • 作为物品排序的工具。

基于规则的分类

规则的产生途径:

  • 从数据中直接抽取规则,例子为RIPPER或CN2
  • 从其他分类模型中间接抽取,例如决策树模型或神经模型

不流行、很难建立完整的规则

贝叶斯分类器

朴素贝叶斯收孤立噪声点和不相关属性的影响小,且在概率估算期间可以通过忽略实例来处理缺失值。 但是独立性假设对一些相互关联的属性来说可能不成立,通常的解决办法是使用贝叶斯信念网络。

具体算法详细内容见—>这里

分类器的集成

从训练数据构造一系列的分类器,并通过聚集预测值(或中间特征权重)来预测类标签。

  • Bagging
  • Boosting
  • Stacking

评估分类器

一些常用的评估指标见—>这里

聚类分析

K-Means聚类

算法(分块方法)一开始会随机选择k个中心点,所有物品都会被分配到它们最靠近的中心节点的类中。 由于聚类新添加或移出物品,新聚类的中心节点需要更新,聚类的成员关系也需要更新。 这个操作持续下去,知道再没有物品改变它们的聚类成员关系。 算法第一次迭代时,大部分的聚类的最终位置就会发生,因此,跳出迭代的条件一般改变成“知道相对少的点改变聚类”来提高效率。

  • 优点
    • 简单
    • 有效
  • 缺点
    • k值确定需要先验的数据知识
    • 最终聚类对初始中心点敏感
    • 可能产生空聚类

具体算法详细见—>这里

改进的K-Means聚类

DBSCAN(基于密度)通过建立密度定义作为在一定范围内的点的数量。

DBSCAN定义了三种点:

  • 核心点:在给定距离内拥有超过一定数量邻居的点;
  • 边界点:没有超过指定数量的邻居但属于核心点邻居;
  • 噪声点:既不是核心点也不是边界点;

其他改进的聚类算法:

  • 消息传递的聚类算法(基于图聚类)
  • 分层聚类按照层级树的结构产生一系列嵌套聚类

注意

改进的k-means算法并没有应用于推荐算法中。k-means算法的简单和效率要优于它的替代算法。

关联规则挖掘

给定物品的频繁度称为支持量(比如(牛奶,啤酒,尿布)=131)类比频次

物品集的支持度是包含它的事务的比例(比如(牛奶,啤酒,尿布)=0.12)类比频率

关联规则挖掘的两步方法:

  1. 产生了所有支持度大于等于最小支持度的物品集(频繁项集生成)
  2. 从每一频繁物品集中产生高置信规则(规则生成)

具体可以参考Apriori算法。

# 读书笔记
推荐系统HandBook Chapter1 概述
推荐系统HandBook Chapter3 基于内容的推荐系统-前沿和趋势
  • 文章目录
  • 站点概览
WeiguoZHAO

WeiguoZHAO

Welcome to my blog~
87 日志
13 分类
49 标签
GitHub E-Mail
大牛们
  • colah's blog
  • 王喆的Github
  • 刘建平的Github
  • 美团技术团队
  1. 数据预处理
    1. 相似度度量方法
    2. 抽样
    3. 降维
    4. 去噪
  2. 分类
    1. 最近邻
    2. 决策树
    3. 基于规则的分类
    4. 贝叶斯分类器
    5. 分类器的集成
    6. 评估分类器
  3. 聚类分析
    1. K-Means聚类
    2. 改进的K-Means聚类
  4. 关联规则挖掘
© 2021 WeiguoZHAO
0%