基于LDA模型的非监督分类算法介绍

前言

基于LDA(Latent Dirichlet Allocation)模型的非监督分类算法,将LDA模型从文本分析的应用过渡到遥感高分辨率影像处理的应用,利用Gibbs采样方法设计基于LDA模型的非监督分类算法,并使用IDL语言实现。在一定程度上解决了非监督分类中“同谱异物”问题,且取得了较好的精度。

CDC

一、 LDA模型原理

2.1 Dirichlet分布

Dirichlet分布是多项式分布参数π=π1,π2,…,πk的共轭先验分布。所谓的共轭先验可以理解为指在贝叶斯推理中:

发布安卓包

参数集θ对应的先验P(θ)和似然函数P(x|θ),如果通过贝叶斯公式得到的后验P(θ|x)和先验具有同样的函数形式,则称P(θ)是参数集θ的共轭先验。共轭先验的优势体现在:(a)简化贝叶斯推理分析的数学形式;(b)利用共轭先验的特点,可以不断利用已观测值推算新观测值后验,再将所得的后验去推算新观测值的后验,反复循环对未知数据进行贝叶斯推理。

Java异常处理

参数集α={α1,α2,…,αk}的Dirichlet分布,概率密度函数表示如下:

驼峰命名法

其中,参数π1,π2,…,πk≥0,,且α1,α2,…,αk>0Γx是Gamma函数。参数αk表示为πk的先验观测数目。当π_k服从Dirichlet分布时,形如:

存储算法

在很多实际应用中,为了简化Dirichlet分布而只使用对称的Dirichlet分布参数,即使用标量来替代向量形式参数。取α=,则参数集的Dirichlet分布,概率密度函数简化如下:

飞机大战

2.2 符合和术语

在介绍LDA模型时,使用文本分析中的概念,例如“词”、“文档”和“语料库”。用这样的表达方式有助于直观地了解各个符号的含义,尤其是在介绍一个潜在变量来描述抽象的符号,如主题。为方便对于LDA文本建模的描述,定义如下:

人工智能

  • 词(word):LDA模型中最基本的分析单元,也叫视觉词。

    加密数字艺术

  • 词汇表(Vocabulary):语料库中,词所可能取得的所有值。

    RTOS

  • 主题(Topic):词所对应的潜语义信息。以变量z表示。

    CEEMDAN算法

  • 文档(Document):N个词的序列集合。第m个文档

    ethers

  • 语料库(Corpus):M个文档的集合。表示为D={d1,d2,…,dM}

    consul

2.3 混合过程

LDA模型的理论基础是语料库中所有文档均由潜变量(主题z)按照一定混合比例分布构成的,而每一个主题又是由词汇表V中的词按照一定的混合比例分布构成。

Memory

图 1 LDA 模型的贝叶斯网

mybatis-plus

使用概率图模型表示LDA文本建模的过程,并将其分解为两个物理过程:

p2p

(1)αθmzm,n,这个过程表示在生成第m篇文档中所有的词对应的主题,αθm对应于Dirichlet分布,θmzm,n对应于Multinomial分布,所以这个过程是一个Dirichlet-Multinomial共轭结构。

XXE

(2)βφkwm,n|k=zm,n,这个过程表示在k=zm,n的限制条件下,语料库中的任意的主题k都是可交换的,即便是不同文档中的主题,所以在这里只考虑同一个主题中生成的词。βφk对应于Dirichlet分布,φkwk对应于Multinomial分布,所以这个过程是一个Dirichlet-Multinomial共轭结构。

数据迁移

具体的生成过程如下:

c璇█

(1)依赖于超参数β的Dirichlet分布,采样出主题k对应词的构成分布φk

零售

(2)依赖于超参数α的Dirichlet分布,采样出文档m对应主题的混合比例θm

dos

(3)依据参数ζ的泊松分布,采样出文档m对应的长度Nm,其中ζ为不同应用人为给定的参数;

Java基础语法

(4)依据文档m对应主题的混合比例θm的Multinomial分布,采样出文档m中第n个词的主题类型zm,n

Java毕设项目实战

(5)依据主题zm,n对应词的构成分布φzm,n的Multinomial分布,采样出文档m中第n个词wm,n在词汇表Vword中词的类型编号。

ERC

2.4 LDA模型求解

尽管LDA是一个相对简单的模型,但求解模型参数仍是一个较为棘手的问题。由于潜变量多且Dirichlet函数分布复杂,利用上述推导出的积分公式计算确实存在一定的困难。对此,许多研究人员提出了近似求解法。本文采用Gibbs采样的方法计算LDA模型参数,并使用IDL语言设计了Gibbs算法的代码。

