《斯坦福数据挖掘》八大算法+

文章目录

  • 介绍:八大算法+
  • TF.IDF
  • 相似项发现
  • PageRank链路分析
  • 聚类(层次聚类+K-means聚类)
    • 层次聚类
    • K-means聚类
  • 完美匹配
  • 社交网络挖掘

介绍:八大算法+

课程:《大数据技术概论》
教材:《斯坦福数据挖掘(第三版)》

内容(上半重点,下半不明)

  • (1.3.1)TF.IDF
  • (3.3)相似项发现
  • (5.1)PageRank链路分析
  • (7)聚类
    • (7.2.1)层次聚类
    • K-means聚类
  • (题8.3.1)完美匹配
  • (题10.2.1)社交网络挖掘
  • (6)频繁项
  • (11.3)SVD(奇异值分解,Singular Value Decomposition)
  • (9)推荐系统

TF.IDF

TF: term frequency

IDF: inverse document frequency

IDF: inverse document frequency

现有多篇文档,每篇文档有多歌词,计算(词项i 在文档j 的TF.IDF值)

T F i j = f i j m a x k ∗ f k j I D F i = log ⁡ 2 N n i T F . I D F i j = T F i j ∗ I D F i TF_{ij}=\frac{f_{ij}}{max_{k}*f_{kj}} \\ IDF_{i}=\log_{2}\frac{N}{n_{i}} \\ TF.IDF_{ij}=TF_{ij}*IDF_{i} TFij=maxkfkjfijIDFi=log2niNTF.IDFij=TFijIDFi

简单来说

TF=在文档j中,词项i的出现次数/最多出现次数

IDF=log2(所有文档数/i在多少文档出现)

TF.IDF=TF*IDF

相似项发现

  1. 获得集合矩阵(左半),计算哈希函数的结果(右半,交换矩阵)

  2. 计算最小哈希签名(签名矩阵):对每一个"哈希函数的结果"的顺序,得到每个集合最早出现1的下标

  3. 计算Jaccard相似度(真实值,估计值),相似度是某两个集合的相似度,用集合矩阵来算

    1. 真实值:(集合矩阵中这两列)同时出现1的下标数/出现1的下标数
    2. 估计值:(签名矩阵)数字相同的行数/总行数

题3.3.2

PageRank链路分析

  • 有n个点(网页),若干有向边(同一个点指出的边的权重总和为1,均分)
  • 画出转移矩阵M(是个方阵,竖向相加为1), M i j M_{ij} Mij表示点j有指向点i的边(若点j指出的边很多,则平分)
  • 计算PageRank估计值(矩阵v)
    • 所有点的初始权重均分(v=1/n,v.shape=[n,1]),
    • 而后象征性迭代几次(v=Mv),
    • 最后(用线性代数)算出稳定后的结果
  • 避免采集器陷阱,抽税法
    • 保留k(即抽 1-k 的税),比如抽0.2
    • 权重迭代时,迭代公示变为 v=kMv+(1-k)e/n
    • 其他与上一个一样

聚类(层次聚类+K-means聚类)

层次聚类

  1. 有若干个点,每个点都有自己的坐标
  2. 每个点各自为簇(簇的权重为其中的点数,重心为簇内所有点的平均值)
  3. 每次合并最近的两个簇(新簇重新计算权重和重心)
  4. 重复上一个过程,直到只剩下1个簇

K-means聚类

  1. 有若干个点,每个点都有自己的坐标
  2. 要分成K类
  3. 随机获取K个点的坐标,作为初始的中心点(簇的中心)
  4. 每个点归入最近的簇,并重新计算中心点
  5. 重复上一个过程,直到中心点不变

完美匹配

  • 有两类点(a、b各有n个: a 0 − a n − 1 , b 0 − b n − 1 a_0-a_{n-1},b_0-b_{n-1} a0an1b0bn1),分列两边
  • 根据边的生成规则生成对应的边(边都是a-b的,不会有a-a、a-b的边)
  • 为a-b配对,有边的才能匹配(建议靠眼睛挑,想要用顺序枚举也不是不可以)

社交网络挖掘

  • 有若干个点(人),两点之间可能有线(有限表示认识)
  • 获得某个边的中介度(在两个点的最短路径的次数,若两个点有多条最短路径 则它们平分)
  • 简单法:用眼睛看,用脑子算(若边处在左右两团的中间,则左边点数*右边点数)
  • 复杂法
    • 分别写出以每个点为出发点,写出最短路径的(GN算法)示意图(每个边都有贡献°)
    • sum(这条边在每个图的贡献度)/2

你可能感兴趣的:(数据挖掘,算法,聚类)