机器学习----分布问题(二元,多元变量分布,Beta,Dir)
这涉及到数学的概率问题。
二元变量分布:
伯努利分布,就是0-1分布(比如一次抛硬币,正面朝上概率)
那么一次抛硬币的概率分布如下:

假设训练数据如下:

那么根据最大似然估计(MLE),我们要求u:

求值推导过程如下:

所以可以求出:

以上的推导过程就是极大似然估计,我们可以看出u就是样本出现的频率除以总共抛硬币的实验次数。但是极大似然估计有它的局限性,当训练样本比较小的时候会导致Overfitting问题,比如说抛了10次硬币,有8次朝上,那么根据极大似然估计,u的
取值就应该是8/10(这符号频率派的观点)。如何解决这个问题呢?
那么这时候就需要从贝叶斯理论出发,贝叶斯理论认为,u并不是一个固定的值,u是同样服从某个分布,因此我们假设u有个先验分布P(u)。
但是如何选取这个先验分布p(u)呢?
我们知道

因此我们希望先验分布也可以有类似的概率分布,为什么这么说呢?因为后验概率=先验概率*似然函数,所以如果选择的先验分布和似然函数有一样的结构,那么得到的后验概率也会存在相似的结构,这样会使得我们后面的计算简便。
共轭性:θ的后验分布p(θ|x)与先验分布P(θ)属于同一分布,那么称二者为共轭分布。
因此我们假设u的先验分布也为
那么这时候数学里面有个分布叫做Beta分布:

那么假设我们投硬币,m次正面,l次反面。总共是m+l=N次实验:
那么这时候u的分布为:

依旧和先验分布服从一样的分布(共轭分布)
假设我们要预测下一次的实验结果,也就是给定D得到下一次的预测分布:

我们可以发现当m,N无限变大的时候,这种估计近似等于极大似然估计。
多元变量分布:
很多时候,变元的不止只有两个,还有多元,其实估计过程是类似的。 假设有k维向量,其中某个向量Xk=1,其他等于0。
例如某个变量x2发生,则X2=1,x=(0,1,0,0,0,0) 以抛筛子为例子,总共有6个面。
那么xk=1发生的概率为Uk,那么x的分布为:

考虑n个独立观测值{x1,x2,...xn}D,对应的似然函数:

其中mk其实就是这么多次实验中,uk出现的次数大小。估计极大似然估计,我们会得出:

同理,为了避免数据量小导致的过拟合问题,我们对Uk也假设一个先验分布:
考虑到对于多元变量的分布u:

因此我们选择它的共轭分布狄利克雷分布为先验分布:

那么后验分布=似然分布*先验分布:

依旧和先验分布服从一样的分布(共轭分布)
假设我们要预测下一次的实验结果,也就是给定D得到下一次的预测分布:

又因为对于狄利克雷分布:

所以对于某个类的分布预测为:

