信息检索与数据挖掘 课程知识清单与考试大纲(山东大学)

整理于2020年一月,山东大学

ppt1

倒排索引

  • p5 and查询:字典里找出两个postings -> 合并

    合并算法,同时浏览两个表,时间与doc数成正比,关键:按序号排序

布尔查询

  • p12 查询优化:多个and,从最小集合开始合并

    (A or B) and (C or D):估计每个or的文档频率和,按大小排序

    先处理频率小的,短短合并,再与长

字典数据结构

哈希表

  • p20:哈希表:每个项都散列为一个整数,优点:比树查找(O(1)) 缺点:难以找到细小差异,没有前缀(容错)查询,词汇增长后需重新哈希代价高

容错查询

通配符

  • p22 通配符查询: “mon*”以mon开头,容易使用二值数词典找到所有mon<=w<=moo

  • p25 为找 co*tion ,在B树中查找co*AND*con—太昂贵

    解决:转换使星号出现在最后 -> permuterm index

    对于hello:

    要查*b,在星号后加$,*​$b 旋转使*出现在末端->b​$* , x*y -> y$x*

    image-20200103133940147

索引构建

BSBI

  • p28 BSBI 阻塞的基于排序的索引

    思想:为每个块累计postings,排序并写到磁盘,然后将这些块合并成一个长排序

image-20200103135259355

SPIMI

  • p30 单次内存索引

    为每个块建立单独字典,不需要跨块维护不须排序,直接按先后顺序

    为每个块构造独立倒排索引,最后将所有倒排索引合并

MapReduce

  • p32 映射规约 简单的分布式计算框架

    map和reduce步骤:

    image-20200103140415234

