前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用线性判别分析 LDA 降维

用线性判别分析 LDA 降维

作者头像
杨熹
发布2018-04-03 16:04:29
1.2K0
发布2018-04-03 16:04:29
举报
文章被收录于专栏:杨熹的专栏杨熹的专栏

本文结构:

  • 什么是 LDA
  • 和 PCA 区别
  • LDA 投影的计算过程
  • LDA 降维的例子

1. 什么是 LDA

先说判别分析,Discriminant Analysis 就是根据研究对象的各种特征值,判别其类型归属问题的一种多变量统计分析方法。

根据判别标准不同,可以分为距离判别、Fisher 判别、Bayes 判别法等。例如,在 KNN 中用的是距离判别,朴素贝叶斯分类用的是 Bayes 判别,线性判别分析用的是 Fisher 判别式。

根据判别函数的形式,可以分为线性判别和非线性判别。

线性判别式分析(Linear Discriminant Analysis),简称为 LDA,也称为 Fisher 线性判别,1936 年由 Ronald Fisher 提出,1996 年由 Belhumeur 引入模式识别和人工智能领域。


2. 和 PCA 区别

二者都有降维的作用。

1. 左边是 PCA,属于无监督方法,当数据没有标签时可以用它。

右边是 LDA,属于监督方法。考虑了数据的分类信息,这样数据在低维空间上就可以分类了,减少了很多的运算量。

2. PCA 主要是从特征的协方差角度考虑,追求的是在降维之后能够最大化保持数据的内在信息。

它不考虑分类信息,因此,降低维度后,信息损失降到最低,但分类上可能会变得更加困难。

LDA 追求的是降维后的数据点尽可能容易被区分。

降维后的样本数据在新的维度空间有最大的类间距离和最小的类内方差,数据在低维空间有最佳的可分离性。

3. PCA 后的维度数目是和数据维度相关的,原始数据是 n 维,那么 PCA 后维度为 1、2~n 维。

LDA 后的维度数目是和类别的个数相关的,原始数据是 n 维,一共有 C 个类别,那么 LDA 后维度为 1、2~C-1 维。

4. PCA 投影的坐标系都是正交的

LDA 关注分类能力,不保证投影到的坐标系是正交的。


3. LDA 投影的计算过程(两个类别)

给的数据有两个类别,要找到一个向量 w,将数据 x 投影到 w 上之后:

  • 两个类别的距离较远,这一点用映射后两个类别的均值差的绝对值来度量。
  • 每个类内部数据点比较聚集,这一点用投影后每个类别的方差来度量。

类别 i 的均值:

类别 i 投影后的均值:

投影后均值差的绝对值:

投影后的方差,y 为投影后的数据,y = w_t * x:

目标优化函数为:

为了方便计算 w ,继续推导分母为:

分子为:

则优化目标 J(w) 为:

我们希望分母越小越好,分子越大越好:

  • 分母小,则每个类内部数据点比较聚集;
  • 分子大,则两个类别的距离较远。

所以需要找出一个 W 使 J(W) 的值最大。

最后推导出 w :

这样通过计算后,获得向量 W,生成新的 Y 轴,使两个类别的样本数据在新 Y 轴的投影能最大程度的分离。


4. LDA 降维的例子

下面这个例子,将 iris 数据降到 2 维:

代码语言:javascript
复制
import matplotlib.pyplot as plt

from sklearn import datasets
from sklearn.discriminant_analysis import LinearDiscriminantAnalysis

iris = datasets.load_iris()

X = iris.data
y = iris.target
target_names = iris.target_names

lda = LinearDiscriminantAnalysis(n_components=2)
X_r2 = lda.fit(X, y).transform(X)

plt.figure()
for c, i, target_name in zip("rgb", [0, 1, 2], target_names):
    plt.scatter(X_r2[y == i, 0], X_r2[y == i, 1], c=c, label=target_name)
plt.legend()
plt.title('LDA of IRIS dataset')

plt.show()

资料:

http://blog.csdn.net/porly/article/details/8020696

http://www.voidcn.com/blog/u013488563/article/p-1024688.html

http://blog.csdn.net/sunmenggmail/article/details/8071502

http://dataunion.org/13451.html

http://sklearn.lzjqsdd.com/auto_examples/decomposition/plot_pca_vs_lda.html#example-decomposition-plot-pca-vs-lda-py


推荐阅读 历史技术博文链接汇总

http://www.jianshu.com/p/28f02bb59fe5

也许可以找到你想要的:

入门问题深度学习神经网络自然语言处理

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.07.12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 什么是 LDA
  • 2. 和 PCA 区别
  • 3. LDA 投影的计算过程(两个类别)
  • 4. LDA 降维的例子
相关产品与服务
NLP 服务
NLP 服务(Natural Language Process,NLP)深度整合了腾讯内部的 NLP 技术,提供多项智能文本处理和文本生成能力,包括词法分析、相似词召回、词相似度、句子相似度、文本润色、句子纠错、文本补全、句子生成等。满足各行业的文本智能需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档