精华内容
下载资源
问答
  • 学习LDA算法的步骤

    2014-05-04 10:38:57
    学习LDA算法的步骤,比较实用。适合初学者。
  • mahout 中LDA主题模型算法流程

    mahout 中LDA主题模型算法流程


    展开全文
  • 5.40算法-lda算法

    2019-08-21 19:54:35
    2018年01月14日 12:17:59CWS_chen阅读数 14052更多 所属专栏:机器学习算法 随着互联网的发展,文本分析越来越受到重视。由于文本格式的复杂性,人们往往很难...本文对LDA算法进行介绍,欢迎批评指正。 本文目...

     

    2018年01月14日 12:17:59 CWS_chen 阅读数 14052更多

    所属专栏: 机器学习算法

    随着互联网的发展,文本分析越来越受到重视。由于文本格式的复杂性,人们往往很难直接利用文本进行分析。因此一些将文本数值化的方法就出现了。LDA就是其中一种很NB的方法。 LDA有着很完美的理论支撑,而且有着维度小等一系列优点。本文对LDA算法进行介绍,欢迎批评指正。

     

    本文目录:

    1、Gamma函数

    2、Dirichlet分布

    3、LDA文本建模

    4、吉普斯抽样概率公式推导

    5、使用LDA

     

     

    1、Gamma函数

    T(x)= ∫ tx-1 e-tdt    T(x+1) = xT(x)

    若x为整数,则有 T(n) = (n-1)!

     

    2、Dirichlet分布

    这里抛出两个问题:

    问题1: (1) X1, X2......Xn 服从Uniform(0,1)

                (2) 排序后的顺序统计量为X(1), X(2), X(3)......X(n)

    (3) 问X(k1)和X(k1+k2)的联合分布式什么

    把整个概率区间分成[0,X1) ,  [X1, X1+Δ),   [X1+Δ, X1+X2),    [X1+X2, X1+X2+Δ),     [X1+X2+Δ,1]

    X(k1) 在区间[X1, X1+Δ), X(k1+k2) 在区间[X1+X2, X1+X2+Δ)。 我们另X3 = 1-X1-X2.

    则,

                             

     

    则,

                                                   

     

     

    3、 LDA文本建模

     首先我们想一篇文章是如何形成的:作者在写一篇文章的时候首先会想这个文章需要包含什么主题呢。比如在写武侠小说的时候,首先会想小说里边需要包含武侠、爱情、亲情、搞笑四个主题。并且给这四个主题分配一定的比例(如武侠0.4,爱情0.3,亲情0.2,搞笑0.1)。每个主题会包含一些word,不同word的概率也是不一样的。 因此我们上帝在生成一篇文章的时候流程是这个样子的:

    (1)上帝有两个坛子的骰子,第一个坛子装的是doc-topic骰子,第二个坛子装的是topic-wod骰子。

    (2)上帝随机的从二个坛子中独立抽取了k个topic-doc骰子,编号1-K。

    (3)每次生成一篇新的文档前,上帝先从第一个坛子中随机抽取一个doc-topic骰子,然后重复如下过程生成文档中的词。

            <1>、投掷这个doc-topic骰子,得到一个topic的编号z。

            <2>、选择K个topic-word骰子中编号为z的的那个,投掷这个骰子, 于是就得到了这个词。

    假设语料库中有M篇文章, 所有的word和对应的topic如下表示:

                                                                 

     

    我们可以用下图来解释这个过程:  

                                              

     

    一共两个物理过程:

    第一个过程: 

     

    ,这个过程分两个阶段。第一个阶段是上帝在生成一篇文档之前,先抽出一个主题分布的骰子

     

    ,这个分布选择了狄利克雷分布(狄利克雷分布是多项分布的共轭分布)。 第二个阶段根据

     

    来抽样得到每个单词的topic。这是一个多项分布。 整个过程是符合狄利克雷分布的。

    第二个过程:

     

    ,这个分布也是选择了狄利克雷分布。 第二个阶段是根据

     

    ,对于确定的主题选择对应的word,这是一个多项分布。因此,整个过程是狄利克雷分布。

     

    4、吉普斯抽样概率公式推导

    LDA的全概率公式为: 

     

    。 由于

     

    是观测到的已知数据,只有

     

    是隐含的变量,所以我们需要关注的分布为:

     

    。 我们利用Gibbs Sampling进行抽样。 我们要求的某个位置i(m,n)对应的条件分布为 

     

                                                      

     

    是一个定值,因此原公式成立。

    下边是公式

     

    的推导:

                                  

     

     

    进行Gibbs抽样,抽样后更新这两个值,一直迭代到收敛(EM过程)。

    至此抽样就结束了。

     

     

    5、使用LDA

    抽样结束后,我们可以统计

     

     

    来得到

     

     

    对于LDA我们的目标有两个:

    (1)得到文章库中每篇文章的主题分布

     

          (2)对于一篇新来的文章,能得到它的主题分布

     

    第一个目标很容易就能达到。下面主要介绍如果计算 一篇新文章的主题分布。这里我们假设

     

    是不会变化的。因此对于一篇新文章到来之后,我们直接用Gibbs Sampling得到新文章的

     

    就好了。 具体抽样过程同上。

    由于工程上

     

    对于计算新的文章没有作用,因此往往只会保存

     

    展开全文
  • LDA算法原理及LDA与PCA的比较

    千次阅读 2019-04-18 15:41:27
    1. LDA算法简介 LDA(线性判别式分析 Linear Discriminant Analysis)属于机器学习中的监督学习算法,常用来做特征提取、数据降维和任务分类。在人脸识别、人脸检测等领域发挥重要作用。LDA算法与PCA算法都是常用的...

    1. LDA算法简介

    LDA(线性判别式分析 Linear Discriminant Analysis)属于机器学习中的监督学习算法,常用来做特征提取、数据降维和任务分类。在人脸识别、人脸检测等领域发挥重要作用。LDA算法与PCA算法都是常用的降维技术。二者的区别在于:LDA是一种监督学习的降维技术,也就是说它的每个样本是有类别输出的,而之前所学习的PCA算法是不考虑样本类别输出的无监督降维技术。

    LDA算法的目标是使降维后的数据类内方差最小,类间方差最大(即使数据在低维度上进行投影,投影后希望每一种类别数据的投影点尽可能的接近,而不同类别的数据中心之间的距离尽可能的大。)

    上图中左图为PCA算法的投影方式,它所做的知识将整组数据整体映射到最方便表示这组数据的坐标轴上,映射时没有利用任何数据内部的分类信息。因此,虽然PCA可以使整组数据在表示上更加方便,但在分类上也许会变得更加困难。PCA没有分类标签,降维之后需要采用K-means等无监督的算法进行分类。

    右图为LDA算法的投影方式,可以看出在增加了分类信息之后,两组输入映射到了另一个坐标轴上,这样两组数据之间就变得更易区分了,可以减少很大的运算量。

    LDA的优化目标为最大类间方差和最小类内方差。LDA方法需分别计算“within-class”的分散程度Sw和“between-class”的分散程度Sb,而且希望Sb/Sw 越大越好,从而找到合适的映射向量w。其降维流程如下:

    2. LDA降维流程

    3. LDA算法与PCA的比较:

       两者相同点:

    1. 两者均可以对数据进行降维
    2. 两者在降维时均使用了矩阵特征分解的思想。
    3. 两者都假设数据符合高斯分布

       不同点:

    1. LDA是有监督的降维方法,而PCA是无监督的降维方法
    2. LDA降维最多降到类别数K-1的维数,而PCA没有这个限制
    3. LDA除了可以用于降维,还可以用于分类
    4. LDA选择分类性能最好的投影方向,而PCA选择样本点投影具有最大方差的方向。

    有些时候LDA比PCA降维更优,有些时候PCA比LDA降维更优。

    4. LDA算法优缺点:

    优点:

    1. LDA在样本分类信息依赖均值而不是方差的时候,比PCA分类的算法更优
    2. 在降维过程中可以使用类别的先验知识经验,而像PCA这样的无监督学习则无法使用类别先验知识。

    缺点:

    1. LDA与PCA都不适合对非高斯分布的样本进行降维
    2. LDA降维最多降到类别数K-1的维数
    3. LDA在样本分类信息依赖方差而不是均值的时候降维效果不好。
    4. LDA可能过度拟合数据。
    展开全文
  • 随着互联网的发展,文本分析越来越受到重视。...本文对LDA算法进行介绍,欢迎批评指正。 本文目录: 1、Gamma函数 2、Dirichlet分布 3、LDA文本建模 4、吉普斯抽样概率公式推导 5、使用...

    随着互联网的发展,文本分析越来越受到重视。由于文本格式的复杂性,人们往往很难直接利用文本进行分析。因此一些将文本数值化的方法就出现了。LDA就是其中一种很NB的方法。 LDA有着很完美的理论支撑,而且有着维度小等一系列优点。本文对LDA算法进行介绍,欢迎批评指正。

     

    本文目录:

    1、Gamma函数

    2、Dirichlet分布

    3、LDA文本建模

    4、吉普斯抽样概率公式推导

    5、使用LDA

     

     

    1、Gamma函数

    T(x)= ∫ tx-1 e-tdt    T(x+1) = xT(x)

    若x为整数,则有 T(n) = (n-1)!

     

    2、Dirichlet分布

    这里抛出两个问题:

    问题1: (1) X1, X2......Xn 服从Uniform(0,1)

                (2) 排序后的顺序统计量为X(1), X(2), X(3)......X(n)

        (3) 问X(k1)和X(k1+k2)的联合分布式什么

    把整个概率区间分成[0,X1) ,  [X1, X1+Δ),   [X1+Δ, X1+X2),    [X1+X2, X1+X2+Δ),     [X1+X2+Δ,1]

    X(k1) 在区间[X1, X1+Δ), X(k1+k2) 在区间[X1+X2, X1+X2+Δ)。 我们另X3 = 1-X1-X2.

    则,

                                

    即Dir(x1, x2, x3| k1, k2, n-k1-k2+1)

    问题2: (1) X1, X2......Xn 服从Uniform(0,1), 排序后的顺序统计量为X(1), X(2), X(3)......X(n)

        (2) 令p1 = [0, X(k1)], p2 = [X(k1), X(k1+k2)], p3 = 1-p1-p2 

        (3) 另外给出新的信息, Y1, Y2.....Ym服从Uniform(0, 1), Yi落到[0,X(k1)],  [X(k1), X(k1+k2)], [X(k1+k2), 1]的数目分别是m1, m2, m3

               (4) 问后验概率 p(p1,p2,p3|Y1,Y2,....Ym)的分布。

    其实这个问题和问题1很像,只是在同样的范围内多了一些点而已。 因此这个概率分布为 Dir(x1,x2,x3| k1+m1, k2+m2, n-k1-k2+1+m3)。

    我们发现这么一个规律     Dir(p|k) + multCount(m) = Dir(p|k+m)。 即狄利克雷分布是多项分布的共轭分布。

    狄利克雷分布有这么一个性质:如果则,

                                                   

     

    3、 LDA文本建模

     首先我们想一篇文章是如何形成的:作者在写一篇文章的时候首先会想这个文章需要包含什么主题呢。比如在写武侠小说的时候,首先会想小说里边需要包含武侠、爱情、亲情、搞笑四个主题。并且给这四个主题分配一定的比例(如武侠0.4,爱情0.3,亲情0.2,搞笑0.1)。每个主题会包含一些word,不同word的概率也是不一样的。 因此我们上帝在生成一篇文章的时候流程是这个样子的:

    (1)上帝有两个坛子的骰子,第一个坛子装的是doc-topic骰子,第二个坛子装的是topic-wod骰子。

    (2)上帝随机的从二个坛子中独立抽取了k个topic-doc骰子,编号1-K。

    (3)每次生成一篇新的文档前,上帝先从第一个坛子中随机抽取一个doc-topic骰子,然后重复如下过程生成文档中的词。

            <1>、投掷这个doc-topic骰子,得到一个topic的编号z。

            <2>、选择K个topic-word骰子中编号为z的的那个,投掷这个骰子, 于是就得到了这个词。

    假设语料库中有M篇文章, 所有的word和对应的topic如下表示:

                                                                 

    我们可以用下图来解释这个过程:  

                                              

    一共两个物理过程:

    第一个过程: ,这个过程分两个阶段。第一个阶段是上帝在生成一篇文档之前,先抽出一个主题分布的骰子,这个分布选择了狄利克雷分布(狄利克雷分布是多项分布的共轭分布)。 第二个阶段根据来抽样得到每个单词的topic。这是一个多项分布。 整个过程是符合狄利克雷分布的。

    第二个过程:,这个过程也分两个阶段。第一个阶段是对每个主题,生成word对应的概率,即选取的骰子,这个分布也是选择了狄利克雷分布。 第二个阶段是根据,对于确定的主题选择对应的word,这是一个多项分布。因此,整个过程是狄利克雷分布。

     

    4、吉普斯抽样概率公式推导

    LDA的全概率公式为: 。 由于是观测到的已知数据,只有是隐含的变量,所以我们需要关注的分布为:。 我们利用Gibbs Sampling进行抽样。 我们要求的某个位置i(m,n)对应的条件分布为 

                                                      

                                                                          是一个定值,因此原公式成立。

    下边是公式的推导:

                                  

    又由于根据狄利克雷分布的特性:

                                   

     

    抽样的时候,首先随机给每个单词一个主题,然后用进行Gibbs抽样,抽样后更新这两个值,一直迭代到收敛(EM过程)。

    至此抽样就结束了。

     

     

    5、使用LDA

    抽样结束后,我们可以统计来得到

    对于LDA我们的目标有两个:

      (1)得到文章库中每篇文章的主题分布

          (2)对于一篇新来的文章,能得到它的主题分布

    第一个目标很容易就能达到。下面主要介绍如果计算 一篇新文章的主题分布。这里我们假设是不会变化的。因此对于一篇新文章到来之后,我们直接用Gibbs Sampling得到新文章的就好了。 具体抽样过程同上。

    由于工程上对于计算新的文章没有作用,因此往往只会保存

    展开全文
  • 1. LDA算法简介 LDA(线性判别式分析 Linear Discriminant Analysis)属于机器学习中的监督学习算法,常用来做特征提取、数据降维和任务分类。在人脸识别、人脸检测等领域发挥重要作用。LDA算法与PCA算法都是常用的...
  • LDA算法总结

    千次阅读 2015-04-13 15:04:30
    http://www.cnblogs.com/LeftNotEasy/archive/2011/01/08/lda-and-pca-machine-learning.html http://www.cnblogs.com/jerrylead/archive/2011/04/21/2024384.html http://www.cnblogs.com/jerrylea
  • 秒懂---LDA算法

    万次阅读 多人点赞 2017-12-02 13:03:52
    线性判别分析LDA原理总结  在主成分分析(PCA)原理总结中,我们...LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解下它的算法原理。  在学习LDA之前
  • LDA整体流程

    千次阅读 2013-11-19 14:35:12
    (LDA里面称之为word bag,实际上每个单词的出现位置对LDA算法无影响)D中涉及的所有不同单词组成一个大集合VOCABULARY(简称VOC) LDA以文档集合D作为输入(会有切词,去停用词,取词干等常见的预处理,略去不表)...
  • LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解下它的算法原理。  在学习LDA之前,有必要将其自然语言处理领域的LDA区别开来,在自...
  • 从上个学期开始就有接触到LDA主题模型,因为当时是需要做一个建筑领域的数据处理,然后导师的选择是用LDA来做,直到最近要构建知识图谱了,我打算把之前的资料做一个梳理和总结。我们设想这样的一个场景,我们有好多...
  • 建议的程序员学习LDA算法的步骤

    千次阅读 2012-02-18 20:50:38
    这一阵为了工作上的关系,花了点时间学习了一下LDA算法,说实话,对于我这个学CS而非学数学的人来说,除了集体智慧编程这本书之外基本没怎么看过机器学习的人来说,一开始还真是摸不太到门道,前前后后快要四个月了...
  • 4LDA算法流程 5LDA算法小结 1LDA概念 线性分类器最简单的就是LDA,它可以看做是简化版的SVM。 LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning监督学习。 LDA的原理是,...
  • 通过研究了...《LDA整体流程》 先定义一些字母的含义: 文档集合D,topic集合T D中每个文档d看作一个单词序列< w1,w2,...,wn >,wi表示第i个单词,设d有n个单词。(LDA里面称之为word bag...
  • LDA和PCA降维总结

    2019-07-13 09:31:22
    文章目录线性判别分析(LDA)LDA思想总结图解LDA核心思想二类LDA算法原理LDA算法流程总结LDA和PCA区别LDA优缺点主成分分析(PCA)主成分分析(PCA)思想总结图解PCA核心思想PCA算法推理PCA算法流程总结PCA算法主要优...
  • 2018年01月14日 12:17:59CWS_chen阅读数 14052更多 所属专栏:机器学习算法 随着互联网的发展,文本分析越来越受到重视。由于文本格式的复杂性,人们往往很难...本文对LDA算法进行介绍,欢迎批评指正。 本文目...
  • LDA的整体流程

    2013-02-27 21:40:00
    LDA整体流程 ...(LDA里面称之为word bag,实际上每个单词的出现位置对LDA算法无影响) D中涉及的所有不同单词组成一个大集合VOCABULARY(简称VOC) LDA以文档集合D作为输入(会有切词,去停用词,取...
  • LDA(主题模型算法

    2014-05-21 21:35:00
    LDA整体流程 ...(LDA里面称之为word bag,实际上每个单词的出现位置对LDA算法无影响) D中涉及的所有不同单词组成一个大集合VOCABULARY(简称VOC) LDA以文档集合D作为输入(会有切词,去停用词...
  • 主要流程: 理论部分的参考文章: 1、LDA和PCA降维总结 2、详解协方差与协方差矩阵 3、期望值、均值向量和协方差矩阵 4、如何计算数学期望 以下是用一个经典的“鸢尾花”数据集上使用线性判别分析完成降维任务。 ...
  • 机器学习之LDA主题模型算法

    千次阅读 2018-10-01 21:31:04
    文章目录1、知道LDA的特点和应用方向1.1、特点1.2、应用方向2、知道Beta分布和Dirichlet分布数学含义3、了解共轭先验分布4、知道先验概率和后验概率5、知道参数α值的大小对应的含义6、掌握LDA主题模型的生成过程7、...
  • 线性判别分析线性判别分析(Linear Discriminant Analysis或者Fisher’s Linear Discriminant)简称LDA,是一种监督学习算法LDA的原理是,将数据通过线性变换(投影)的方法,映射到维度更低纬度的空间中,使得投影...
  • LDA主题模型代码实现流程

    万次阅读 2017-09-04 17:20:20
    LDA主题模型的原理,推导过程比较复杂,可以参考此链接,讲的比较详细:http://www.52nlp.cn/lda-math-mcmc-%E5%92%8C-gibbs-sampling1 ...LDA代码流程: (1) 先对文档切词,然后对每个词语赋ID编号0~(n-...
  • 【机器学习】LDA线性判别分析1. LDA的基本思想2. LDA求解方法3. 将LDA推广到多分类4. LDA算法流程5. LDA和PCA对比【附录1】瑞利商与广义瑞利商       &nbs...
  • 本文是LDA主题模型的第二篇,读这一篇之前建议先读文本主题模型之LDA(一) LDA基础,同时由于使用了基于MCMC的Gibbs采样算法,如果你对MCMC和Gibbs采样不熟悉,建议阅读之前写的MCMC系列MCMC(四)Gibbs采样。...
  • 3、LDA算法流程 4、LDA算法小结 三、 LDA 和 PCA区别 一、PCA(主成分分析) PCA是一种无监督的数据降维方法 降维是对数据高维度特征的一种预处理方法。降维是将高维度的数据保留下最重要的一些特征,去除...
  • LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解下它的算法原理。  在学习LDA之前,有必要将其自然语言处理领域的LDA区别开来,在自然语

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,697
精华内容 1,878
关键字:

lda算法流程