今天的西瓜不太好吃,啊啊啊
今天看到LDA,但是对西瓜书上讲解的LDA不是很理解,然后就自己找了相关资料,希望能够给自己通俗的讲明白。
一、LDA简介
LDA是一个经典的线性学习方法,主要用于二分分类问题,扩展以后可以解决多分分类。
LDA和PCA都是利用降维思想,与PCA不同的C是,LDA主要是针对带有标签的数据,将带有标签的数据降维,投影到低维空间同时满足三个条件:
- 尽可能多地保留数据样本的信息(即选择最大的特征是对应的特征向量所代表的的方向)。
- 寻找使样本尽可能好分的最佳投影方向。
- 投影后使得同类样本尽可能近,不同类样本尽可能远。
符号介绍:
- x:表示训练样本,向量表示,即每个西瓜
- C:表示有C类样本,C种瓜
- :第i类样本均值,(i=1,2,……,C)
- :映射后第i类样本均值
- w:样本每个特征的权重,即西瓜的颜色、根须是否卷曲对西瓜是否为好瓜的重要性
- b:偏置量
- Mi:表示第i类训练样本的数目,第i类西瓜的个数
- M:训练样本的总数,全部西瓜的个数
- Di:第i类样本集合
- S:类内散度矩阵,表示一个类别中数据的分散程度
- S:类间散度矩阵,表示类之间的分散成功
二、优化目标
为什么是线性判别分析呢?所谓的线性就是,我们要将数据点投影到直线上(可能是多条直线),直线的函数解析式又称为线性函数。通常直线的表达式为
我们先定义一个变量J,用来衡量两个类别被投影的好坏,是否被容易区分。
两个类均值方差越大(两个类离得越远),类内散度越小(类内数据紧凑),就说明这个投影效果好。
我们假设已经找了一条最好的直线 l,能够让我们的两个类分开,此时w = w*能够使J取得最大值。所以我们的目的就成了找到一个是J取最大值的w*。我们先对J进行变形。
投影前: ……………… ①
投影后: ………………②
扫描二维码关注公众号,回复:
11975778 查看本文章
那么在投影之后,我们就可以得到 ,令
(between the class),则 = ………………③
考虑每个类内,散度矩阵被定义为 ,两个类的类内总散度矩阵为 …………④
投影后的散度
………………⑤
则 ………………⑥
将③⑥带入 J 中,有 ……………⑦
然后对⑦进行优化,求其最值,对w求导(偷个懒)
最后一步 将问题转化为了矩阵的特征值特征向量问题。可以通过矩阵分解求得w*,但是这里有个简便方法:
这样就求出来了w*能够使两个类别被最好的划分。