目录

Gibbs采样过程如下:

读书笔记

(1)对语料库中的每一个词wi随机赋值一个主题类型zi,i=m,n,此时开始马尔科夫链计算。其中zi∈[1,K],词的总个数为=

(2)循环i从1至,计算出每个词wi的新主题,直至语料库中所以词都进行了一次更新。这时马尔科夫链的一个状态结束。

(3)人为设定循环迭代的次数,重复地进行过程(2)。当迭代次数足够大时,可认为马尔科夫链接近目标分布,则可将最终每个词所分配的主题视为其真正的主题。

(4)根据最终得到的语料库中每个词对应的主题,求得语料库中文档的主题混合比例分布和词对于主题的条件概率分布。

二、LDA模型应用于遥感影像非监督分类

LSA、PLSA以及在此基础上建立了LDA模型原本是分析自然语义,以此来指导能够识别自然语言的机器。而自然影像的理解也面临着和自然语言理解同样的问题,一张影像中有着大量的像元值或者特征点,这些像元值或者特征点就对应于自然语言中的词(或视觉词),每个像元值或特征点也有潜主题值。随着LDA模型建立和广泛使用,越来越多的研究者将LDA模型应用于图像理解中。

图2 LDA模型从自然语义到自然影像分析过渡

将自然语义中的文本分析应用于影像分析,文档相当于影像图块,文档中的词(视觉词)相当于影像中的像元簇或像元值,文档中主题相当于像元聚类类别。建立了以上的联系,我们可以将LDA模型用于遥感影像的非监督分类。

建立了LDA模型在文本建模和在遥感影像处理方面的联系之后,分析在处理高分辨率影像时会遇到的诸多问题,具体分析如下:

(1)LDA模型在应用于文本处理时,文本中的“文档”“词”“主题”概念简单,关系明了。而高分辨率影像本身存在地学复杂性、像素间紧密关联性等特征,不能将其简单视作一般的图像文本。

(2)高分辨率遥感影像中的视觉词之间关系复杂,视觉词的定义也需谨慎,不同视觉词的选择会影响分类的精度。通常视觉词的设计包括:

a.传统计算机视觉词确定方法,将影像中不同的特征点作为视觉词,这样设计的视觉词包含多个像元;

b.影像像元作为视觉词。通过计算每个像元值个潜在主题概率,赋予其概率最大的值作为它的主题。

在本文中,将LDA模型用于影像处理时,具体过程如下:

(1)先对影像进行预处理,将其分割成多幅小影像块,每个影像块就是一篇“文档”,而整幅影像就是“语料库”,在每个影像块中,选取其中的像素值作为基本分析单元“视觉词”;

(2)模型关系一一对应之后,进行LDA模型求解;

(3)利用Gibbs采样方法,循环迭代解算出每个像素值归属的主题,最后输出整幅分类好的影像。

三、算法测试及精度评价

2.1算法测试

选取一幅高分辨率遥感影像作为实验数据。

图3 遥感高分辨率影像(假彩色合成)

对影像进行人为解译,可以看到分为5个类:

分别使用ENVI自带的ISODATA非监督分类、K-Means非监督分类和基于LDA模型的非监督分类,结果如下:

图4 非监督分类结果对比

2.2 精度评价

解算ISODATA非监督分类影像的误差矩阵和精度评价指标。

根据图中的分类结果,可以看出图4(b)和图(c)中的部分道路、房屋与水体被分成了一类。而在LDA模型的非监督分类中道路、房屋与水体很明显被划分成了不同的类。分析可得:水体的灰度值在1至5之间;道路的灰度值在20至40之间;部分房屋灰度值在2至40之间,这三个地物的灰度值存在重复。使用LDA模型计算每一个像素的灰度值对应所有五个类别的后验值,规定取后验值最大者为该像素的实际类别,例如:像素的灰度值值同为3的水体和房屋,LDA模型计算出水体像素属于水体类别的后验大于其他类别的后验,便将水体类别赋予给该像素,同理,LDA模型计算出房屋像素属于房屋类别的后验大于其他后验,便将房屋类别赋予给该像素。所以对于灰度值相同的水体和房屋,利用LDA模型能够得到很好的区分。因此,在解决“同谱异物”的问题上,LDA模型非监督分类方法比ISODATA非监督分类和K-Means非监督分类具有更大的优势。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注