PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)
主讲人 planktonli
planktonli(1027753147) 19:52:28
现在我们就开始讲第四章,第四章的内容是关于 线性分类模型,主要内容有四点:
1) Fisher准则的分类,以及它和最小二乘分类的关系 (Fisher分类是最小二乘分类的特例)
2) 概率生成模型的分类模型
3) 概率判别模型的分类模型
4) 全贝叶斯概率的Laplace近似
需要注意的是,有三种形式的贝叶斯:
1) 全贝叶斯
2) 经验贝叶斯
3) MAP贝叶斯
我们大家熟知的是 MAP贝叶斯
MAP(poor man's Bayesian):不涉及marginalization,仅是一种按后验概率最大化的point estimate。这里的MAP(poor man's Bayesian)是属于 点概率估计的。而全贝叶斯可以看作对test样本的所有参数集合的加权平均,PRML说的Bayesian主要还是指Empirical Bayesian:
这里的
为超参 。
Curve fitting为例子:
1) MLE,直接对likelihood function求最大值,得到参数w。该方法属于point estimate。
2) MAP (poor man's bayes),引入prior probability,对posterior probability求最大值,得到w。MAP此时相当于在MLE的目标函数(likelihood function)中加入一个L2 penalty。该方法仍属于point estimation。
3) fully Bayesian approach,需使用sum rule和product rule(因为"degree of belief"的machinery和概率相同,因此这两个rule对"degree of belief"成立),而要获得predictive distribution又需要marginalize (sum or integrate) over the whole of parameter space w:
其中,x是待预测的点,X是观察到的数据集,t是数据集中每个数据点相应的label。其实是用参数w的后验概率为权,对probability进行一次加权平均;因此这个过程需要对w进行积分,即marginalization。
由于 marginalization 通常是非常难求取的,所以一般在针对Graphical Model的时候就需做Laplace approximation、Variation inference、MCMC采样这些。
所以我们要建立的概念是:Graphical Model的东西是一个需要marginalization的。
下面我们看看本讲的内容:
首先将上节 LS(Least Square)方法直接用于求分类问题,就可以得到 Least squares for classification。


一般线性模型Generalized Linear Model: an activation function acting on a linear function of the feature variables:
Linear Model对于回归和分类的区别在于:激活函数的不同
这里sign就是一个非线性的函数,其实是一个间断函数,非连续的。
下图证明了点到平面的距离公式。超平面:在一个D维Euclidean space中的超平面是一它的一个D-1维流形,而且该空间是一个线性空间。Linearly separable:分布于D维空间中的全部数据点可以用超平面无错地分隔成类。Coding scheme:1-of-K binary coding scheme,即如果有K个类,某数据点属于第i个类,则表示为一个K维向量,该向量除了第i个分量是1,其余都是0。

