为什么能学出有效的主题 上|学习笔记

简介: 快速学习为什么能学出有效的主题 上

开发者学堂课程【高校精品课-华东师范大学 - Python 数据科学基础与实践为什么能学出有效的主题 上】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/1067/detail/15533


为什么能学出有效的主题 上

 

LDA可以看成pLSA加上先验,p(d,Z|θ)可以简单写成p(d|θ)。这是它的目标函数,然后找一个θ,包括θd和t,就是topic。然后就找个最好的θ,然后最大化这个概率,但是问题是容易过拟合,就是可能得到一些文档它很多个topic的概率都会比较大,就相当于混那种混杂的程度比较高。

这个d是指文档的一个编号,它是给系数的参数较大的可能性。这样最后估计出来参数会可能比较稀疏一些,可能会更合理一些。这个公式就是参数的后验概率和先验率概率乘以似然函数成正比。因为这俩乘起来的话还没有规划,所以规划之后就是等号了。

所以说后验概率它是综合了先验概率和pLSA函数。举例子:后验概率是生什么病,然后。Given这个发烧这个情况是他的后验概率,LDA它的先验概率是加在θd和T上的。因为θd和T它的维度是不一样的,θd是K为的,T是w为的。

合理的先验它要符合直觉,就是每个topic概率集中在少数词上,每个文档的不同topic概率集中在少数几个topic上。然后定义里包含所有合法的参数,这里θ包括了θd和T,即包含所有的参数。

疑问:

后验概率和先验概率乘以似然函数怎么理解?

它就是贝斯推理的一个范式。可以简单理解成我要找好的参数,首先这个先验概率不能太差,不需要特别好,也不要太长,然后似然函数我需要满足的比较好。

Dirichlet 分布

这个分布比较抽象,这个分布有个参数。这个x是每一个观测值。然后它就是给每个x一个概率。α是它最重要的参数。这样定义的xi的αi-1,对所有的K连成起来。因为它这个x和α都是K为向量。B(α)是个规划常数,虽然它定义域在相应x上,这个x>0,然后x所有维度上的xK加下等于1,正好它是一个离散分布的参数,也需要满足这些要求。

所以每个合法的x对应一个离散分布,这样的话很容易把它作为离散分布的先验证分布。有些人会说这是分布的分布,这样说的话就会很费解,不如把分布的参数给分布的每一组参数都有一个概率。

举例子:

假设每个分布是不同色子,对于这些色子我有一些先验的信念。比如说我觉得我这个色子应该是大致公平的。那我就认为它的六个面那个概率基本上接近于六分之一。在六分之一附近,我假设我说这个色子是有作弊的,那么我就知道他离这个六分之一比较远。这都是相当于我对色子实现了信念。Dirichlet分布和离散分布是共轭分布。

共轭分布是什么意思?

假如我有一些从离散分布里头的观测,然后把这个观测放到这个就作为已知的知识,然后我们算这个色子六个面的后验概率,它一样是Dirichlet分布。比如先是六个一,然后我们观测到六个面分布,频率是第一个面看到五次第二面看了两次,这个很明显,这个1个骰子可能是有偏的,一个色子后验概率是Dir(6,3,2,2,2,1)。可以看到这个筛子就比较大概率偏向第一面了。这个丢失的权益是对骰子的分布,对骰子的情况我不做任何假设,就它可以是一个均匀的筛子,也可以是一个很奇怪的筛子,他某些面概率特别大,某些面概率特别小,我认为所有色子它都是概率是一样的,都有可能拿到,然后我从一个骰子空间拿一个筛子出来我看到筛子观测值是这样的,然后我就估计他后面概率到底是什么样的。

这里是我举了一个例子,抽了一些样本出来给大家一个直观印象,如下图所示,这个六乘五的矩阵我是从这个全是一的对率给抽出来的。

image.gif每一行它是一个样本,我们可以看出来就是这里头有五个采样,可以看出来它确实是各种情况都有,比如说有些是第一面会比较大的,有些是第一面很小的。采样就是抽象。从我们后验概率里头抽出来的样本看出来第一面的概率几乎每个样本的概率都很大,第二面的概率呢有时候比第一个还大,频率很高。

假设我们用最大似然估计的话,我们可以算一个平均值出来。可以算第一面的概率大概是0.5,第二面是0.2。但是贝斯推理为了推理更加鲁棒或者说更加平滑。他也不做那种最大似然规律,假设我虽然观测到这些频率。但我仍然认为这个色子这方面的概率是服从一个概率分布的。我并不能估计出来一个点,然后就相信这个点就是实际情况。比如说那个最后一面我一直没观测到,但我不能认为它最后一面的概率为0。如果做最大似然估计的话,最后一面的概率就是为0了,做推理的话,最后一面就像我们这个采样里头最后一面。它的概率虽然很小了,但是也不是零。

相当于咱们做的似然处理经常做的平滑,比如说一个词从来没有出现,但我不能把它频率设成0。我需要用很少的数给它平滑,很小的数平滑一下先验概率。其实起到的效果就相当于对参数做了一下平滑。

相关文章
|
前端开发 JavaScript
Yii2的主题是干什么的?有什么作用?为什么需要使用主题?
Yii2的主题是干什么的?有什么作用?为什么需要使用主题?
|
自然语言处理 算法 开发者
为什么能学出有效的主题|学习笔记
快速学习为什么能学出有效的主题
60 0
为什么能学出有效的主题|学习笔记
|
自然语言处理 搜索推荐 开发者
基于主题知识问答|学习笔记
快速学习基于主题知识问答
61 0
基于主题知识问答|学习笔记
|
开发者 Python
为什么能学出有效的主题 中|学习笔记
快速学习为什么能学出有效的主题 中
65 0
为什么能学出有效的主题 中|学习笔记
|
开发者 Python
为什么能学出有效的主题 下|学习笔记
快速学习为什么能学出有效的主题 下
37 0
为什么能学出有效的主题 下|学习笔记
|
存储 移动开发 物联网
订阅主题 | 学习笔记
快速学习 订阅主题
167 0
订阅主题 | 学习笔记
|
JSON 数据格式
Agron主题安装
wordpress主题
372 0
Agron主题安装
|
前端开发 JavaScript
R沟通|设置xaringan主题
上一期我们讲解了如何使用谢益辉写的xaringan包[1]制作幻灯片,推文在这:R沟通|用xaringan包制作幻灯片。但是最后留了一个小尾巴,如果你不喜欢最原始版本的主题的话。你可以把内部的css进行设置,这时你得需要一些javascript的知识。
101 0
R沟通|设置xaringan主题