(1)LDA的基本介绍(wiki)
LDA是一种典型的词袋模型,即它认为一篇文档是由一组词构成的一个集合,词与词之间没有顺序以及先后的关系。一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成。它以概率分布的形式揭示每个文档的主题,以便在分析一些文档以提取其主题分布后,可以根据主题分布进行主题聚类或使用文本分类。每个主题都用一个词分布表示。
通俗说就是:你计算机给我推测分析网络上各篇文章分别都写了些啥主题,且各篇文章中各个主题出现的概率大小(主题分布)是啥。其中有四个分布:
①Beta分布是二项式分布的共轭先验概率分布
②狄利克雷分布(Dirichlet分布)是多项式分布的共轭先验概率分布
③每一篇文档的主题分布满足多项分布,并且每一个文档的主题分布都是从
α
\alpha
α这个狄利克雷分布取样而来。
(2)贝叶斯学派和频率学派
①频率学派:频率学派相信概率是一个确定的值,讨论概率的分布没有意义。在机器学习中的体现就是优化似然函数(单纯从自然观测)
②贝叶斯学派:概率表示的是客观上事实的可信程度,也可以说成是主观上主体对事件的信任程度,它是建立在对事件的已有认识基础上的。
贝叶斯学派强调了先验知识的重要性。所以贝叶斯学派的思考方法如下:先验分布
π
(
θ
)
\pi(\theta)
π(θ)指的是人们先前对事物的看法
说白了频率派认为参数是客观存在,不会改变,虽然未知,但却是固定值;贝叶斯派则认为参数是随机值,因为没有观察到,那么和是一个随机数也没有什么区别,因此参数也可以有分布,
(3)LDA模型的“历史演化”(个人理解)
①LSA
(1)单词向量空间+内积计算两个文本之间的相似度,具体来说就是通过统计一个文本里面的单词词频来进行表示。这样会容易忽略单词的多义性
(2)话题向量空间+内积计算文本之间的相似度。这种特征提取方法可以对文本进行比较好的表征。其中文本在话题空间的表示为
[
a
1
,
a
2
.
.
.
.
.
a
n
]
[a_1,a_2.....a_n]
[a1,a2.....an],其中
a
i
a_i
ai表示文本属于话题i的概率
(3)所以利用LSA的方法只要进行文本-单词矩阵的矩阵分解分解成文本-话题和话题-单词矩阵就可以
②PLSA
PLSA又称为概率潜在语义分析,是一种利用概率生成模型正在加上上述LSA的思想对文本集合进行话题分析的无监督学习方法。该模型最大的特点是加入了主题这一隐变量,文本生成主题,主题生成单词,从而得到单词-文本共现矩阵。图如下:
其中:
(1)文本i的文本-话题矩阵的分布是满足一个多项分布
[
t
o
p
i
c
1
,
t
o
p
i
c
2
.
.
.
.
.
t
o
p
i
c
n
]
[topic_1,topic_2.....topic_n]
[topic1,topic2.....topicn]
也就是说这篇文章i是
话题
1
话题1
话题1的概率是
t
o
p
i
c
1
topic_1
topic1,其中topic的个数由自己给出。
(2)话题j的话题-单词矩阵的分布是满足一个多项分布
[
b
1
,
b
2
.
.
.
.
.
b
m
]
[b_1,b_2.....b_m]
[b1,b2.....bm]
也就是说这篇话题j里面单词m所占的份额是是
b
m
b_m
bm,其中m实施语料库里面出现的不同单词个数
(3)按照这样的生成模型的逻辑,再现给出的文本-单词矩阵的概率计算方法为:
∏
P
(
w
,
d
)
n
(
w
,
d
)
,(
w
,
d
)表示文本
w
和单词
d
成对出现
\prod P(w,d)^{n(w,d)},(w,d)表示文本w和单词d成对出现
∏P(w,d)n(w,d),(w,d)表示文本w和单词d成对出现
其中计算
P
(
w
,
d
)
=
P
(
d
)
∗
P
(
w
∣
d
)
P(w,d)=P(d)*P(w|d)
P(w,d)=P(d)∗P(w∣d),并且可以用可以用贝叶斯公式计算
P
(
w
∣
d
)
P(w|d)
P(w∣d),具体的如下:
P
(
w
,
d
)
=
P
(
d
)
∗
∑
i
=
1
n
P
(
w
∣
t
o
p
i
c
s
i
)
∗
P
(
t
o
p
i
c
s
i
∣
d
)
P(w,d)=P(d)*\sum_{i=1}^nP(w|topics_i)*P(topics_i|d)
P(w,d)=P(d)∗i=1∑nP(w∣topicsi)∗P(topicsi∣d)
其中
P
(
d
)
P(d)
P(d)表示选中文档d的概率,
P
(
w
∣
t
o
p
i
c
s
i
)
P(w∣topics_i )
P(w∣topicsi)表示在
t
o
p
i
c
s
i
topics_i
topicsi里面选中词语w的概率,
P
(
t
o
p
i
c
s
i
∣
d
)
P(topics_i|d)
P(topicsi∣d)表示在d里面选择
t
o
p
i
c
s
i
topics_i
topicsi的概率。
可以得到优化模型的似然函数,具体的求解可以用EM算法来求解。
③LDA(时间原因没有做完完整分析,只说个大概,以后弄懂了来补充)
LDA简单来说就是上述PLSA+贝叶斯方法,具体表现就是
①认为每个文档的文档-话题分布都满足参数为
α
\alpha
α的先验狄利克雷分布
②认为每个话题的话题-单词分布都满足参数为
β
\beta
β的先验狄利克雷分布
③EM算法(极大似然估计思想)求解出了两个未知但固定的参数的值,因此LDA真的只是pLSA的贝叶斯版本,文档生成后,两者都要根据文档去推断其主题分布和词语分布,只是用的参数推断方法不同,LDA可以采用吉布斯采样的方法去做。这样做的好处是可以防止过拟合