关于超平面,线性可分的一些概念,在多类情况,可以使用1对1,1对多分类器的方式,例如:
你要分类3类物体: 苹果,西瓜,香蕉
那么 1对1 就是建立6个分类器
那么 1对1 就是建立3个分类器
苹果,西瓜
苹果,香蕉
西瓜,香蕉
1对多分类器就是:
苹果和非苹果
西瓜和非西瓜
香蕉和非香蕉
左边是1对多,右边是1对1,都存在一些无法分类的情况,也就是绿色区域部分。
多分类的决策域是单连通,而且是凸的, 下面给出了证明:
证明的图形示意:
上面有没有问题?没有就继续讲 Fisher's Linear Discriminant了。
echo<echotooo@gmail.com> 20:26:46
无法分类的情况一般怎么办?就是绿色区域了
planktonli(1027753147) 20:27:35
恩,那就是可能出现判断错误了,这个没有办法。
echo<echotooo@gmail.com> 20:28:12
哦,好的,pass。
planktonli(1027753147) 20:28:54
好了,现在看看 Fisher's Linear Discriminant,Linear Discriminant Analysis, LDA),也叫做Fisher线性判别,这个要和Graphical Model的 Latent Dirichlet allocation 区分开。我个人认为 LDA可以看成一个有监督降维的东西,这些PCA(主成分分析),ICA(独立成分分析)也是降低维的,不过是无监督的东西,包括mainfold dimension reduction的,都是无监督的。LDA是降低到一个投影方向上,使得它的可分性最好
而PCA是要找它的主要成分也就是使得Loss最小的方向,LDA要求 类间散度最大,类内聚合度最强。
类间散度最大是通过它们的均值距离体现的,而 类内聚合度最强 是通过 类内的点到均值的散的程度表达的,也就是说Fisher分类是LS的特例,好了,看大家对 Fisher 还有什么疑问?
echo<echotooo@gmail.com> 20:41:53
....LDA是基于高斯分布假设上的吗?
planktonli(1027753147) 20:44:12
LDA的样本是需要在 Gaussian假设下,会有 power performance的,如果data 的distribution是非常不规则的,那么LDA肯定是失效的。那就需要用些 Kernel等的trick了。
echo<echotooo@gmail.com> 20:45:29
这是为什么,是因为它的公式推导的时候有用到高斯分布的假设吗?
planktonli(1027753147) 20:45:32
推导不需要Gaussian假设
网络上的尼采(813394698) 20:46:01
用到了均值
echo<echotooo@gmail.com> 20:46:40
协方差部分呢?
planktonli(1027753147) 20:47:00
需要两类的 Between class Variance,这个是通过 均值差表达的。
echo<echotooo@gmail.com> 20:47:28
嗯嗯,好像懂了,谢谢。
planktonli(1027753147) 20:47:45
如果两个类的mean完全相等,那么LDA肯定是失效的。if the distribution of data is not so good, then we may use Kernel Fisher discriminant analysis
I mean that the distribution doesn't meet the gaussian。
echo<echotooo@gmail.com> 20:50:35
难道kfda不对高斯分布有偏好吗?
planktonli(1027753147) 20:50:42
the detail info you can c the web site http://en.wikipedia.org/wiki/Kernel_Fisher_discriminant_analysis KDA算法步聚,大部分跟LDA相同,不同的地方是用到了Kernel方法构造了矩阵Sb, Sw,这里的KDA就是kernel fisher 了。
电闪雷鸣(37633749) 20:52:11
OK,明白
planktonli(1027753147) 20:52:24
好了,下面看看NN神经网络的perceptron ,这个是一个单层的东西,注意它的training error函数 ,优化过程用的是梯度下降法:



好了,perceptron是比较简单的。
下面看,Probabilistic Generative Models,通过MAP方式建立概率模型,需要 先验概率,类条件概率和边缘概率。2类的Probabilistic Generative Models就是 logistic sigmoid function:


这种方法需要假设input的分布,即得到class-conditional distribution,用贝叶斯定理转化成后验概率后,就是和Discriminant model一样进行make decision了。
在gaussian分布的情况下,我们分析:



协方差矩阵不同,则变成了2次分类了,在2类情况下,我们用MLE方法,估计参数:




步骤小结:
1) 假定class-conditional distribution的分布形式,MLE估计该分布中的参数(从而得到了class-conditional distribution)
2) 计算每个类别的后验概率。在上面的例子中,得到的后验概率刚好是一个GLM模型(Logistic)
好了,这部分结束了。大家讨论下,没问题就继续了。
Probabilistic Discriminative Models:
直接建立分类函数模型,而不是建立生成过程模型,生成模型和判别模型的区别:
maping the data from the orginal sapce to a new space may make it linearly separable 



逻辑回归的最大似然参数估计方法:





注意这里 ,Logistic regression是用于分类的,而不是回归。
好了,这就是Probabilistic Discriminative Models的内容,其实质还是 point estimization。
最后看看Bayesian Logistic Regression:
这里是 we want to approximate the posterior using Gaussian,就是用高斯分布近似后验概率
来看Laplace Approximation :


Laplace近似将任意一个分布近似成了高斯分布 





好了,最后的 Bayesian Logistic Regression 也完了。
============================讨论=================================
zeno(117127143) 21:25:06
没太明白 ,生成模型和判别模型的区别 ,优缺点呢 ?
planktonli(1027753147) 21:26:02
一个model p(x,y) 生成式的,一个model p(y|X)判别式的,判别式的只在乎boundry的这些点,生成式的需要知道这些点是怎么生成的:

zeno(117127143) 21:26:38
是判别式要好一点吗 ?
planktonli(1027753147) 21:27:34
生成模型: Naive Bayes, Graphical Model ,判别模型: NN,SVM,LDA,Decision Tree 等。不能说谁好谁不好,还有 生成模型 + 判别模型的,例如: SVM的kernel construcion你可以用 generative的方式去做,那就是 Generative + Discriminant 的了。
zeno(117127143) 21:30:38
生成式要求X互相独立吧 ?
planktonli(1027753147) 21:31:39
恩,生成式是需要IID的,这个在statistics上通常都有IID假设的,否则不好整,还有什么问题?
HX(458728037) 21:33:12
我想问一个简单的问题,其实生成模型最后做分类的时候不还是根据一个boundary来判断的吗?
planktonli(1027753147) 21:34:32
生成模型 在 two class 而且是 gaussian distribution的时候,就可以转化为 判别式的,这个验证起来很简单,看看下面的PPT就明白了:



zeno(117127143) 21:36:52
好的,谢谢,总是看见生成判别,弄不太清楚,关键是强调分清楚生成判别,对解决问题选那种工具有何影响,一直搞不清,我感觉feature 不独立时用判别,feature 多时用判别,那么生成式有什么优势呢?
阳阳(236995728) 21:34:22
判别模型用的是频率学派的观点 ,也就是最大似然估计法, 生成模型用的是贝叶斯学派观点 ,也就是最大后验概率。
planktonli(1027753147) 21:37:10
阳阳,这个是不对的。MLE也是statistics的东西,判别模型则根本不考虑 statistics,你可以看看NN的东西,包括今天的LDA,它们直接求boundry的。
晴(498290717) 21:39:41
查了下别人的博客,我觉得这个是两者最最本质的区别

ant/wxony(824976094) 21:42:18
产生式模型和判别式模型我觉得就是把人的知识用在模型的构建还是feature的设计上,特征多的时候一般还是判别式模型猛些。
HX(458728037) 21:44:51
生成式的模型在无监督的一些学习上应该才好用吧 ?
ant/wxony(824976094) 21:45:43
嗯,无监督学习上确实
planktonli(1027753147) 21:48:38
我把 Generative verses discriminative classifier的一个PPT发到群里,大家有兴趣的看看:
"Lecture2.pdf" 下载
PRML读书会讲稿PDF版本以及更多资源下载地址:http://vdisk.weibo.com/u/1841149974
PRML读书会第四章 Linear Models for Classification(贝叶斯marginalization、Fisher线性判别、感知机、概率生成和判别模型、逻辑回归)的更多相关文章
- PRML读书会第三章 Linear Models for Regression(线性基函数模型、正则化方法、贝叶斯线性回归等)
主讲人 planktonli planktonli(1027753147) 18:58:12 大家好,我负责给大家讲讲 PRML的第3讲 linear regression的内容,请大家多多指教,群 ...
- PRML读书会第十四章 Combining Models(committees,Boosting,AdaBoost,决策树,条件混合模型)
主讲人 网神 (新浪微博: @豆角茄子麻酱凉面) 网神(66707180) 18:57:18 大家好,今天我们讲一下第14章combining models,这一章是联合模型,通过将多个模型以某种形式 ...
- PRML读书会第十三章 Sequential Data(Hidden Markov Models,HMM)
主讲人 张巍 (新浪微博: @张巍_ISCAS) 软件所-张巍<zh3f@qq.com> 19:01:27 我们开始吧,十三章是关于序列数据,现实中很多数据是有前后关系的,例如语音或者DN ...
- PRML读书会第七章 Sparse Kernel Machines(支持向量机, support vector machine ,KKT条件,RVM)
主讲人 网神 (新浪微博: @豆角茄子麻酱凉面) 网神(66707180) 18:59:22 大家好,今天一起交流下PRML第7章.第六章核函数里提到,有一类机器学习算法,不是对参数做点估计或求其分 ...
- PRML读书会第六章 Kernel Methods(核函数,线性回归的Dual Representations,高斯过程 ,Gaussian Processes)
主讲人 网络上的尼采 (新浪微博:@Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:16:05 今天的主要内容:Kernel的基本知识,高斯过程.边思考边打字,有点慢, ...
- PRML读书会第五章 Neural Networks(神经网络、BP误差后向传播链式求导法则、正则化、卷积网络)
主讲人 网神 (新浪微博:@豆角茄子麻酱凉面) 网神(66707180) 18:55:06 那我们开始了啊,前面第3,4章讲了回归和分类问题,他们应用的主要限制是维度灾难问题.今天的第5章神经网络的内 ...
- PRML读书会第十一章 Sampling Methods(MCMC, Markov Chain Monte Carlo,细致平稳条件,Metropolis-Hastings,Gibbs Sampling,Slice Sampling,Hamiltonian MCMC)
主讲人 网络上的尼采 (新浪微博: @Nietzsche_复杂网络机器学习) 网络上的尼采(813394698) 9:05:00 今天的主要内容:Markov Chain Monte Carlo,M ...
- 11 Linear Models for Classification
一.二元分类的线性模型 线性分类.线性回归.逻辑回归 可视化这三个线性模型的代价函数 SQR.SCE的值都是大于等于0/1的 理论分析上界 将回归应用于分类 线性回归后的参数值常用于pla/pa/lo ...
- 机器学习基石笔记:11 Linear Models for Classification
一.二元分类的线性模型 线性分类.线性回归.逻辑回归: 可视化这三个线性模型的代价函数, SQR.SCE的值都是大于等于0/1的. 理论分析上界: 将回归应用于分类: 线性回归后的参数值常用于pla/ ...
随机推荐
- Effective Java 03 Enforce the singleton property with a private constructor or an enum type
Principle When implement the singleton pattern please decorate the INSTANCE field with "static ...
- SQL 报错信息整理及解决方案(持续更新)
整理一下自己遇见过的 SQL 各种报错信息及相应解决方法,方便以后查阅,主要平台为 Oracle: ORA-01461: 仅能绑定要插入 LONG 列的 LONG 值: 原因:插入操作时,数据大于字段 ...
- JRE与JDK的区别
转自:http://swiftlet.net/archives/639 1. 定义JRE(Java Runtime Enviroment)是Java的运行环境.面向Java程序的使用者,而不是开发者. ...
- ASP.NET导出bdf文件
1.导出助手类 using System;using System.IO;using System.Data;using System.Data.OleDb;using System.Web;usin ...
- hibernate基本类型映射
model包: Book.java: package model; import java.sql.Blob;import java.util.Date; public class Book { ...
- 用Qemu模拟vexpress-a9 (四) --- u-boot引导kernel,用nfs挂载根文件系统
环境介绍 Win7 64 + Vmware 11 + ubuntu14.04 32 u-boot 版本:u-boot-2015-04 Linux kernel版本:linux-3.16.y busyb ...
- python类方法和静态方法
C++的静态方法是用static关键字,python j是没用static的. python中实现静态方法和类方法都是依赖于python的修饰器来实现的. class MyClass: def me ...
- Java实现事件机制
java中的事件机制的参与者有3种角色: 1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中 2.event sourc ...
- 如何利用ZBrush中的DynaMesh创建身体(二)
之前的ZBrush教程我们在了解了人体比例和结构的前提下,使用ZBrush®软件中的Append功能和InsertSphere笔刷添加躯干.本讲将参照图片继续对“亡灵僵尸”的形体结构进行细致刻画和使用 ...
- 怎样绘制ZBrush中的纹理
利用ZBrush的内置插件“投影大师”和“Polypainting”纹理贴图能够快速实现纹理的绘制.本文将对这两种方法的应用流程做一个介绍. 查看跟多内容请直接前往:http://www.zbrush ...