这段时间对LDA比較感兴趣,尝试在工作中使用它。平时做想法的高速验证,都用的是“GibbsLDA++-0.2”,一个c实现版本号的LDA。这两天用c++ stl自己写了一个单机版的LDA,初衷例如以下: 1. “GibbsLDA++-0.2”虽说号称是最popular的LDA工具包。只是依旧有明显的
转载
2017-05-27 18:50:00
171阅读
2评论
建议的程序员学习LDA算法的步骤
这一阵为了工作上的关系,花了点时间学习了一下LDA算法,说实话,对于我这个学CS而非学数学的人来说,除了集体智慧编程这本书之外基本没怎么看过机器学习的人来说,一开始还真是摸不太到门道,前前后后快要四个月了,算是基本了解了这个算法的实现,记录一下,也供后来人快速入门做个参考。 一开始直接就下了Blei的原始的那篇论文来看,但是看了个开头就被Dirichl
目录
1.sklearn中LDA的简单使用方法
2.维度不一致问题
1.sklearn中LDA的简单使用方法
最近在对数据进行预处理的过程中,使用了有监督的降维方式——线性判别分析(LDA)。直接能通过调用sklearn提供的接口就能实现。具体导入方式如下:
from sklearn.discriminant_analysis impo
以前LDA是用来分类的,PCA是用来降维的。PCA的降维是为了减少后续计算量,本身对于区分不同的类的能力并没有提升。PCA是无监督的,而LDA是能把不同的类往一个最佳的方向去投影,从而使两类之间的距离最大,达到易于区分的目的,LDA是有监督。下面这篇博文很好的讲述了LDA的算法的原理,很值得一读。
==============================================
前言:本文用到的方法叫做主题建模(topic model)或主题抽取(topic extraction),在机器学习的分类中,它属于非监督学习(unsupervised machine learning)。它是文本挖掘中常用的主题模型,用来从大量文档中提取出最能表达各个主题的一些关键词。 主题模型定义(维基百科):在机器学习和自然语言处理等领域是用来在一系列文档中发现抽象主题的一种统计模型。主题
(一)LDA作用 传统判断两个文档相似性的方法是通过查看两个文档共同出现的单词的多少,如TF-IDF等,这种方法没有考虑到文字背后的语义关联,可能在两个文档共同出现的单词很少甚至没有,但两个文档是相似的。 举个例子,有两个句子分别如下:  
文章目录特征工程什么是特征工程数据预处理缺失值的处理删除法填补法Pandas填充Sklearn填充数据归一化什么是归一化归一化原理为什么要用归一化什么算法需要进行归一化sklearn库归一化处理归一化存在的问题数据标准化什么是标准化标准化原理为什么要用标准化sklearn库标准化处理标准化和归一化对比特征抽取字典特征数据提取文本特征数据提取TF-IDF 做比赛或者做项目的时候,绞尽脑汁考虑到了
说明 :本文为个人随笔记录,目的在于简单了解LDA的原理,为后面详细分析打下基础。 一、LDA的原理LDA的全称是Linear Discriminant Analysis(线性判别分析),是一种supervised learning。LDA的原理:将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,使得投影后的点,会形成按类别区分,一簇一簇的情况,相同类
转载
2023-06-12 17:46:24
112阅读
Latent Dirichlet Allocation
David.M.Blei
Andrew.Y.Ng
Michael.I.Jordan
JMLR2003
(可google到)
有两种方法设计分类器:
1. discriminative model,就是由样本直接设计判别函数,例如SVM;
2. generative model,就是
1.LDA主题模型困惑度 这部分参照:LDA主题模型评估方法–Perplexity,不过后面发现这篇文章Perplexity(困惑度)感觉写的更好一点,两篇都是翻译的维基百科。 perplexity是一种信息理论的测量方法,b的perplexity值定义为基于b的熵的能量(b可以是一个概率分布,或者概率模型),通常用于概率模型的比较 wiki上列举了三种perplex
宏观理解LDA有两种含义线性判别器(Linear Discriminant Analysis)隐含狄利克雷分布(Latent Dirichlet Allocation,简称LDA)本文讲解的是后者,它常常用于浅层语义分析,在文本语义分析中是一个很有用的模型。LDA模型是一种主题模型,它可以将文档集中的每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题(分布)出来后,便可以根据
---恢复内容开始--- 小项目:分析希拉里邮件主题 import numpy as npimport pandas as pdimport redf = pd.read_csv("HillaryEmails.csv")df.head(1)#发现df中有很多字段,最有用的还是 ExtractedBodyText内容,所以我们将提取该字段,并提出id,再dropna()
学习《python machine learning》chapter5——Compressing data via dimensionality reduction主要内容如下:(1)主要成分分析 Principal Component Analysis (PCA) ——非监督学习(2)线性判别分析 Linear Discriminant Analysis (LDA) ——监督学习(3)核主成分分
文章目录1.LDA原理1.1 概念1.2 公式推导2.LDA实现参考资料 1.LDA原理1.1 概念LDA全称为Linear Discriminant Analysis,中文为线性判别分析。与PCA的作用相同,LDA的作用是降维,但是区别是PCA是无监督降维,而LDA是有监督的降维,LDA可以利用训练数据的类别标签。PCA只需要将数据映射到方差最大的空间,LDA需要将类别相同的数据尽可能靠近,类
1、铺垫 最开始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,不知是因为这篇文档的前序铺垫太长,还是因为其中的数学推导细节太多,导致一直没有完整看完过。现在才意识到这些“铺垫”都是深刻理解LDA 的基础,如果没有人帮助初学者提纲挈领、把握主次、理清思路,则很容易陷入LDA的细枝末节之中,L
LDA模型学习本文记录学习 LDA(隐含狄利克雷分布)时的一些笔记,该笔记主要记录的是LDA的思想和概率,对底层的数学知识未作详细说明。1 简介在机器学习领域,LDA是两个常用模型的简称:Linear Discriminant Analysis(线性判别分析,两类物体或事件的特征的一个线性组合,这个线性组合可用于分类) 和 Latent Dirichlet Allocation(隐含狄利克雷分布,
几个问题:1、停用次应该去到什么程度??2、比如我选了参数topicNumber=100,结果中,其中有80个topic,每个的前几个words很好地描述了一个topic。另外的20个topic的前几个words没有描述好。这样是否说明了topicNumber=100已经足够了?3、LDA考虑了多少文件之间的关系?4、参数 alpha,beta怎么取?? alpha=K/50 ?? b=0.1(0.01) ??========================================看了几篇LDA的文档,实在写的太好了,我只能贴点代码,表示我做过lda了public class LdaM
转载
2013-04-13 23:04:00
226阅读
2评论
1.为什么要使用lda? 我们简单来看一些其他的一些算法 (1) tf-idf 这种方法给一篇文章提取一些有 代表性的词 来代表
前言LDA在模式识别领域(比如人脸识别,舰艇识别等图形图像识别领域)中有非常广泛的应用,因此我们有必要了解一下它的算法原理。除非特别声明,本文中的LDA均指的是线性判别分析(Linear Discriminant Analysis),它与自然语言处理领域中的LDA隐含狄利克雷分布(Latent Dirichlet Allocation)是有本质上的区别的,后者是一种处理文档的主题模型。一、LDA的
我的世界跟着研究指令6年的豆瓣从零学习指令-第一期指令概念篇章:我看到网上呢,有很多号称高级指令教学的视频和文章,点进去看看,全都是基础,那么今天起,我会从第一期出到第150期,为大家讲解指令。好的进入正题,我们如何设计出健壮的指令系统呢?我这个健壮是这么定义的。首先,用最小的卡顿,最少的指令达到最好的效果,cb组就能很好的弥补其缺陷。但要用scoreboard计时,operation运算等来达到