阅读本文需要的背景知识点:拉格朗日乘数法、一丢丢编程知识
一、引言
前面学习了一种用回归的方式来做分类的算法——对数几率回归算法,下面再来学习另一种分类算法——线性判别分析算法1(Linear Discriminant Analysis Algorithm / LDA),该算法由罗纳德·艾尔默·费希尔在1936年提出,所以也被称为费希尔的线性鉴别方法(Fisher’s linear discriminant)
二、模型介绍
先来看下图,假设有二分类的数据集,“+”表示正例,“-”表示反例。线性判别分析算法就是要设法找到一条直线,使得同一个类别的点在该直线上的投影尽可能的接近,同时不同分类的点在直线上的投影尽可能的远。该算法的主要思想总结来说就是要“类内小、类间大”,非常类似于在软件设计时说的“低耦合、高内聚”。

当有新的样本点需要分类时,计算该点在直线上的投影,根据投影的位置来判断新样本点的分类。那么如何用数学公式来表示上述说法呢?
三、代价函数
假设有样本数为 N 的数据集, X i X_i Xi表示第i个样本点的特征向量, y i y_i yi表示第i个样本点的标签值, w w w 表示直线的权重系数。
样本点到直线的投影向量
(1)投影向量为样本点乘以与直线夹角的余弦值
(2)带入夹角余弦值的公式
(3)由上图可以看到,我们只需要关系该直线的斜率即可,也就是 w w w 的方向。不妨令w为单位向量,即 ∣ w ∣ = 1 |w| = 1 ∣w∣=1,带入后整理可得
(4)可以看到(3)式中的第一项即为单位向量,后两项乘积为实数。投影的方向必然与 w w w 的方向相同,所以不妨将第一项用 w w w 向量代替
p i = X i cos θ ( 1 ) = X i w T X i ∣ w ∣ ∣ X i ∣ ( 2 ) = X i ∣ X i ∣ w T X i ( 3 ) = w T X i w ( 4 ) \begin{aligned} p_i &= X_i \cos \theta & (1)\\ &= X_i \frac{w^TX_i}{\mid w \mid \mid X_i \mid } & (2) \\ &= \frac{X_i}{\mid X_i \mid } w^TX_i & (3) \\ &= w^TX_iw & (4) \\ \end{aligned} pi=Xicosθ=Xi∣w∣∣Xi∣wTXi=∣Xi∣XiwTXi=wTXiw(1)(2)(3)(4)
均值向量与协方差矩阵
(1)样本为二分类, N 1 N_1 N1表示第一类样本数量, N 2 N_2 N2表示第二类样本数量
(2)第一类样本点投影的均值向量
(3)第一类样本点投影的协方差矩阵
(4)第二类样本点投影的均值向量
(5)第二类样本点投影的协方差矩阵
N = N 1 + N 2 ( 1 ) μ p 1 = 1 N 1 ∑ i = 1 N 1 p i ( 2 ) σ p 1 = 1 N 1 ∑ i = 1 N 1 ( p i − μ p 1 ) ( p i − μ p 1 ) T ( 3 ) μ p 2 = 1 N 2 ∑ i = 1 N 2 p i ( 4 ) σ p 2 = 1 N 2 ∑ i = 1 N 2 ( p i − μ p 2 ) ( p i − μ p 2 ) T ( 5 ) \begin{aligned} N &=N_{1}+N_{2} & (1)\\ \mu_{p_{1}} &=\frac{1}{N_{1}} \sum_{i=1}^{N_{1}} p_{i} & (2)\\ \sigma_{p_{1}} &=\frac{1}{N_{1}} \sum_{i=1}^{N_{1}}\left(p_{i}-\mu_{p_{1}}\right)\left(p_{i}-\mu_{p_{1}}\right)^{T} & (3)\\ \mu_{p_{2}} &=\frac{1}{N_{2}} \sum_{i=1}^{N_{2}} p_{i} & (4)\\ \sigma_{p_{2}} &=\frac{1}{N_{2}} \sum_{i=1}^{N_{2}}\left(p_{i}-\mu_{p_{2}}\right)\left(p_{i}-\mu_{p_{2}}\right)^{T} & (5) \end{aligned} Nμp1σp1μp2σp2=N1+N2=N11i=1∑N1pi=N11i=1∑N1(pi−μp1)(pi−μp1)T=N21i=1∑N2pi=N21i=1∑N2(pi−μp2)(pi−μp2)T(1)(2)(3)(4

本文介绍了线性判别分析(LDA)的基本原理与应用,详细解释了如何通过数学公式实现类内小、类间大的核心思想,并提供了Python代码实现。
最低0.47元/天 解锁文章
2047

被折叠的 条评论
为什么被折叠?



