ML—高斯判别分析
华电北风吹
天津大学认知计算与应用重点实验室
日期:2015/12/11
高斯判别分析属于生成模型,模型终于学习一个特征-类别的联合概率。
0 多维正态分布
确定一个多维正态分布仅仅须要知道分布的均值向量μ∈Rn×1\mu\in R^{n\times 1}和一个协方差矩阵Σ∈Rn×n\Sigma\in R^{n\times n}.
其概率密度函数例如以下:
p(x;μ,Σ)=1(2π)n/2|Σ|1/2exp(−12(x−μ)TΣ−1(x−μ))(0)p(x;\mu,\Sigma)=\frac{1}{(2\pi)^{n/2}| \Sigma|^{1/2}}exp(-\frac{1}{2}(x-\mu)^T\Sigma^{-1}(x-\mu)) \tag{0}
一、高斯判别分析
适用范围:输入特征是连续
模型表述:
y∼Bernoulli(ϕ)(1-1)y\sim Bernoulli(\phi) \tag{1-1}
x|y=0∼N(μ0,Σ)()x|y=0\sim N (\mu_0,\Sigma) \tag{}
x|y=1∼N(μ1,Σ)()x|y=1\sim N(\mu_1,\Sigma) \tag{}
结合公式0能够将公式1-1写为:
p(y)=ϕy(1−ϕ)1−y(1-2)p(y)=\phi^y(1-\phi)^{1-y} \tag{1-2}
p(x|y=0)=1(2π)n/2|Σ|1/2exp(−12(x−μ0)TΣ−1(x−μ0))()p(x|y=0)=\frac{1}{(2\pi)^{n/2}| \Sigma|^{1/2}}exp(-\frac{1}{2}(x-\mu_0)^T\Sigma^{-1}(x-\mu_0)) \tag{}
p(x|y=1)=1(2π)n/2|Σ|1/2exp(−12(x−μ1)TΣ−1(x−μ1))()p(x|y=1)=\frac{1}{(2\pi)^{n/2}| \Sigma|^{1/2}}exp(-\frac{1}{2}(x-\mu_1)^T\Sigma^{-1}(x-\mu_1)) \tag{}
能够看到对于二分类高斯判别分析。模型的參数是ϕ,μ0,μ1,Σ\phi,\mu_0,\mu_1,\Sigma。注意到这里的两个n维正态分布公用了一个协方差矩阵。
对于m个输入样本,有
p(x(i),y(i);ϕ,μ0,μ1,Σ)=p(y(i);ϕ)p(x(i)|y(i);μ,Σ)(1-3)p(x^{(i)},y^{(i)};\phi,\mu_0,\mu_1,\Sigma)=p(y^{(i)};\phi)p(x^{(i)}|y^{(i)};\mu,\Sigma)\tag{1-3}
easy得到对数似然函数例如以下
l(ϕ,μ0,μ1,Σ)=log∏mi=1p(x(i),y(i);ϕ,μ0,μ1,Σ)(1-4)l(\phi,\mu_0,\mu_1,\Sigma)=\log\prod_{i=1}^{m}{p(x^{(i)},y^{(i)};\phi,\mu_0,\mu_1,\Sigma)} \tag{1-4}
求解似然函数最大化得到高斯判别分析的模型參数解形式例如以下:
ϕ=1m∑mi=11{y(i)=1}(1-5)\phi=\frac{1}{m}\sum_{i=1}^{m}{1\{{y^{(i)}}=1\}} \tag{1-5}
μ0=∑mi=11{y(i)=0}x(i)∑mi=11{y(i)=0}()\mu_0=\frac{\sum_{i=1}^{m}{1\{{y^{(i)}}=0\}x^{(i)}}}{\sum_{i=1}^{m}{1\{{y^{(i)}}=0\}}} \tag{}
μ1=∑mi=11{y(i)=1}x(i)∑mi=11{y(i)=1}()\mu_1=\frac{\sum_{i=1}^{m}{1\{{y^{(i)}}=1\}x^{(i)}}}{\sum_{i=1}^{m}{1\{{y^{(i)}}=1\}}} \tag{}
Σ=1m∑mi=1(x(i)−μy(i))(x(i)−μy(i))T()\Sigma=\frac{1}{m}\sum_{i=1}^{m}{(x^{(i)}-\mu_{y^{(i)}})(x^{(i)}-\mu_{y^{(i)}})^T} \tag{}
二、高斯判别分析与逻辑回归
能够easy写出高斯判别分析的预測函数。因为是生成模型。模型存在两种输出p(y=1|x。ϕ,μ0,μ1,Σ)p(y=1|x。\phi,\mu_0,\mu_1,\Sigma)和p(y=0|x;ϕ,μ0,μ1,Σ)p(y=0|x;\phi,\mu_0,\mu_1,\Sigma)。在这里重点关注第一个。
p(y=1|x。ϕ,μ0,μ1,Σ)=p(y=1|x)p(y=1|x)+p(y=0|x)(2-1)p(y=1|x。\phi,\mu_0,\mu_1,\Sigma)=\frac{p(y=1|x)}{p(y=1|x)+p(y=0|x)} \tag{2-1}
经过变换,分解组合等变换操作能够得到例如以下形式:
p(y=1|x。ϕ,μ0,μ1,Σ)=11+e−θTx(2-2)p(y=1|x。\phi,\mu_0,\mu_1,\Sigma)=\frac{1}{1+e^{-\theta^Tx}} \tag{2-2}
注:分子分母同除以分子,消除同类项。系数转化为指数上的指数,矩阵展开相减消除等简单操作就可以得到。
尽管能够得到相似的格式。可是高斯判别分析与逻辑回归仍然存在非常大差别:
1、模型性质:高斯判别分析属于生成模型。逻辑回归属于判别模型
2、p(y=1|x)和p(y=0|x)在逻辑回归中和为1。在高斯判别分析中不存在这个性质。
3、模型如果:高斯判别分析如果样本特征在每一个类别下分别服从于各异的高维正态分布。逻辑回归是类别标签满足伯努利分布如果下的广义线性模型。
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i ').text(i));
};
$numbering.fadeIn(1700);
});
});
ML—高斯判别分析的更多相关文章
- [置顶] 生成学习算法、高斯判别分析、朴素贝叶斯、Laplace平滑——斯坦福ML公开课笔记5
转载请注明:http://blog.csdn.net/xinzhangyanxiang/article/details/9285001 该系列笔记1-5pdf下载请猛击这里. 本篇博客为斯坦福ML公开 ...
- 高斯判别分析 Gaussian Discriminant Analysis
如果在我们的分类问题中,输入特征xx是连续型随机变量,高斯判别模型(Gaussian Discriminant Analysis,GDA)就可以派上用场了. 以二分类问题为例进行说明,模型建立如下: ...
- Gaussian discriminant analysis 高斯判别分析
高斯判别分析(附Matlab实现) 生成学习算法 高斯判别分析(Gaussian Discriminant analysis,GDA),与之前的线性回归和Logistic回归从方法上讲有很大的不同,G ...
- 【cs229-Lecture5】生成学习算法:1)高斯判别分析(GDA);2)朴素贝叶斯(NB)
参考: cs229讲义 机器学习(一):生成学习算法Generative Learning algorithms:http://www.cnblogs.com/zjgtan/archive/2013/ ...
- Stanford大学机器学习公开课(五):生成学习算法、高斯判别、朴素贝叶斯
(一)生成学习算法 在线性回归和Logistic回归这种类型的学习算法中我们探讨的模型都是p(y|x;θ),即给定x的情况探讨y的条件概率分布.如二分类问题,不管是感知器算法还是逻辑回归算法,都是在解 ...
- StanFord ML 笔记 第四部分
第四部分: 1.生成学习法 generate learning algorithm 2.高斯判别分析 Gaussian Discriminant Analysis 3.朴素贝叶斯 Navie Baye ...
- 【Coursera】高斯混合模型
一.高斯混合模型 软分类算法,即对每一个样本,计算其属于各个分布的概率,概率值最大的就是这个样本所属的分类. 对于训练样本的分布,看成为多个高斯分布加权得到的.其中每个高斯分布即为某一特定的类. 高斯 ...
- ML—朴素贝叶斯
华电北风吹 日期:2015/12/12 朴素贝叶斯算法和高斯判别分析一样同属于生成模型.但朴素贝叶斯算法须要特征条件独立性如果,即样本各个特征之间相互独立. 一.朴素贝叶斯模型 朴素贝叶斯算法通过训练 ...
- 生成式学习算法(三)之----高斯判别分析模型(Gaussian Discriminant Analysis ,GDA)
高斯判别分析模型(Gaussian Discriminant Analysis ,GDA) 当我们分类问题的输入特征$x $为连续值随机变量时,可以用高斯判别分析模型(Gaussian Discrim ...
随机推荐
- 小米Java程序员第二轮面试10个问题,你是否会被刷掉?
近日,开发者头条上分享了一篇"小米java第二轮面经",有很多的java程序员表示非常有兴趣. 下面l就和各位分享小米java第二轮面经(华为java工程师笔试面试题可以看文章某尾 ...
- Python中time和datetime模块的简单用法
python中与时间相关的一个模块是time模块,datetime模块可以看为是time模块的高级封装. time模块中经常用到的有一下几个方法: time()用来获取时间戳,表示的结果为从1970年 ...
- 用大白话扯扯那"神奇"的面向对象编程思维(一)
前言: 每当提到面向对象的时候,初学者肯定都是一脸懵逼的状态,到底什么是面向对象?会用面向对象后有什么牛逼之处吗?不会用是不是就会死掉?答案肯定不会死掉,我们可以来简单的举一 个栗子 1.当你想到熊猫 ...
- URL模块之parse方法
url.parse(urlString , boolean , boolean) parse这个方法可以将一个url的字符串解析并返回一个url的对象. 参数: urlString指传入一个url地址 ...
- [转载] 深入剖析 redis 主从复制
转载自http://www.cnblogs.com/daoluanxiaozi/p/3724299.html 主从概述 redis 支持 master-slave(主从)模式,redis server ...
- [转载] Redis资料汇总专题
转载自http://www.cnblogs.com/tommyli/archive/2011/12/14/2287614.html 1.Redis是什么? 十五分钟介绍 Redis数据结构 Redis ...
- link和import导入外部样式的区别
1.结构 link语法结构 <link rel="stylesheet" href="CSSurl" type="text/css" ...
- Web攻击技术
Web攻击技术 1.针对Web的攻击技术 1.1.在客户端即可篡改请求 在Web应用中,从浏览器那接收到的Http的全部内容,都可以在客户端自由地变更.篡改,所以Web应用可能会接收到与预期数据不相同 ...
- 企业级Tomcat部署实践及安全调优
1.1 Tomcat简介 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache.Sun和其他一些公司及个人 ...
- 在没有DOM操作的日子里,我是怎么熬过来的(上)
前言 在我动笔写这篇文章的时候,我刚刚从我的项目中删除了最后一行JQuery代码.至于我为何要这么做,请听闰土娓娓道来.前几年我还在想,假如有一天,前端世界里不能再直接操作dom了,我该怎么办?没想到 ...