NLP——LDA(Latent Dirichlet Allocation-潜在狄利克雷分布)_weixin_30593261的博客-程序员秘密

技术标签: 人工智能  

一、首先是贝叶斯  

参考机器学习(一) —— 浅谈贝叶斯和MCMC

其中 π指的是参数的概率分布, π(θ)π(θ) 指的是先验概率, π(θ|x) 指的是后验概率,f(x|θ) 指的是我们观测到的样本的分布,也就是似然函数(likelihood),记住 竖线 | 左边的才是我们需要的。其中积分求的区间 Θ 指的是参数 θθ 所有可能取到的值的域,所以可以看出后验概率 π(θ|x) 是在知道 xx 的前提下在 Θ 域内的一个关于 θ 的概率密度分布,每一个 θ 都有一个对应的可能性(也就是概率)。

 

其中介绍了贝叶斯思想、先验概率、后验概率、

似然函数 f(x|θ)似然函数听起来很陌生,其实就是我们在概率论当中看到的各种概率分布 f(x),那为什么后面要加个参数 |θ 呢?我们知道,掷硬币这个事件是服从伯努利分布的 Ber(p) , n次的伯努利实验就是我们熟知的二项分布 Bin(n,p), 这里的p就是一个参数,原来我们在做实验之前,这个参数就已经存在了(可以理解为上帝已经定好了),我们抽样出很多的样本 x是为了找出这个参数。

其实我们观测到样本 x的分布是在以某个参数 θ 为前提下得出来的,所以我们记为 f(x|θ),只是我们并不知道这个参数是多少。

后验分布:以前我们想知道一个参数,要通过大量的观测值才能得出,而且是只能得出一个参数值。而现在运用了贝叶斯统计思想,这个后验概率分布 π(θ|x)π(θ|x) 其实是一系列参数值 θθ 的概率分布,再说简单点就是我们得到了许多个参数 θθ 及其对应的可能性,我们只需要从中选取我们想要的值就可以了

先验分布:先验分布就是你在取得实验观测值以前对一个参数概率分布的 主观判断,这也就是为什么贝叶斯统计学一直不被认可的原因。抛质地均匀的硬币经验告诉我们正面的概率是50%,但如果我告诉你这个硬币的材质是不均匀的,那正面的可能性是多少呢?这就让人犯糊涂了,我们想有主观判断也无从下手,于是我们就想说那就先认为 0 到1 之间每一种的可能性都是相同的吧,也就是设置成0~1之间的均匀分布 Uni(0,1) 作为先验分布吧,这就是贝叶斯统计学当中的 无信息先验(noninformative prior)

共轭先验:

有了如上的贝叶斯定理,对于贝叶斯派而言,有如下的思考方式:

先验分布+样本信息后验分布

上述的形式定义是贝叶斯派的思维方式,人们对于事物都会存在着最初的认识(先验分布),随着收集到越来越多的样本信息,新观察到的样本信息会不断修正人们对事物的最初的认识,最终得到对事物较为正确的认识(后验分布)。若这样的后验概率P(θx)和先验概率P(x)满足同样的分布,那么先验分布和后验分布被称为共轭分布

共轭先验的意义:如果你知道了一个观测样本的似然函数是二项分布的,那我们把先验分布直接设为Beta(a,b) ,于是我们就 不用计算复杂的含有积分的贝叶斯公式 便可得到后验分布 Beta(x+a,nx+b) 了!!!只需要记住试验次数n,和试验成功事件次数x就可以了

 二、文本建模  (被碾压)

参考:

简单易学的机器学习算法——Latent Dirichlet Allocation(理论篇)

(其中引用的文章也很有价值,包括:通俗理解LDA主题模型。。。)

 

转载于:https://www.cnblogs.com/shangshuai/p/7638439.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30593261/article/details/98740217

智能推荐

Redis的连接及配置Redis密码问题~_大大、酥的博客-程序员秘密

一.Redis在项目中的配置文件我们的项目中需要使用到Redis来做缓存数据库,因此需要将spring-data-redis集成进入项目中。spring-data-redis的配置就不细说来,网上有很多的教程的。今天要说一下在我们的配置文件redis.properties中,以下是我的配置文件。# Redis settingsredis.host=127.0.0.1...

[51Nod 1617] 奇偶数组_BAJim_H的博客-程序员秘密