评分、词项权重、向量模型空间

  • 文档数矩阵:考虑文档中词项出现次数,每个文档为一向量(词袋模型,不考虑词位置)

    image-20200103140938511

    词频

  • p39 词频 tf t f t , d tf_{t,d} tft,d:t在d中出现次数,出现10次的比1次的更相关,但非10倍(非线性)

    log-frequency t在d内的对数频率权重
    w t , d = { 1 + l o g 10 t f t , d t f t , d > 0 0 o t h e r w i s e w_{t,d} = \begin{cases} 1 + log_{10}tf_{t,d}&tf_{t,d}>0\\ 0&otherwise\\ \end{cases} wt,d={1+log10tft,d0tft,d>0otherwise
    0 → 0, 1 → 1, 2 → 1.3, 10 → 2, 1000 → 4, etc

  • 文档-查询对分数:(q和d中包含t和)
    s c o r e ( q , d ) = ∑ t ∈ q ∩ q 1 + l o g t f t , d score(q,d) = \sum_{t\in{q\cap q}}{1+log{tf_{t,d}}} score(q,d)=tqq1+logtft,d

    文档频

  • 罕见词高频率

  • d f t df_{t} dft: t的文档频(document frequency)包含t的文档个数,与t的信息量成反比

  • idf 逆文档频率
    i d f t = l o g 10 ( N / d f t ) idf_{t} = log_{10}(N/df_{t}) idft=log10(N/dft)
    image-20200103144500979

tf-idf 权重

  • 为乘积:
    W t , d = l o g ( 1 + t f t , d ) ∗ l o g 10 ( N / d f t ) W_{t,d} = log(1+tf_{t,d})*log_{10}(N/df_{t}) Wt,d=log(1+tft,d)log10(N/dft)

  • idf不影响只有一个词的查询(就是第一了)

  • 给定一个查询的文档分数:(词在文中的次数)(词的重要性)
    S c o r e ( q , d ) = ∑ t ∈ q ∩ d t f . i d f t , d Score(q,d) = \sum{_{t\in{q\cap d}}{tf.idf_{t,d}}} Score(q,d)=tqdtf.idft,d
    image-20200103145520157

文档向量

得到V维向量,词项为空间轴,高维稀疏

向量查询:将query表示成空间向量,按照接近程度排序

欧氏距离:对于不同的向量太大(q d2)

image-20200103150029838

根据与查询的角度排序->根据cos(0-180递减)

cosine分数算法:

image-20200103150923047 image-20200103153013871

ppt2

K-means

主要

idea:最小化平方和(每个样本点与其中心距离平方和)

启发式算法,需设置最初K个点

随机化k个中心->将每个点分配到最近的质心,根据新点坐标,平均为新质心->重复直到收敛(没有样本点变化)

性能

保证有限迭代次数内收敛。

时间复杂度:分配点到质心 O(KN),更新质心为样本点均值 O(N)

k-means++

随机选取一个中心,剩下每个点计算到最近中心点距离D(X),以D(X)^2为概率随机选取一个点为新中心

广阔的间隔点,避免间隔点或太靠近的中心

优缺点

  • pros:简单,适用于规则的不相交集群;收敛快;高效可拓展O(t*k*n)。
  • cons:需指定k值;局部最优;对噪声敏感;不适合非凸形状簇。

分层聚类(Hierarchical)

凝聚层次聚类,开始每个点为一类,两个最近的类合并,直到成为一类。

树状图y轴与类间距离成正比

分层与k-means比较

k-means

pros:内存小;计算速度快

cons:对随机初始敏感;类数需提前确定

hierarchical

pros:确定性算法;可用树状图表示不同k的情况;只需要一个最大距离来衡量两个类多不同

cons:内存大,计算大

Density-based clustering 基于密度的聚类

DBSCAN

类是高密度区域,噪点位于低密度

每个核心点:至少MP个点在EPS范围内,都为邻居点

每个簇:核心点&边界点。边界点EPS内少于MP个点,但他是核心点的邻居

可达性:不对称关系

连接性:对称关系,若v与q p都可达,则pq相连为一簇

Mixture model 混合模型

一些点,某点,假设知道他由哪个高斯生成,就可以估计其参数,如果不知道它属于哪个,但知道均值方差,就可知该点由该高斯生成的概率(很想k-means)

随机初始参数,贝叶斯求点属于哪个高斯概率

E

求每个点属于每个高斯模型的概率

M

利用最匹配的点更新模型参数

迭代

Gaussian Mixture Models 高斯混合模型(GMM)

pros:处理重叠集群;处理不同密度集群

cons:会卡在局部极大值;设置类数

Expectation Maximization 期望最大化(EM)

初始化theta_old

E 计算当前x, theta时z概率

M 选一个新的theta

topic model 主题模型

PLSA (probabilistic)

参数

k个topic在doc上的概率分布(和为1)

主题上每个词的概率(重要性)

生成过程

对于每个文档i:

​ 对于每个出现的词j:

​ 获取i的主题概率,生成词w_j

注意

同一文档可从不同主题生词

问题

并非文档集上的概率模型;过拟合;先验知识,每个文档只有几个主题,词汇只有几种场景

Motivation of LDA 潜在狄利克雷分布

PLSA 主题分布和词分布是确定的

LDA 分布不再唯一,可变化,由狄利克雷分布先验确定

LDA是PLSA的贝叶斯版本,PLSA+分层贝叶斯

两个超参 alpha beta , <=1时,可跑出稀疏向量

K为topic数,当alpha>1时,每个topic差不多重要,当<1时,只有某几个的大,其他的接近0,较好

MCMC and Gibbs sampling mcmc和吉布斯采样

马氏链(Markov chain)

转移概率矩阵P,给定不同初始概率分布,都收敛到π,收敛行为主要由转移矩阵P决定

马氏链收敛定理

P自乘n遍后,每一项值与行无关,每一列值相同 -> π称为马氏链的平稳分布

细致平稳条件

若非周期马氏链转移矩阵P和分布π满足: π(i)P_ij = π(j)P_ji , 则π(x)为马氏链平稳分布

构造转移矩阵

假设矩阵Q,显然一开始p不满足细致平稳条件,所以引入α

p(i)q(i,j)α(i,j) = p(j)q(j,i)α(j,i)

以q(i,j)α(i,j)为Q’(i,j),所以上式为转移矩阵Q’对应的平稳分布

alpha为接受率,在原来马氏链上,以状态i从q(i,j)的概率跳转到j时,以alpha的概率接受这个转移

MCMC采样算法

假设有一转移矩阵Q

随机初始化马氏链状态X_0:

对于t = 0,1,2…:

​ 第t个马氏链状态X_t,采样y;从[0,1]均匀分布采样u;若u小于alpha,接受转移Xt->y,否则仍为xt

接受就转移,不接受就不变

问题

alpha可能偏小,使得收敛到平稳分布的速度太慢:将等式两边同时扩大,使得两边alpha等比例放大,最大的一个到1,高效

吉布斯采样

二维多维:

马氏链的转移轮换着沿坐标轴转移 Y_t+1 ~ p(y|x_t) X_t+1 ~ p(x|y_t+1)

分类 classification

KNN K最近邻

没有训练模型,找出k个最近的投票

需要

数据;计算距离的度量;k值(最近邻个数)

距离度量:欧几里得、cosine

投票权重:多数投票、距离权重w=1/d^2

朴素贝叶斯

朴素:各个变量相互独立

ppt3

Analysis of large graphs

link 超链接

连接投票

如果页面有更多连接指向,更重要;重要页面的连接更重要

页面的重要性为所有进链接的票和

流动方程 r = M·r M矩阵,纵向为被指页

秩向量r为M的特征向量,M最大特征值为1

power iteration 幂次迭代: 初始化r[1/n, 1/n…]开始一样重要,r = Mr,当r’-r小于阈值停止

【例题】
存在性唯一性

满足一定条件的图,平稳分布是惟一的,不管初始r

PageRank

三个问题

是否收敛;是否收敛到我们想要的;结果合理吗

两个问题

死角 dead ends

随机游走无处可去,重要性漏出

保证该点出口总概率1,[0,0,0]->[1/3,1/3,1/3]随机传送,即若一列全为0,全分出去

陷阱 spider traps

所有链都在组内,随机游走被困,最终占据所有重要性

远传输:每步,beta随机跟链走,(1-beta)随机跳跃

远传输 teleports

陷阱不是问题,但最终结果不是想要的:有限步跳出来

死角是问题,初始假设不满足(列不为1),没有地方去,就传出去

Google 矩阵

A = beta*M + (1-beta)*(1/n的矩阵)

【例题】

概率信息检索 probabilistic information retrieval

BIM 二进制独立模型

假设

二值:文档和查询相当于布尔值以二进制关联向量表示

独立性:项之间无关

【公式推导】

避免0值:每个计数都+0.5

vector space model 与BIM不同

没有那么不同,实际上用相同方式,对于概率IR,对查询的评分不用cos相似或者tfidf,而是概率公式

IR 语言模型

【平滑】

你可能感兴趣的:(课程理论)