lda

通俗理解LDA主题模型

回眸只為那壹抹淺笑 提交于 2020-02-12 04:57:22
通俗理解LDA主题模型 0 前言 印象中,最開始听说“LDA”这个名词,是缘于rickjin在2013年3月写的一个LDA科普系列,叫LDA数学八卦,我当时一直想看来着,记得还打印过一次,但不知是由于这篇文档的前序铺垫太长( 如今才意识到这些“铺垫”都是深刻理解LDA 的基础,但假设没有人帮助刚開始学习的人提纲挈领、把握主次、理清思路,则非常easy陷入LDA的细枝末节之中 ),还是由于当中的数学推导细节太多,导致一直没有完整看完过。 2013年12月,在我组织的Machine Learning读书会 第8期 上,@夏粉_百度 讲机器学习中排序学习的理论和算法研究。@沈醉2011 则讲主题模型的理解。又一次碰到了主题模型,当时貌似仅仅记得沈博讲了一个汪峰写歌词的样例。依旧没有理解LDA究竟是怎样一个东西(但理解了LDA之后。再看沈博主题模型的 PPT 会非常赞)。 直到昨日下午。 机器学习班 第12次课上,邹讲完LDA之后,才真正明确LDA原来是那么一个东东!上完课后,趁热打铁,再次看LDA数学八卦,发现曾经看不下去的文档再看时居然一路都比較顺畅。一口气看完大部。看完大部后,思路清晰了。知道理解LDA。能够分为下述5个步骤: 一个函数:gamma函数 四个分布:二项分布、多项分布、beta分布、Dirichlet分布 一个概念和一个理念:共轭先验和贝叶斯框架 两个模型:pLSA

linpack-linux