原题:CodeForces 117DDescription是一个包含n个元素的数组。对a中的元素进行1-n编号。 定义“偶数组”even,eveni=a2i(1≤2i≤n)even, even_i=a_{2i}(1≤2i≤n) ,即“偶数组” even是由数组a中编号为偶数的元素组成的。 定义“奇数组” odd,oddi=a2i−1(1≤2i−1≤n)odd, odd_i=a_{2i−1}(1≤

【NLP】TIANCHI新闻文本分类-Task1.赛题理解_Yoky615的博客-程序员秘密

赛题理解赛题名称:零基础入门NLP之新闻文本分类赛题目标:通过这道赛题可以引导大家走入自然语言处理的世界,带大家接触NLP的预处理、模型构建和模型训练等知识点。赛题任务:赛题以自然语言处理为背景,要求选手对新闻文本进行分类,这是一个典型的字符识别问题。学习目标理解赛题背景与赛题数据完成赛题报名和数据下载,理解赛题的解题思路赛题数据赛题以匿名处理后的新闻数据为赛题数据,数据集报名后可见并可下载。赛题数据为新闻文本,并按照字符级别进行匿名处理。整合划分出14个候选分类类别:财经、彩票、房

关于Unity中动画自带模型位移问题的解决_unity中播放动画位置改变_舒培卫的博客-程序员秘密

直接从Mixamo中下载的动画,自带了模型移动的效果。这并不是我想要的。解决方法:1.将模型的Animator组件中Apply Root Motion 的勾选去掉2.把相应动画中的Loop Pose 选项勾选上。(注意:在勾选上之后一定要记 得点下面的Apply保存设置)这样,动画播放会移动模型位置发生变化的问题就解决了。...

解决当使用element table fix column 固定列时,滚动条在固定列下方无法滚动_fixcolumns 滚动条_yangshuolll的博客-程序员秘密

解决当使用element table fix column 固定列时,滚动条在固定列下方无法滚动在全局css中添加这行代码,提高滚动条在z轴的坐标.el-table--scrollable-x .el-table__body-wrapper { z-index : 1;}下附参考文章链接:参考文章...

windows消息机制 & 句柄_消息协议 窗体句柄_qinzheng_chen的博客-程序员秘密

作为一个非科班出生的程序员,对事件的一些理解总感觉有点欠缺,只能到浏览器级别或者应用程序级别。但是如果想深入一点这个级别是远远不够的,查了一些资料看了一些书记录我对消息机制和事件的理解,会持续更新和更正给自己参考。Windows事件驱动机制和Dos的过程驱动不同,Windows开启了事件驱动的时代,事件驱动围绕着消息的产生与处理展开,事件驱动是靠消息循环机制来实现的。也可以理解为消息是一种报告有关事件发生的通知,消息是Windows 操作系统的灵魂,掌握了消息运行机制就掌握了Windows 编程的神兵利

随便推点

Joker恶意软件的最新攻击技巧:使用Github隐藏有效载荷_systemino的博客-程序员秘密

Joker(又名Bread)恶意软件在几个月时间里,就感染了数百万设备,而且需要手动干预删除,才能最终实现设备对恶意软件的全部清除。早在7月份的时候,谷歌安全研究人员就发现被Joker感染的问题。据调查,这款恶意软件,早在3月份就开始活跃,截止目前,已经成功感染了将近数百万台的设备。通过分析,Joker是个技术简单却很难防御的恶意软件,所以导致了众多设备的感染,其实Joker早在三年前就首次被发现。详细分析研究人员最近在Google Play的样本中检测到了一个恶意软件Joker的新版本,此更新

使用Dev-C++调试,变量的值 not found in current context,下一步是灰色无法点击_YEup的博客-程序员秘密

在学习使用Dev-C++进行调试时,设断点之后遇到了变量的值 not found in current context,下一步等是灰色无法点击这样的问题,如图。(1)在百度后了解到,应把工具->编译选项->代码生成/优化->连接器中的产生调试信息项改成YES,如图。这样就应该解决了问题。(2)但我还无法成功调试,后来发现是自己粗心,保存时将C语言的代码保存成.cpp为后缀而不是.c。.c代表C的源程序,.cpp代表c++源程序。重新保存成后缀为.c,就可以正常调试了。..

处理事件及多个I/O流--ACE Reactor框架总览_sws9999的博客-程序员秘密

<br />   为了处理多个I/O源,比如多个网络连接,许多传统的应用程序都要创建新进程或新线程。但我们可以通过另外的途径解决,即反应式模型(recative model),其基础是事件多路分离器,比如select()、poll()或WaitMultipleObjects()系统函数,这些优秀的函数允许我们使用一个进程或者线程,就能处理许多时间。但是编写使用这些函数的可移植性应用相当富有挑战性,而这正是ACE Reactor框架可以帮助我们的地方。<br />主要的类有:<br />

【原创】Ubuntu安装 802.11n CSI Tool工具—(AP模式)_csitool的ap模式_兔八哥1024的博客-程序员秘密

一. 安装之前首先确认安装的Ubuntu版本在:这些指令目前预计将在基于3.2(例如Ubuntu12.04)和4.2(例如Ubuntu14.04.4)之间的上游Linux内核版本的Linux操作系统上工作。二. 然后执行下列教程所给的步骤:官方教程:http://dhalperi.github.io/linux-80211n-csitool/installation.html在1.Pre...

DataList 嵌套绑定CheckBoxList [记录, 以免忘记哈.]_a5130094的博客-程序员秘密

Code&lt;!--段落--&gt;&lt;div&gt;&lt;asp:DataListID="Menu"runat="server"OnItemDataBound="Menu_ItemDataBound"RepeatDirection="Horizontal"&gt;&lt;ItemStyleVerticalAlign="Top"/&gt;...

推荐文章

热门文章

相关标签