转载自:http://blog.csdn.net/memray/article/details/16810763   一.概述 JGibbLDA是一个java版本的LDA(Latent Dirichlet Allocation)实现,它使用Gibbs采样来进行快速参数估计和推断. LDA是一种由基于概率模型的聚类算法.该算法能够对训练数据(训练数据是这样一种记录的集合,它的每一条记录都是一组离散的项的集合)中的关键项集之于类簇的概率参数拟合模型,进而利用该参数模型实施聚类或分类等操作. 如果你的…
1.LDA介绍 LDA假设生成一份文档的步骤如下: 模型表示: 单词w:词典的长度为v,则单词为长度为v的,只有一个分量是1,其他分量为0的向量         $(0,0,...,0,1,0,...,0,0)$ 文档W:  单词的组合,$(w_1,w_2,...,w_N)$,可以看成是 $v*N$ (词典长度*单词个数)的矩阵 语料库D:文档的集合,${W_1,W_2,...W_M}$ 主题:认为主题个数固定已知,为k个 dirichlet参数α: 长度为k的向量,每个分量都大于0 文档的主题…
LDA是一种典型的词袋模型,即它认为一篇文档是由一组词构成的一个集合,词与词之间没有顺序以及先后的关系.一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成. 它是一种主题模型,它可以将文档集中每篇文档的主题按照概率分布的形式给出: 同时是一种无监督学习算法,在训练时不需要手工标注的训练集,需要的仅仅是文档集以及指定主题的数量k即可: 此外LDA的另一个优点则是,对于每一个主题均可找出一些词语来描述它: LDA可以被认为是一种聚类算法: [LDA automatically assig…
原文 LDA整体流程 先定义一些字母的含义: 文档集合D,topic集合T D中每个文档d看作一个单词序列< w1,w2,...,wn >,wi表示第i个单词,设d有n个单词.(LDA里面称之为word bag,实际上每个单词的出现位置对LDA算法无影响) D中涉及的所有不同单词组成一个大集合VOCABULARY(简称VOC) LDA以文档集合D作为输入(会有切词,去停用词,取词干等常见的预处理,略去不表),希望训练出的两个结果向量(设聚成k个Topic,VOC中共包含m个词): 对每个D中的…
文本提取特征常用的模型有:1.Bag-of-words:最原始的特征集,一个单词/分词就是一个特征.往往一个数据集就会有上万个特征:有一些简单的指标可以帮助筛选掉一些对分类没帮助的词语,例如去停词,计算互信息熵等等,但不管怎么训练,特征维度都很大,每个特征的信息量太小:2.统计特征:包括Term frequency(TF) , Inverse document frequency(IDF), 以及合并起来的TF-IDF.这种语言模型主要是用词汇的统计特征来作为特征集,每个特征都能够说得出物理意义…
1     问题描述 LDA由Blei, David M..Ng, Andrew Y..Jordan于2003年提出,是一种主题模型,它可以将文档集中每篇文档的主题以概率分布的形式给出,从而通过分析一些文档抽取出它们的主题(分布)出来后,便可以根据主题(分布)进行主题聚类或文本分类.此外,一篇文档可以包含多个主题,文档中每一个词都由其中的一个主题生成. 人类是怎么生成文档的呢?LDA的这三位作者在原始论文中给了一个简单的例子.比如假设事先给定了这几个主题:Arts.Budgets.Childre…
关于Latent Dirichlet Allocation及Hierarchical LDA模型的必读文章和相关代码 转: http://andyliuxs.iteye.com/blog/1051743 LDA和HLDA: (1)D. M. Blei, et al., "Latent Dirichlet allocation," Journal of Machine Learning Research, vol. 3, pp. 993-1022, 2003. (2)T. L. Grif…
多项分布 http://szjc.math168.com/book/ebookdetail.aspx?cateid=1&&sectionid=983 二项分布和多项分布 http://blog.csdn.net/shuimu12345678/article/details/30773929 0-1分布: 在一次试验中,要么为0要么为1的分布,叫0-1分布. 二项分布: 做n次伯努利实验,每次实验为1的概率为p,实验为0的概率为1-p;有k次为1,n-k次为0的概率,就是二项分布B(n,p,…
转自:http://leyew.blog.51cto.com/5043877/860255#559183-tsina-1-46862-ed0973a0c870156ed15f06a6573c8bf0 LDA(Latent Dirichlet Allocation)学习笔记 最近在看LDA算法,经过了几天挣扎,总算大致了解了这个算法的整体框架和流程. 示例 LDA要干的事情简单来说就是为一堆文档进行聚类(所以是非监督学习),一种topic就是一类,要聚成的topic数目是事先指定的.聚类的结果是一…
http://www.52ml.net/1917.html 主题模型LDA(latent dirichlet allocation)的应用还是很广泛的,之前我自己在检索.图像分类.文本分类.用户评论的主题词抽取等都用过,做feature.降维等.例如可以用主题维度来表示原来的字典维度,大大的降低了文本表示的维度.这其实也很deep learning中的对特征的抽象有点相似,通过一些聚类等的思想,将一些细粒度的特征组合到一个新的空间上去,例如主题空间. 而且GibbsSampling的LDA实现也…
1. Topic Models Topic models are based upon the idea that documents are mixtures of topics, where a topic is a probabilistic distribution over words. A topic model is a generative model for documents: it specifies a simple probabilistic procedure by…
今天,也没出去,晚上宿舍没有人,自己思考了下人生,毕设还是大事,觉得现在有必要把LDA从前往后彻彻底底的读一遍了,因为现在的感觉就是什么都知道一点皮毛,但是理解的都不深,LDA好像(恩,相当不好)现在理解的不是很好,涉及的内容挺多,细分的话有: 1)参数估计 MLE MAP 2)Bayes Estimation 3)随机采样 4)各种基于 MCMC 的采样方法 :Gibbs LDA Sparse LDA ,Alias LDA,WarpLDA 4)分布式实现 5)应用 放在新闻推荐上? 这个具体看…
以下内容主要基于<Latent Dirichlet Allocation>,JMLR-2003一文,另加入了一些自己的理解,刚开始了解,有不对的还请各位指正. LDA-Latent Dirichlet Allocation JMLR-2003 摘要:本文讨论的LDA是对于离散数据集,如文本集,的一种生成式概率模型.LDA是一个三层的贝叶斯分层模型,将数据集中每一项,如每个文本,建模为某些未知的topic组成的集合的混合.每个topic又建模为某种混合概率分布.在文本建模中,话题的概率就提供了每…
前言: 最近又看了点Java的知识,于是想着把CYQ.Data V5迁移到Java版本. 过程发现坑很多,理论上看大部分很相似,实践上代码写起来发现大部分都要重新思考方案. 遇到的C#转Java的一些小问题: 1:C#的ref:这个参数的主要意图是: 就算方法内部重新对参数重新(new)赋值,也能保证外部的参数指向新的值. Java木有了,不知道新的方案是什么?还是说只能避免方法内部重新(new)赋值? 2:C#的out:这个参数的主要意图是: 处理多值返回的问题. Java木有了,只能改返回数…
你的程序支持复杂的时间调度嘛? 这篇文章介绍了时间适配器的c#版本,是给客户端用的,服务器自然也要有一套对应的做法,java版本的 [年][月][日][星期][时间] [*][*][*][*][*] 这样利于分割,配置,清晰. 然后就是验证,时间在不在配置的时间开发内? 当然想到的*肯定是默认支持所有的 [2015][7][*][*][10:00-11:59] 这个格式,表示2015年的7月每一天的10点到12点为配置开启时间 [2015][7-9][*][*][10:00-11:59] 这个格…
崔用志-微信开发-java版本 今天看到一些关于微信开发的知识蛮好的博客,分享给大家,希望对大家有帮助. 微信开发准备(一)--Maven仓库管理新建WEB项目 微信开发准备(二)--springmvc+mybatis项目结构的搭建 微信开发准备(三)--框架以及工具的基本使用 微信开发准备(四)--nat123内网地址公网映射实现 Java微信公众平台开发(一)--接入微信公众平台 Java微信公众平台开发(二)--微信服务器post消息体的接收 Java微信公众平台开发(三)--接收消息的分…
java版本区别 点我,点我,Eclipse几个版本号的区别(part1) 点我,点我,Eclipse几个版本号的区别(part2) 点我,点我,Eclipse几个版本号的区别(part3)…
如果安装有多个Java版本时(有时候有些软件自行安装),怎样方便的进行切换呢.除了常见的设置环境变量外,今天学到了一种新的切换方法: update-alternatives --config javaupdate-alternatives --config javac 另外,将自己的java版本如何安装: sudo update-alternatives --install /usr/bin/java java /opt/jdk1.7.0_67/bin/java 50sudo update-al…
今天在安装Elicpse IDE的时候,发现提示安装的Java版本不支持,于是在官方去下载了Jre最新版本并安装,在安装完过后再次打开Elicpse发现提示还是不正确,如果用Google查询到一些资料,并且得到了解决 首先需要到JDK官方网站去下载你需要安装的版本 地址为:http://www.java.com/en/download/faq/develop.xml 在终端下进入系统设置的默认目录 /System/Library/Frameworks/JavaVM.framework/Versi…
java -version 显示java 版本 sudo su - root 切换身份 cd /usr/local/openfire 进入openfire目录 cd bin/ 进入 bin vim openfire.sh ——— 修改java路径 打开openfire.sh - 配置java路径 pwd  ——— "/System/Library/Frameworks/JavaVM.framework/Home” 显示目录 cd /Library/Java/JavaVirtualMachines…
在OS X EI Capitan下, java版本太低,从oracle官网下载的dmg文件升级一直有问题, 我发现mac下的java环境有三处 #这应该是系统自带java环境,默认/usr/bin/java 指向这里 /System/Library/Frameworks/JavaVM.framework/Versions/Current/Commands/java #这应该是浏览器下的java环境,oracle官方dmg貌似只更新这里 /Library/Internet Plug-Ins/Jav…
最近导入一个java项目,发现我安装的java版本是1.8.0_111,而项目的版本是1.8.0_101,当然不想重新再安装旧的java版本,于是就在网上找了解决方法. 在项目的library中右击,Build Path-->Configure Build Path 然后移除原来的java库 再点击Add Library,添加自己系统的java库: 这样就成功啦~(≧▽≦)/~…
ORACLE SQL Developer不支持JAVA版本 今天我打开 ORACLE SQL Developer准备开始练手.没有想到却给出了错误提示. 我 是安装了java JDK的而且是1.6版本的.我可能选择了bin目录下面的java.exe文件,原本觉得这样的操作应该是没有问题的结果还是出现了错误.具体错误信息如 下:不支持的java版本,不支持java 6.0发行版本1.6.0_xxx,请升级到java 6.0发行版本1.6.0_04.或者降级到java 5.0发行版本1.5.0或更高…
<pre name="code" class="html">activemq: redis01:/root# cp apache-activemq-5.13.2-bin.tar.gz /usr/local/ 安装目录: redis01:/usr/local/apache-activemq-5.13.2# pwd /usr/local/apache-activemq-5.13.2 添加ACTIVEMQ_OPTS_MEMORY的配置为ACTIVEMQ_OPT…
最近在做一个dcos(数据中心操作系统)的东西,需要用marathon来做进程管理.遗憾的是0.6版本的marathon在API方面很是缺少,换成了0.15版本之后,运行时提示“Unsupported major.minor version 52.0”,这是提示java版本太低,需要使用java1.8.由于对linux不是很熟,找了一些资料,解决了这个问题. 我用的是ubuntu系统,系统自带1.6和1.7的java包.这个可以在/usr/lib/jvm/目录下可以看到.接下来进入步骤: a.先…
Java版本 Java版本分为J2SE(Java 2 Standard Edition,Java标准版).J2ME(Java 2 Micro Edition,Java微型版本)和J2EE(Java 2 Enterprise Edition,Java企业版)三个体系. JavaSE就是指Java的基础语法和一些Java平台提供的基础类库.而后面两者可以看作是前者的基础上添加一些针对某个领域的类库和框架.并不是说有好几个语法版本的Java.开发时除了安装标准版的Java后两者还需要其它的扩展工具.…
这是一篇关于:以时间表的形式来介绍Java如何演变至今,以及Java版本的一些特性的分享: Java版本,功能和历史 原文[英]:https://javapapers.com/core-java/java-features-and-history/ Java历史 原文[英]:https://javapapers.com/core-java/java-history/…
最近在写一个自己的后台管理系统(主要是写着玩的,用来熟悉后端java的知识,目前只是会简单的写点接口),想在项目中编写一个发布新闻文章的功能,想到了使用百度的ueditor富文本编辑器,网上找了很多java版本的资料,不过大部分都是前后端都在一个工程项目下,页面是jsp的.由于我这个系统是把前后端拆分开成前后端分离的.所以在根据看了网上的资料以及慢慢的摸索下,实现了在前后端分离的情况下把ueditor集成到系统中.项目页面如图: 说明:由于ueditor的上传文件的功能默认是上传在项目工程目录下…
Java版本APP接口安全设计 安全设计分为两种: 1.传输安全. 2. 会话安全. 1.传输安全 怎么保证接口经过网络传输不被抓包获取? 1.如果只是使用对称性算法,破解APP拿到加密密钥就可以解密出截获的传输数据.2.如果只使用非对称性算法,加密数据长度有限制.3.解决方案:对称性算法+非对称性算法. 会话相关 1.每次登登录,都产生一个唯一加密KEY,给加密KEY设置有效时间.这样用户嗅探后,也无法伪造会话.2.传递的参数,除了经过RSA加密过的KEY,其他多参数都统一封装到一个参数中pa…
众所周知,ubuntu经常需要安装不同的java版本,他们之间的切换就是一个很大的问题 1.Chose another Java loader: sudo update-alternatives --config java 2.Chose another compiler (this is what you need): sudo update-alternatives --config javac 3.Chose Java Web Start: sudo update-alternatives…