Antkillerfarm Hacking V8.0

ML » 机器学习(二十七)——Stacking, 数据清洗, LSA

2017-08-31 :: 5795 Words

Latent Dirichlet Allocation

LDA(续)

使用模型:对于新来的一篇文档\(doc_{new}\),我们能够计算这篇文档的topic分布\(\overrightarrow{\theta}_{new}\)。

从最终给出的算法可以看出,虽然LDA用到了MCMC和Gibbs Sampling算法,但最终目的并不是生成符合相应分布的随机数,而是求出模型参数\(\overrightarrow{\varphi}\)的值,并用于预测。

这一步实际上是一个分类的过程。可见,LDA不仅可用于聚类,也可用于分类,是一种无监督的学习算法。

如何确定LDA的topic个数

这个问题上,业界最常用的指标包括Perplexity,MPI-score等。简单的说就是Perplexity越小,且topic个数越少越好。

从模型的角度解决主题个数的话,可以在LDA的基础上融入嵌套中餐馆过程(nested Chinese Restaurant Process),印度自助餐厅过程(Indian Buffet Process)等。因此就诞生了这样一些主题模型:

1.hierarchical Latent Dirichlet Allocation (hLDA) (2003_NIPS_Hierarchical topic models and the nested Chinese restaurant process)

2.hierarchical Dirichlet process (HDP) (2006_NIPS_Hierarchical dirichlet processes)/Nested Hierarchical Dirichlet Processes (nHDP)

3.Indian Buffet Process Compound Dirichlet Process (ICD) (2010_ICML_The IBP compound Dirichlet process and its application to focused topic modeling)

4.Non-parametric Topic Over Time (npTOT) (2013_SDM_A nonparametric mixture model for topic modeling over time)

5.collapsed Gibbs Samplingalgorithm for the Dirichlet Multinomial Mixture Model (GSDMM) (2014_SIGKDD_A Dirichlet Multinomial Mixture Model-based Approach for Short Text Clustering)

这些主题模型都被叫做非参数主题模型(Non-parametric Topic Model),最初可追溯到David M. Blei于2003年提出hLDA那篇文章(2003_NIPS_Hierarchical topic models and the nested Chinese restaurant process)。非参数主题模型是基于贝叶斯概率的与参数无关的主题模型。这里的参数无关主要是指模型本身可以“随着观测数据的增长而相应调整”,即主题模型的主题个数能够随着文档数目的变化而相应调整,无需事先人为指定。

参考:

https://www.zhihu.com/question/32286630

怎么确定LDA的topic个数?

http://blog.sina.com.cn/s/blog_4c9dc2a10102vua9.html

Perplexity(困惑度)详解

https://mp.weixin.qq.com/s/VwSmjv03LyqFFseQHJpgdQ

主题模型的主题数确定和可视化

LDA漫游指南

除了rickjin的《LDA数学八卦》之外,马晨写的《LDA漫游指南》也是这方面的中文新作。

该书的数学推导部分主要沿用rickjin的内容,但加入了Blei提出的变分贝叶斯方法。此外,还对LDA的代码实现、并行计算和大数据处理进行了深入的讨论。

参考

http://www.arbylon.net/publications/text-est.pdf

《Parameter estimation for text analysis》,Gregor Heinrich著

http://www.inference.phy.cam.ac.uk/itprnn/book.pdf

《Information Theory, Inference, and Learning Algorithms》,David J.C. MacKay著

关于MCMC和Gibbs Sampling的更多的内容,可参考《Neural Networks and Learning Machines》,Simon Haykin著。该书有中文版。

Sir David John Cameron MacKay,1967~2016,加州理工学院博士,导师John Hopfield,剑桥大学教授。英国能源与气候变化部首席科学顾问,英国皇家学会会员。在机器学习领域和可持续能源领域有重大贡献。