|▌冷眼眸甩不掉的悲伤 提交于 2020-02-02 15:26:05
/* * Linpack 100x100 Benchmark In C/C++ For PCs * ******************************************************************** * * Original Source from NETLIB * * Translated to C by Bonnie Toy 5/88 (modified on 2/25/94 to fix * a problem with daxpy for unequal increments or equal increments * not equal to 1. Jack Dongarra) * * To obtain rolled source BLAS, add -DROLL to the command lines. * To obtain unrolled source BLAS, add -DUNROLL to the command lines. * * You must specify one of -DSP or -DDP to compile correctly. * * You must specify one of -DROLL or -DUNROLL to compile correctly. * *************

Topic Modelling by Group using LDA in R

你。 提交于 2020-02-01 09:37:14
问题 I am stuck at one problem. I am trying to categorize sentences into topics using LDA. I have done it, however the problem is: LDA is working on whole dataset and giving me topic terminologies across the dataset. I want to get the topic terminologies by group in Dataset. So my data looks like this: Comment Division Smooth execution of Regional Administration in my absence. Well done. Finance Job well done in completing CPs and making the facility available well in time. Finance Good Job

Topic Modelling by Group using LDA in R

穿精又带淫゛_ 提交于 2020-02-01 09:36:44
问题 I am stuck at one problem. I am trying to categorize sentences into topics using LDA. I have done it, however the problem is: LDA is working on whole dataset and giving me topic terminologies across the dataset. I want to get the topic terminologies by group in Dataset. So my data looks like this: Comment Division Smooth execution of Regional Administration in my absence. Well done. Finance Job well done in completing CPs and making the facility available well in time. Finance Good Job

Text-Mining-DataCamp-Introduction to Text Analysis in R

回眸只為那壹抹淺笑 提交于 2020-01-27 03:43:48
Text Analytics-DataCamp-Introduction to Text Analysis in R 1. Wrangling Text 1.1 Text as data (video) 1.2 Airline tweets data Instruction : # Load the tidyverse packages library(tidyverse) # Print twitter_data twitter_data # Print just the complaints in twitter_data twitter_data %>% filter(complaint_label == 'Complaint') 1.3 Grouped summaries Instruction : # Start with the data frame twitter_data %>% # Group the data by whether or not the tweet is a complaint group_by(complaint_label) %>% # Compute the mean, min, and max follower counts summarize( avg_followers = mean(usr_followers_count), min

NLP——LDA(Latent Dirichlet Allocation-潜在狄利克雷分布)

独自空忆成欢 提交于 2020-01-26 14:57:03
一、首先是贝叶斯 参考 机器学习(一) —— 浅谈贝叶斯和MCMC 其中 π 指的是参数的概率分布, π ( θ ) π(θ) 指的是先验概率, π(θ|x) 指的是后验概率, f(x|θ) 指的是我们观测到的样本的分布,也就是似然函数(likelihood),记住 竖线 | 左边的才是我们需要的 。其中积分求的区间 Θ 指的是参数 θ θ 所有可能取到的值的域,所以可以看出后验概率 π(θ|x) 是在知道 x x 的前提下在 Θ 域内的一个关于 θ 的概率密度分布,每一个 θ 都有一个对应的可能性(也就是概率)。 其中介绍了贝叶斯思想、先验概率、后验概率、 似然函数 f ( x | θ ) : 似然函数听起来很陌生,其实就是我们在概率论当中看到的各种概率分布 f ( x ) ,那为什么后面要加个参数 | θ 呢?我们知道,掷硬币这个事件是服从伯努利分布的 Ber(p) , n次的伯努利实验就是我们熟知的二项分布 B i n ( n , p ) , 这里的p就是一个参数,原来我们在做实验之前,这个参数就已经存在了(可以理解为上帝已经定好了),我们抽样出很多的样本 x 是为了找出这个参数。 其实我们观测到样本 x 的分布是在以某个参数 θ 为前提下得出来的,所以我们记为 f ( x | θ ) ,只是我们并不知道这个参数是多少。 后验分布 :以前我们想知道一个参数

LDA模型的封装

醉酒当歌 提交于 2020-01-24 01:06:51
最近一直在训练LDA模型,将LDA模型封装在一个脚本中,可以直接在终端传入参数进行LDA的训练和预测. 需要在同目录下准备一个stopwords(停用词典) #conding=utf-8 import codecs import os import re from os import mkdir from os . path import exists , isdir , abspath , join import gensim import jieba . posseg as pseg import yaml from gensim import corpora #1.数据处理工具 def data_util ( data , cut_flag = False , stopwords_file = './stopwords' ) : ''' 传入一条语料,对其进行处理,获取训练语料 :param data: 单行的语料 :param cut_flag: 是否分词,为True时,使用jieba进行分词处理 :param stopwords_file: 停用词文件 :return: list of words ''' stopwords_file = abspath ( stopwords_file ) if cut_flag : function_words = [ "d" ,

LDA

南楼画角 提交于 2020-01-23 15:09:47
线性判别分析(LDA)思想总结 线性判别分析(Linear Discriminant Analysis,LDA)是一种经典的降维方法。 和PCA不考虑样本类别输出的无监督降维技术不同,LDA是一种监督学习的降维技术,数据集的每个样本有类别输出。 LDA分类思想简单总结如下: 多维空间中,数据处理分类问题较为复杂,LDA算法将多维空间中的数据投影到一条直线上,将d维数据转化成1维数据进行处理。 对于训练数据,设法将多维数据投影到一条直线上,同类数据的投影点尽可能接近,异类数据点尽可能远离。 对数据进行分类时,将其投影到同样的这条直线上,再根据投影点的位置来确定样本的类别。 如果用一句话概括LDA思想,即“投影后类内方差最小,类间方差最大”。 图解LDA核心思想 假设有红、蓝两类数据,这些数据特征均为二维,如下图所示。我们的目标是将这些数据投影到一维,让每一类相近的数据的投影点尽可能接近,不同类别数据尽可能远,即图中红色和蓝色数据中心之间的距离尽可能大。 左图和右图是两种不同的投影方式。 左图思路:让不同类别的平均点距离最远的投影方式。 右图思路:让同类别的数据挨得最近的投影方式。 从上图直观看出,右图红色数据和蓝色数据在各自的区域来说相对集中,根据数据分布直方图也可看出,所以右图的投影效果好于左图,左图中间直方图部分有明显交集。 以上例子是基于数据是二维的,分类后的投影是一条直线

动手实践用LDA模型计算两篇英文文档相似度

五迷三道 提交于 2020-01-22 14:43:12
知道原理的同学这部分可以略过直接看实践部分 什么是TD-IDF? 构造文档模型 我们这里使用 空间向量模型 来 数据化 文档内容:向量空间模型中将文档表达为一个矢量。 用特征向量(T1,W1;T2,W2;T3, W3;…;Tn,Wn)表示文档。 Ti是词条项,Wi是Ti在文档中的 重要程度 , 即将文档看作是由一组相互 独立的词条组构成 ,把T1,T2 …,Tn看成一个n 维坐标系中的坐标轴,对于每一词条,根据其重要程度赋以一定的权值Wi,作为对应坐标轴的坐标值。 权重Wi用词频表示 ,词频分为 绝对词频 和 相对词频 。 绝对词频,即用词在文本中出现的频率表示文本。 相对词频,即为归一化的词频,目前使用 最为频繁的是TF*IDF (Term Frequency * Inverse Document Frequency)TF 乘 IDF 将文档量化了之后我们很容易看出D1与Q更相似~因为D1与Q的夹角小,我们可以用余弦cos表示 分析一下这个例子: 有三个文档D1,D2,Q 这三个文档一共出现了三个词条,我们分别用T1,T2,T3表示 在文档D1中词条T1的权重为2,T2权重为3,T3权重为5 在文档D2中词条T1权重为0,T2权重为7,T3权重为1 在文档Q中词条T1权重为0,T2权重为0,T3权重为2 D1 D2 Q T1 2 3 0 T2 3 7 0 T3 3 1 2

sklearn PCA与LDA对比

£可爱£侵袭症+ 提交于 2020-01-20 04:22:09
接 上一篇 :这次与LDA进行对比,看下效果如何。 1用sklearn产生的随机10个类别数据 初始特征为30个,由于下面条件限制,只能设置小于9的数,因此选择了8 n_components <= min(n_features, n_classes - 1) 然后再经t-SNE显示,效果令人失望至极!!!搞不懂为啥子 X origin shape, (1000, 30) after LDA,X shape, (1000, 8) 所以我不知道LDA到底在干啥子,啥几把玩意,简直是垃圾。 同样将PCA后的维度设置为8,发现也是垃圾,卧槽。与上图基本一样,哪里出错了??? 可将原始数据直接t-SNE看看结果,发现与上图类似,卧槽,这就有鬼了。猜测是原始数据有问题。 这个数据生成的函数有毛病,暂时忽略这个数据。 2依旧用MNIST数据【数据来源sklearn】 但这个有警告产生,意思是行列式和为近乎0,接近于奇异矩阵,这样的矩阵可能求逆的结果不靠谱 Warning (from warnings module): File "D:\python\lib\site-packages\sklearn\discriminant_analysis.py", line 388 warnings.warn("Variables are collinear.") UserWarning: