线性判别分析(Linear Discriminant Analysis)

线性判别分析(Linear Discriminant Analysis)

标签(空格分隔): 监督学习


@author : duanxxnj@163.com
@time : 2016-07-11


线性分类器

所谓分类器,一般是将输入空间X,根据需要划分的类别,将输入空间划分为一些互不相交的区域,这些区域的边界一般叫做决策面(decision boundaries)。预测函数的形式不同,会使得决策面或者光滑,或者粗糙。其中有一种比较特别的就是判别面是参数的线性函数的,称为线性决策面,形成的分类器就是线性分类器。

判别式函数(discriminant functions)

在讲分类器的时候,肯定会遇到判别式函数这个概念。分类器会为每个类别分配一个判别函数,根据判别函数来判断一个新的样本是否是这个类别的。比如,假设有K个类别,那么分类器肯定会得到K个判别函数 δk(x);k[1,2,,K]。如果有一个新的样本x,那么一般是找到最大的δk(x),就可以认为,新的样本属于第 k 类。

在一般的分类器中,判别式函数δk(x),和后验概率P(Ck|x)是对应的,能够使判别式的结果最大,同样也是能够使得样本x在类别Ck下的后验概率最大。

判别式函数δk(x)δl(x) 相等的点集,就是我们常说的决策面:

δk(x)=δl(x)

从判别式或后验概率到决策面

在判别式函数δk(x)或者后验概率函数P(Ck|x)上加上一个单调函数f()后,使得变换后的函数是x的线性函数,那么其得到的决策便也是线性的,就可以得到一个线性分类器。

以Logistics Regression为例,假设面对的是一个二分类问题,在Logistics Regression中,是定义类别的后验概率为:

P(C1|x)=11+exp(wTx)P(C2|x)==exp(wTx)1+exp(wTx)

这里,使用一个单调的变换函数,logit 函数:log[p/(1p)],那么就可以得到:

logP(C1|x)P(C2|x)=wTx

所以Logistics Regression的决策面就是:wTx=0

凡是分类算法,必定有决策面,而这些分类算法所不同的是:决策面是线性的还是非线性的;以及如果得到这个决策面。

线性判别分析(Linear Discriminant Analysis)

在分类器的理论中,贝叶斯分类器是最优的分类器,而为了得到最优的分类器,我们就需要知道类别的后验概率P(Ck|x)

这里假设fk(x)是类别Ck的类条件概率密度函数,πk 是类别Ck的先验概率,毫无疑问有kπk=1。根据贝叶斯理论有:

P(Ck|x)=fk(x)πkKl=1fl(x)πl

由于πk 几乎是已知的,所以对于贝叶斯公式而言,最重要的就是这个类条件概率密度函数fk(x),很多算法之所以不同,主要的就是对这个类条件概率密度函数的参数形式的假设不同,比如:

  • 线性判别分析(LDA)假设fk(x)是均值不同,方差相同的高斯分布
  • 二次判别分析(QDA)假设fk(x)是均值不同,方差也不同的高斯分布
  • 高斯混合模型(GMM)假设fk(x)是不同的高斯分布的组合
  • 很多非参数方法假设fk(x)是参数的密度函数,比如直方图
  • 朴素贝叶斯假设fk(x)Ck边缘密度函数,即类别之间是独立同分布的

各种算法的不同,基本上都是来至于对类条件概率密度函数的不同,这一点在研究分类算法的时候,一定要铭记在心。

前面已经说过了LDA假设fk(x)是均值不同,方差相同的高斯分布,所以其类条件概率密度函数可以写为:

fk(x)=1(2π)p/2|Σ|1/2exp(12(xμk)TΣ1(xμk))

这里,特征x的维度为p维,类别Ck的均值为μk,所有类别的方差为Σ

在前面提到过,一个线性分类器,在判别式函数δk(x)或者后验概率函数P(Ck|x)上加上一个单调函数f()后,可以得变换后的函数是x的线性函数,而得到的线性函数就是决策面。LDA所采用的单调变换函数f()和前面提到的Logistics Regression采用的单调变换函数一样,都是logit 函数:log[p/(1p)],对于二分类问题有:

logP(C1|x)P(C2|x)=logf1(x)f2(x)+logπ1π2=xTΣ1(μ1μ2)12(μ1+μ2)TΣ1(μ1μ2)+logπ1π2

可以看出,其决策面是一个平面。

根据上面的式子,也可以很容易得到LDA的决策函数是:

δk(x)=xTΣ1μk12μTkΣ1μk+logπk

其中的参数都是从数据中估计出来的:

  • πk=Nk/NNk是类别Ck的样本数,N是总的样本数。
  • μk=1Nkx

本页内容版权归属为原作者,如有侵犯您的权益,请通知我们删除。

Jenkins 2.0新时代:从CI到CD - 2016-07-12 14:07:50

2.0 破茧重生 自从去年9月底Jenkins的创始人Kohsuke Kawaguchi提出Jenkins 2.0(后称2.0)的愿景和草案之后,整个Jenkins社区为之欢欣鼓舞,不管是官方博客还是Google论坛,大家都在热烈讨论和期盼2.0的到来。4月20日,历经Alpha(2/29),Beta(3/24),RC(4/7)3个版本的迭代,2.0终于正式发布。这也是Jenkins面世11年以来(算上前身Hudson)的首次大版本升级。那么,这次升级具体包含了哪些内容呢? 外部 从外部来看,2.0最大的
基本流程图如下: 命令如下: 将用sqoop导入Oracle数据到HDFS./sqoop import --connect jdbc:oracle:thin:@192.168.146.128:1521:orcal -- username scoot --passwd tiger --table emp --columns 'empno, ename, job, sal, deptno' -m 1 --target -dir '/sqoop/emp'使用sqoop导入oracle数据到hive中,./sqo

HIVE和HBASE区别 - 2016-07-11 17:07:52

1. 两者分别是什么?    Apache Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce. 虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询--因为它只能够在Haoop上批量的执行Hadoop。     Apache HBase是一种Key/Value系统,它运行在HDFS之上。和Hive不一样,Hbase的能够在它的数据库上实时运行,而不是运行MapRe
内容翻译:@穆文(微信公众号 数据挖掘机养成记) 寒小阳 校正调整: 寒小阳 龙心尘 时间:2016年7月 出处: http://blog.csdn.net/han_xiaoyang/article/details/51871068 http://blog.csdn.net/longxinchen_ml/article/details/51823339 说明:本文为斯坦福大学CS224d课程的中文版内容笔记整理,已得到斯坦福大学课程@Richard Socher教授的授权翻译 0.前言 之前的课程里介绍了
​(上图为马云试乘互联网汽车) 与几乎所有人的认知相反,我们现在才刚刚站在移动互联网新时代的大门口。 从1975年PC诞生到2007年iPhone诞生,这30年是基于PC互联网的商业社会;从2007年到2016年这10年是商业社会从PC互联网向移动互联网过渡的10年,这10年也是云计算和大数据崛起的10年;以2016年7月阿里和上汽联合推出的互联网汽车为标志,未来的30年才是真正的移动互联网世代,商业社会的主要基础设施也将过渡到智能终端和移动互联网,智能终端则将从智能手机和互联网汽车过渡到更多品类。 在真
目录 目录 前文列表 前提条件 完成下面的步骤以创建数据库 创建service credentials服务凭证 创建Neutron的API Endpoints 配置自服务网络 安装网络组件 配置服务组件 配置 Modular Layer 2 ML2 插件 配置Linux 桥接代理 配置layer-3代理 配置DHCP代理 配置元数据代理 配置计算使用网络 完成安装 前文列表 Openstack组件部署 — Overview和前期环境准备 Openstack组建部署 — Environment of Con
目录 目录 前文列表 安装组件 配置通用组件 配置自服务网络选项 配置Linux 桥接代理 配置Nova使用网络 完成安装 验证操作Execute following commands on Controller Node 前文列表 Openstack组件部署 — Overview和前期环境准备 Openstack组建部署 — Environment of Controller Node Openstack组件部署 — Keystone功能介绍与认证实现流程 Openstack组件部署 — Keyston
mahout之推荐系统源码笔记(2) —相似度计算之RowSimilarityJob 本笔记承接笔记一。 在笔记1中我们分析了PreparePreferenceMatrixJob的源码,该job对输入数据进行了一定的预处理准备工作。接下来mahout使用RowSimilarityJob对数据user-item集的相似度进行计算,得到每个物品关于其他所有物品的相似度矩阵。 首先我们同样看RecommenderJob(org.apache.mahout.cf.taste.hadoop.item),可以到执行R
mahout之推荐系统源码笔记(1) —预处理之PreparePreferenceMatrixJob hadoop篇: 因为时间原因首先更新分布式hadoop上的推荐系统源码的阅读。 本笔记基于 apache-mahout-distribution-0.12.2-src 。 首先给出mahout中taste推荐系统的代码结构: taste common eval hadoop impl model neighborhood recommender similarity model neighborhood
作者: 赵怡 一、Neutron Kilo 版和Liberty版本主要区别: 新增的特性: 1. neutron支持IPv6前缀委托授权为IPv6子网分配CIDR 2. neutron支持QoS API, 初期只支持端口带宽限制 3.路由器HA (L3 HA/VRRP)在L2 population(l2_pop)设置为enable时, 可以正常工作了。 4. VPNaaS参考驱动现在可以和HA router一起正常工作了 5. HA路由器上使用的VRRP网络, 可以配置为特定的segmentation类型