Simon Haykin,英国伯明翰大学博士,加拿大McMaster University教授。初为雷达和信号处理专家。自适应信号处理领域的权威。80年代中后期,转而从事神经计算方面的工作。加拿大皇家学会会员。

http://www.cs.cmu.edu/~epxing/Class/10708-14/lectures/lecture17-MCMC.pdf

http://max.book118.com/html/2015/0513/16864294.shtm

基于LDA分析的词聚类算法

http://www.doc88.com/p-9159009103987.html

基于LDA的博客分类算法

http://blog.csdn.net/sinat_26917383/article/details/52095013

基于LDA的Topic Model变形+一些NLP开源项目

https://mp.weixin.qq.com/s/74lXwDg9H_dyOubfXVn2Bw

一文详解LDA主题模型

https://mp.weixin.qq.com/s/_bAiiJqPjPPMzJ0hiuCkOg

通过Python实现马尔科夫链蒙特卡罗方法的入门级应用

https://mp.weixin.qq.com/s/BJaRUnpcPe8iybSz14gabw

一文读懂如何用LSA、PSLA、LDA和lda2vec进行主题建模

https://zhuanlan.zhihu.com/p/57996219

短文本主题模型

https://mp.weixin.qq.com/s/FalGcZwnL5_Jgt650JtUag

NLP关键字提取技术之LDA算法原理与实践

https://www.zhihu.com/question/298517764

目前有比Topic Model更先进的聚类方式么?比如针对短文本的、加入情感分析的?

Stacking

模型融合的方法除了Bagging和Boosting,还有Stacking。

参考:

https://mp.weixin.qq.com/s/lYj-GVNSDp26czRXbf0iNw

如果你会模型融合!那么,我要和你做朋友!!

https://mp.weixin.qq.com/s/-MbiSkgkF11gt5t9W0ExTw

模型融合方法最全总结

GBDT+LR

论文:

《Practical Lessons from Predicting Clicks on Ads at Facebook》

GBDT除了单独使用之外,也可以和其他模型Stack使用。

上图就是GBDT+LR的示意图。上图中,GBDT有红蓝两个子树。黑色样本经子树分类后,落在子树打勾的分支中。将分类结果进行编码,然后交给LR进行进一步的分类。

当然了,把GBDT换成其他决策树,如XGBoost,把LR换成SVM,显然也是可行的。相对于LR之类的模型,决策树在特征提取方面,还是很有优势的。

参考:

https://www.cnblogs.com/wkang/p/9657032.html

GBDT+LR算法解析及Python实现

https://blog.csdn.net/losteng/article/details/78378958

学习GBDT+LR

数据清洗

https://mp.weixin.qq.com/s/YrCC8CmP6UKuCmSdF2K_3g

数据挖掘中的数据清洗方法大全

https://mp.weixin.qq.com/s/FHdo2DTapoTryA-hOM-y_w

还在为数据清洗抓狂?这里有一个简单实用的清洗代码集

https://mp.weixin.qq.com/s/r7ngZOM9tO-_OSfvs2aDJw

数据清洗&预处理入门完整指南

https://mp.weixin.qq.com/s/r4ycLnjOl5hSPBMwKpnmsQ

如何打造高质量的NLP数据集

LSA

基本原理

Latent Semantic Analysis(隐式语义分析),也叫Latent Semantic Indexing。它是PCA算法在NLP领域的一个应用。

在TF-IDF模型中,所有词构成一个高维的语义空间,每个文档在这个空间中被映射为一个点,这种方法维数一般比较高而且每个词作为一维割裂了词与词之间的关系。

为了解决这个问题,我们要把词和文档同等对待,构造一个维数不高的语义空间,每个词和每个文档都是被映射到这个空间中的一个点。

LSA的思想就是说,我们考察的概率既包括文档的概率,也包括词的概率,以及他们的联合概率。

为了加入语义方面的信息,我们设计一个假想的隐含类包括在文档和词之间,具体思路是这样的:

