1700534960
百面机器学习:算法工程师带你去面试 03 线性判别分析
1700534961
1700534962
1700534963
1700534964
场景描述
1700534965
1700534966
线性判别分析(Linear Discriminant Analysis,LDA)是一种有监督学习算法,同时经常被用来对数据进行降维。它是Ronald Fisher在1936年发明的,有些资料上也称之为Fisher LDA(Fisher’s Linear Discriminant Analysis)。LDA是目前机器学习、数据挖掘领域中经典且热门的一种算法。
1700534967
1700534968
相比于PCA,LDA可以作为一种有监督的降维算法。在PCA中,算法没有考虑数据的标签(类别),只是把原数据映射到一些方差比较大的方向上而已。
1700534969
1700534970
假设用不同的颜色标注C1、C2两个不同类别的数据,如图4.4所示。根据PCA算法,数据应该映射到方差最大的那个方向,亦即y轴方向。但是,C1,C2两个不同类别的数据就会完全混合在一起,很难区分开。所以,使用PCA算法进行降维后再进行分类的效果会非常差。但是,如果使用LDA算法,数据会映射到x轴方向。那么,LDA算法究竟是如何做到这一点的呢?
1700534971
1700534972
1700534973
1700534974
1700534975
图4.4 两个不同类别的数据
1700534976
1700534977
知识点
1700534978
1700534979
线性代数,LDA
1700534980
1700534981
问题 对于具有类别标签的数据,应当如何设计目标函数使得降维的过程中不损失类别信息?在这种目标下,应当如何进行求解?
1700534982
1700534983
难度:★★☆☆☆
1700534984
1700534985
分析与解答
1700534986
1700534987
1700534988
1700534989
LDA首先是为了分类服务的,因此只要找到一个投影方向ω,使得投影后的样本尽可能按照原始类别分开。我们不妨从一个简单的二分类问题出发,有C1、C2两个类别的样本,两类的均值分别为,。我们希望投影之后两类之间的距离尽可能大,距离表示为
1700534990
1700534991
1700534992
1700534993
1700534994
(4.17)
1700534995
1700534996
1700534997
1700534998
1700534999
1700535000
其中,表示两类的中心在ω方向上的投影向量,,,因此需要优化的问题为
1700535001
1700535002
1700535003
1700535004
1700535005
(4.18)
1700535006
1700535007
容易发现,当ω方向与(μ1−μ2)一致的时候,该距离达到最大值,例如对图4.5(a)的黄棕两种类别的样本点进行降维时,若按照最大化两类投影中心距离的准则,会将样本点投影到下方的黑线上。但是原本可以被线性划分的两类样本,经过投影后有了一定程度的重叠,这显然不能使我们满意。
1700535008
[
上一页 ]
[ :1.700534959e+09 ]
[
下一页 ]