机器学习----分布问题(二元,多元变量分布,Beta,Dir)的更多相关文章
- 分布问题(二元,多元变量分布,Beta,Dir)
这涉及到数学的概率问题. 二元变量分布: 伯努利分布,就是0-1分布(比如一次抛硬币,正面朝上概率) 那么一次抛硬币的概率分布如下: 假设训练数据如下: 那么根据最大似然估计(MLE),我 ...
- 伯努利分布、二项分布、Beta分布、多项分布和Dirichlet分布与他们之间的关系,以及在LDA中的应用
在看LDA的时候,遇到的数学公式分布有些多,因此在这里总结一下思路. 一.伯努利试验.伯努利过程与伯努利分布 先说一下什么是伯努利试验: 维基百科伯努利试验中: 伯努利试验(Bernoulli tri ...
- 关于Beta分布、二项分布与Dirichlet分布、多项分布的关系
在机器学习领域中,概率模型是一个常用的利器.用它来对问题进行建模,有几点好处:1)当给定参数分布的假设空间后,可以通过很严格的数学推导,得到模型的似然分布,这样模型可以有很好的概率解释:2)可以利用现 ...
- 【联系】—— Beta 分布与二项分布、共轭分布
1. 伯努利分布与二项分布 伯努利分布:Bern(x|μ)=μx(1−μ)1−x,随机变量 x 取值为 0,1,μ 表示取值为 1 的概率: 二项分布:Bin(m|N,μ)=(Nm)μm(1−μ)N− ...
- 斯坦福机器学习视频笔记 Week2 多元线性回归 Linear Regression with Multiple Variables
相比于week1中讨论的单变量的线性回归,多元线性回归更具有一般性,应用范围也更大,更贴近实际. Multiple Features 上面就是接上次的例子,将房价预测问题进行扩充,添加多个特征(fea ...
- Memcached 笔记与总结(5)Memcached 的普通哈希分布和一致性哈希分布
普通 Hash 分布算法的 PHP 实现 首先假设有 2 台服务器:127.0.0.1:11211 和 192.168.186.129:11211 当存储的 key 经过对 2 (2 台服务器)取模运 ...
- Pytorch的默认初始化分布 nn.Embedding.weight初始化分布
一.nn.Embedding.weight初始化分布 nn.Embedding.weight随机初始化方式是标准正态分布 ,即均值$\mu=0$,方差$\sigma=1$的正态分布. 论据1——查看 ...
- 机器学习(二)--------单变量线性回归(Linear Regression with One Variable)
面积与房价 训练集 (Training Set) Size Price 2104 460 852 178 ...... m代表训练集中实例的数量x代表输入变量 ...
- 机器学习-线性回归算法(单变量)Linear Regression with One Variable
1 线性回归算法 http://www.cnblogs.com/wangxin37/p/8297988.html 回归一词指的是,我们根据之前的数据预测出一个准确的输出值,对于这个例子就是价格,回归= ...
随机推荐
- 1401 - Remember the Word
注意到单词的长度最长100,其实最糟糕复杂度应该能到O(300005*100),需要注意的是在字典树上匹配单词时,一旦不匹配,则后面的就不会匹配,需要break出来(这个害我TLE查了半天,日!),还 ...
- Android 学习(一)
这几天被一些功能折磨的要死了,于是放下了这个,看点其它的东西,算是转移一下焦点.床头放了不少书籍,也都被翻阅过,翻阅过,却不曾细细的品味过,俗话说,书可借而不可买也,这话用到自己的身上丝毫不错.因为是 ...
- tokudb引擎安装-2
前言:因为现在tokuDB直接整合到Percona server里面了,下载页面直接跳转到下载Percona Server 页面了.安装方法跟以前不一样了,下面就来看一下新版本怎么安装了 ##准备阶段 ...
- 分享一个免费SSL证书申请网站,给网站开启https协议 | 张戈博客
这些天,由于公司的业务需求,接触到了ssl证书和https协议.博客前几篇文章也分享了在WEB服务器上安装SSL证书,为网站开启https协议的教程,感兴趣的童鞋可以前往查看相关文章: <Lin ...
- 在Ubuntu上为Android系统编写Linux内核驱动程序(老罗学习笔记1)
这里,我们不会为真实的硬件设备编写内核驱动程序.为了方便描述为Android系统编写内核驱动程序的过程,我们使用一个虚拟的硬件设备,这个设备只有一个4字节的寄存器,它可读可写.想起我们第一次学习程序语 ...
- HBase的Shell操作
1.进入命令行 bin/hbase shell 2.输入help 查看各种命令组. 命令是分组的,可以执行help 'general'查看general组的命令. 3.常用命令 --显示有哪些表 li ...
- sublime安装插件
今天因为某些原因,把 sublime 卸载掉了,然后来安装的时候,发现 Package Control 无法安装了,或者安装好后运行 ctrl + shift + p,会报 错误,截图如下: 然后就 ...
- JavaScript constructor 属性
定义和用法 constructor 属性返回对创建此对象的数组函数的引用. 语法 object.constructor 实例 例子 1 在本例中,我们将展示如何使用 constructor 属性: & ...
- 域名服务器--DNS
.域名 .DNS.DNS 端口号 .DNS服务器 .域名解析过程及原理 .动态域名解析(DDNS)服务的原理 域名 域名是与主机名称一一对应的一个名字.使得人们可以通过ip的名字来访问ip,域名就是为 ...
- JSOI2015 分组赛记
分组赛结束了,虽然跟我关系不大,但是去了还是学到了不少东西 day1 上午报到,在宾馆遇到大神wzy,orz 好像没有参赛证发了,于是给我发了一个[工作证],233我是工作人员了,高贵冷艳 下午是常中 ...