1.选择一个文档的概率是\(p(d)\)

2.找到一个隐含类的概率是\(p(z\mid d)\)

3.生成一个词w的概率为\(p(w\mid z)\)

实现方法

上图中,行表示单词,列表示文档,单元格的值表示单词在文档中的权重,一般可由TF-IDF生成。

聪明的读者看到这里应该已经反应过来了,这不就是《机器学习(十四)》中提到的协同过滤的商品打分矩阵吗?

没错!LSA的实现方法的确与之类似。多数的blog讲解LSA算法原理时,由于单词-文档矩阵较小,直接采用了矩阵的SVD分解,少数给出了EM算法实现,实际上就是ALS或其变种。

参考:

http://www.cnblogs.com/kemaswill/archive/2013/04/17/3022100.html

Latent Semantic Analysis(LSA/LSI)算法简介

http://blog.csdn.net/u013802188/article/details/40903471

隐含语义索引(Latent Semantic Indexing)

http://www.shareditor.com/blogshow/?blogId=90

比TF-IDF更好的隐含语义索引模型是个什么鬼

http://shiyanjun.cn/archives/548.html

使用libsvm+tfidf实现文本分类

https://mp.weixin.qq.com/s/iZOVUYKWP-fN8BwAuVwAUw

TF-IDF不容小觑

中东+

阿卜杜勒·巴塞特·萨鲁特于1992年1月1日出生在霍姆斯,2019年6月8日在伊德利卜牺牲。革命开始前,萨鲁特是叙利亚足球队的守门员。

2011年革命开始时,萨鲁特在家乡霍姆斯领导了示威活动。随着革命运动的日益残酷,萨鲁特的四个兄弟殉道,萨鲁特的思想日趋激进。

2011年至2014年,霍姆斯被阿萨德政权围困。萨鲁特被选为叙利亚革命部队指挥官,后来加入光荣军。2014年,他率部从霍姆斯撤离到伊德利卜省乡村地区。

https://zhuanlan.zhihu.com/p/15660068186

演唱萨鲁特烈士歌曲 叙利亚女子合唱团向革命政府投诚


祖拉尼发声,他命令普京,在12月11日之前滚出叙利亚领土,否则大军一到,踏为齑粉。

祖拉尼说,叙利亚内战的性质是民族解放战争,广大叙利亚人民群众经过13年艰苦严酷的血战,最终依靠自己的力量,驱逐了俄罗斯和伊朗殖民势力,打跑了侵略军,粉碎了外国势力的傀儡阿萨德王朝,这是人类历史上伟大的诗篇,已经载入史册。

他还指控说,这几年时不时冒出来的所谓IS分子,很可能是俄军假扮的,他们已经缴获了大量证据,俄军兵营里藏着IS服装和旗帜。

祖拉尼声称伊斯兰国是俄罗斯支持的,要给俄罗斯定性为支持恐怖主义国家,还要去海牙告普京。

新华社已经说了,反对派“训练有素,装备精良”。哈哈哈哈哈哈,都怪米国。

在叙利亚宗教人士里,开始出现一个说法,说1982年阿萨德在哈马血腥镇压逊尼派,阿拉因此派来了消灭阿萨德的人,朱拉尼就是1982年出生的。小明王了这是。

祖拉尼表示,经过这些年亲身经历,他个人认为,宗教应该适应社会现实,而不能把宗教强加于现实,不应该让宗教凌驾于社会生活之上。

就他学这个专业,新闻传媒,如果老老实实找工作上班,或者在家里宅着天天键政,说不定哪天,忍不住骂了阿萨德,也许人们只能在某处监狱,找到他的遗骨,JJ被割掉了,骨头还被狗啃过。


什叶派的教士评级比大学评职称严格,严到多数教士子弟不愿意读神学院,走不了后门。霍梅尼的两个儿子就没能混成阿亚图拉,还不如董袭莹。 ​​​

Fork me on GitHub