目录
- 一. 特征选择
- 1. 方差选择法
- 2. 相关系数法
- 3. 卡方检验
- 二. 特征降维
- 1. LDA(线性判别分析法)
- 2. PCA(主成分析法)
一. 特征选择
特征选择的目的是从原有特征中找出主要特征,原始特征可能包含冗余或无关变量(或称特征、属性、指标等)
-
手工
-
过滤
按照发散性或者相关性对各个特征进行评分,设定阈值或者待选择阈值的个数,从而选择特征;常用方法:
1. 方差选择法
先计算各个特征属性的方差值,然后根据阈值,获取方差大于阈值的特征
2. 相关系数法
先计算各个特征属性对于目标值的相关系数以及阈值K,然后获取 K个相关系数最大的特征属性
如果y是连续值,一般用相关系数
如果y是离散值,一般用卡方检验
F值:特征和目标变量之间的关系是否显著,是一个统计指标F值越大,表示特征和目标变量之间的相关性越强相关系数:特征和目标变量之间线性关系的强度和方向,可以是正相关、负相关或无关取值范围为[-1,1]:绝对值越大,表示相关性越强,符号表示相关性的方向F值与相关系数比较:
F值反映特征和目标变量之间的关系是否显著
相关系数反映特征和目标变量之间的线性关系的强度和方向在特征选择中,通常使用:
F值作为评价函数,选择与目标变量相关性较强的特征
相关系数作为评价指标,评价每个特征与目标变量之间的关系
3. 卡方检验
统计样本的实际观测值与理论推断值之间的偏离程度
如果卡方值越大,二者偏差程度越大如果卡方值越小,二者偏差越小若两个值完全相等时,卡方值就为0,表明理论值完全符合
PS:针对分类变量
二. 特征降维
特征选择与特征降维是两种不同的处理方式:
特征选择:原始的4条特征中保留2条特征降维:原始的4条特征综合后得到全新的2条
1. LDA(线性判别分析法)
LDA的全称是Linear Discriminant Analysis,将带上标签的数据(点),通过投影的方法,投影到维度更低的空间中,让映投影后的样本具有最好的分类性能,即“投影后类内方差最小,类间方差最大
LDA是有监督学习算法
LDA算法的整体思想:求一个旋转向量 w ⃗ \vec{w} w,将数据 x ⃗ \vec{x} x投影到一维
y = w ⃗ T ⋅ x ⃗ y = \vec{w}^{T}\cdot \vec{x} y=wT⋅x
投影后,存在一个阈值 y 0 y_{0} y0:
当 y ≥ y 0 y\ge y_{0} y≥y0,属于 C 1 C_{1} C1类
当 y < y 0 y< y_{0} y<y0,属于 C 2 C_{2} C2类
假设 C 1 C_{1} C1类有 N 1 N_{1} N1个点, C 2 C_{2} C2类有 N 2 N_{2} N2个点,那么投影前的类内均值为:
{ m ⃗ 1 = 1 N 1 ∑ i = 1 N 1 x ⃗ i m ⃗ 2 = 1 N 2 ∑ i = 1 N 2 x ⃗ i \left\{\begin{array}{l} \vec{m}_{1}=\frac{1}{N_{1}} \sum_{i=1}^{N_{1}} \vec{x}_{i} \\ \\ \vec{m}_{2}=\frac{1}{N_{2}} \sum_{i=1}^{N_{2}} \vec{x}_{i} \end{array}\right. ⎩ ⎨ ⎧m1=N11∑i=1N1xim2=N21∑i=1N2xi
投影后的类内均值和松弛度分别为:
{ m 1 = w ⃗ T ⋅ m ⃗ 1 m 2 = w ⃗ T ⋅ m ⃗ 2 \left\{\begin{array}{l} m_{1}=\vec{w}^{T} \cdot \vec{m}_{1} \\ \\ m_{2}=\vec{w}^{\mathrm{T}} \cdot \vec{m}_{2} \end{array}\right. ⎩ ⎨ ⎧m1=wT⋅m1m2=wT⋅m2
{ s 1 2 = ∑ i = 1 N 1 ( y i − m 1 ) 2 s 2 2 = ∑ i = 1 N 2 ( y i − m 2 ) 2 \left\{\begin{array}{l} s_{1}^{2}=\sum_{i=1}^{N_{1}}\left(y_{i}-m_{1}\right)^{2} \\ \\ s_{2}^{2}=\sum_{i=1}^{N_{2}}\left(y_{i}-m_{2}\right)^{2} \end{array}\right. ⎩ ⎨ ⎧s12=∑i=1N1(yi−m1)2s22=∑i=1N2(yi−m2)2
松弛度:松弛度是样本松散程度的度量。值越大,越分散
对于松散度 s 2 s^{2} s2除以N就是方差
此时,目标函数可以定义为:
J ( w ⃗ ) = ( m 2 − m 1 ) 2 s 1 2 + s 2 2 J(\vec{w})=\frac{\left(m_{2}-m_{1}\right)^{2}}{s_{1}^{2}+s_{2}^{2}} J(w)=s12+s22(m2−m1)2
当 m 2 − m 1 m_{2}-m_{1} m2−m1值越大,则说明两个类别距离较远
当 s 1 2 + s 2 2 s_{1}^{2}+s_{2}^{2} s12+s22值越小,说明两个类对各自均值相对集中
公式推导:
( m 2 − m 1 ) 2 \left(m_{2}-m_{1}\right)^{2} (m2−m1)2
= ( w ⃗ T ⋅ m ⃗ 2 − w ⃗ T ⋅ m ⃗ 1 ) 2 =\left(\vec{w}^{T} \cdot \vec{m}_{2}-\vec{w}^{T} \cdot \vec{m}_{1}\right)^{2} =(wT⋅m2−wT⋅m1)2
= ( w ⃗ T ⋅ ( m ⃗ 2 − m ⃗ 1 ) ) 2 =\left(\vec{w}^{T} \cdot\left(\vec{m}_{2}-\vec{m}_{1}\right)\right)^{2} =(wT⋅(m2−m1))2
= ( ( m ⃗ 2 − m ⃗ 1 ) T ⋅ w ⃗ ) 2 =\left(\left(\vec{m}_{2}-\vec{m}_{1}\right)^{T} \cdot \vec{w}\right)^{2} =((m2−m1)T⋅w)2
= ( ( m ⃗ 2 − m ⃗ 1 ) T ⋅ w ⃗ ) T ( ( m ⃗ 2 − m ⃗ 1 ) T ⋅ w ⃗ ) =\left(\left(\vec{m}_{2}-\vec{m}_{1}\right)^{T} \cdot \vec{w}\right)^{T}\left(\left(\vec{m}_{2}-\vec{m}_{1}\right)^{T} \cdot \vec{w}\right) =((m2−m1)T⋅w)T((m2−m1)T⋅w)
= ( w ⃗ T ⋅ ( m ⃗ 2 − m ⃗ 1 ) ) ( ( m ⃗ 2 − m ⃗ 1 ) T ⋅ w ⃗ ) =\left(\vec{w}^{T} \cdot\left(\vec{m}_{2}-\vec{m}_{1}\right)\right)\left(\left(\vec{m}_{2}-\vec{m}_{1}\right)^{T} \cdot \vec{w}\right) =(wT⋅(m2−m1))((m2−m1)T⋅w)
= w ⃗ T ⋅ ( m ⃗ 2 − m ⃗ 1 ) ⋅ ( m ⃗ 2 − m ⃗ 1 ) T ⋅ w ⃗ =\vec{w}^{T} \cdot\left(\vec{m}_{2}-\vec{m}_{1}\right) \cdot\left(\vec{m}_{2}-\vec{m}_{1}\right)^{T} \cdot \vec{w} =wT⋅(m2−m1)⋅(m2−m1)T⋅w
令 S b = ( m ⃗ 2 − m ⃗ 1 ) ⋅ ( m ⃗ 2 − m ⃗ 1 ) T S_{b}=(\vec{m}_{2}-\vec{m}_{1}) \cdot(\vec{m}_{2}-\vec{m}_{1})^{T} Sb=(m2−m1)⋅(m2−m1)T
得到: ( m 2 − m 1 ) 2 = w ⃗ T ⋅ S b ⋅ w ⃗ \left(m_{2}-m_{1}\right)^{2}=\vec{w}^{T} \cdot S_{b} \cdot \vec{w} (m2−m1)2=wT⋅Sb⋅w
同理,得到: s 1 2 + s 2 2 = w ⃗ T ⋅ S w ⋅ w ⃗ s_{1}^{2}+s_{2}^{2}=\vec{w}^{T} \cdot S_{w} \cdot \vec{w} s12+s22=wT⋅Sw⋅w
其中 S b 、 S w S_{b}、S_{w} Sb、Sw均已知
因此:
J ( w ⃗ ) = w ⃗ T ⋅ S b ⋅ w ⃗ w ⃗ T ⋅ S w ⋅ w ⃗ J(\vec{w})=\frac{\vec{w}^{T} \cdot S_{b} \cdot \vec{w}}{\vec{w}^{T} \cdot S_{w} \cdot \vec{w}} J(w)=wT⋅Sw⋅wwT⋅Sb⋅w
求导公式推导:
∂ J ( w ⃗ ) ∂ w ⃗ \frac{\partial J(\vec{w})}{\partial \vec{w}} ∂w∂J(w)
= ( w ⃗ T ⋅ S b ⋅ w ⃗ w ⃗ T ⋅ S w ⋅ w ⃗ ) ′ =\left(\frac{\vec{w}^{T} \cdot S_{b} \cdot \vec{w}}{\vec{w}^{T} \cdot S_{w} \cdot \vec{w}}\right)^{\prime} =(wT⋅Sw⋅wwT⋅Sb⋅w)′
= ( w ⃗ T ⋅ S b ⋅ w ⃗ ) ′ ( w ⃗ T ⋅ S b ⋅ w ⃗ ) − ( w ⃗ T ⋅ S w ⋅ w ⃗ ) ′ ( w ⃗ T ⋅ S w ⋅ w ⃗ ) ( w ⃗ T ⋅ S w ⋅ w ⃗ ) 2 =\frac{\left(\vec{w}^{T} \cdot S_{b} \cdot \vec{w}\right)^{\prime}\left(\vec{w}^{T} \cdot S_{b} \cdot \vec{w}\right)-\left(\vec{w}^{T} \cdot S_{w} \cdot \vec{w}\right)^{\prime}\left(\vec{w}^{T} \cdot S_{w} \cdot \vec{w}\right)}{\left(\vec{w}^{T} \cdot S_{w} \cdot \vec{w}\right)^{2}} =(wT⋅Sw⋅w)2(wT⋅Sb⋅w)′(wT⋅Sb⋅w)−(wT⋅Sw⋅w)′(wT⋅Sw⋅w)
= 2 S b w ⃗ ( w ⃗ T ⋅ S b ⋅ w ⃗ ) − 2 S w w ⃗ ( w ⃗ T ⋅ S w ⋅ w ⃗ ) ( w ⃗ T ⋅ S W ⋅ w ⃗ ) 2 =\frac{2 S_{b} \vec{w}\left(\vec{w}^{T} \cdot S_{b} \cdot \vec{w}\right)-2 S_{w} \vec{w}\left(\vec{w}^{T} \cdot S_{w} \cdot \vec{w}\right)}{\left(\vec{w}^{T} \cdot S_{W} \cdot \vec{w}\right)^{2}} =(wT⋅SW⋅w)22Sbw(wT⋅Sb⋅w)−2Sww(wT⋅Sw⋅w)
令导数为0,得到:
S b w ⃗ ( w ⃗ T ⋅ S b ⋅ w ⃗ ) = S w w ⃗ ( w ⃗ T ⋅ S w ⋅ w ⃗ ) S_{b} \vec{w}\left(\vec{w}^{T} \cdot S_{b} \cdot \vec{w}\right)=S_{w} \vec{w}{\left(\vec{w}^{T} \cdot S_{w} \cdot \vec{w}\right)} Sbw(wT⋅Sb⋅w)=Sww(wT⋅Sw⋅w)
因为 w ⃗ T ⋅ S w ⋅ w ⃗ \vec{w}^{T} \cdot S_{w} \cdot \vec{w} wT⋅Sw⋅w 和 w ⃗ T ⋅ S b ⋅ w ⃗ \vec{w}^{T} \cdot S_{b} \cdot \vec{w} wT⋅Sb⋅w 是标量,所以上式的含义是: S b w ⃗ S_{b} \vec{w} Sbw 与 S w w ⃗ S_{w} \vec{w} Sww 同方向
即: S b w ⃗ = λ S w w ⃗ S_{b} \vec{w}=\lambda S_{w} \vec{w} Sbw=λSww
因为 S b = ( m ⃗ 2 − m ⃗ 1 ) ⋅ ( m ⃗ 2 − m ⃗ 1 ) T S_{b}=(\vec{m}_{2}-\vec{m}_{1}) \cdot(\vec{m}_{2}-\vec{m}_{1})^{T} Sb=(m2−m1)⋅(m2−m1)T
这里证明 S b S_{b} Sb为对称矩阵,则:
S b T S_{b}^{T} SbT
= [ ( m ⃗ 2 − m ⃗ 1 ) ⋅ ( m ⃗ 2 − m ⃗ 1 ) T ] T =[ (\vec{m}_{2}-\vec{m}_{1}) \cdot(\vec{m}_{2}-\vec{m}_{1})^{T}]^{T} =[(m2−m1)⋅(m2−m1)T]T
= ( m ⃗ 2 − m ⃗ 1 ) T ⋅ ( m ⃗ 2 − m ⃗ 1 ) = (\vec{m}_{2}-\vec{m}_{1})^{T} \cdot(\vec{m}_{2}-\vec{m}_{1}) =(m2−m1)T⋅(m2−m1)
= S b =S_{b} =Sb
同理,也可以证明 S w S_{w} Sw为对称矩阵
对于 S b w ⃗ = ( m ⃗ 2 − m ⃗ 1 ) ⋅ ( m ⃗ 2 − m ⃗ 1 ) T w ⃗ S_{b}\vec{w}=(\vec{m}_{2}-\vec{m}_{1}) \cdot(\vec{m}_{2}-\vec{m}_{1})^{T}\vec{w} Sbw=(m2−m1)⋅(m2−m1)Tw
因为 ( m ⃗ 2 − m ⃗ 1 ) T w ⃗ (\vec{m}_{2}-\vec{m}_{1})^{T}\vec{w} (m2−m1)Tw 是标量,所以上式的含义是: S b w ⃗ S_{b} \vec{w} Sbw 与 m ⃗ 2 − m ⃗ 1 \vec{m}_{2}-\vec{m}_{1} m2−m1 同方向
即: S b w ⃗ = λ ( m ⃗ 2 − m ⃗ 1 ) S_{b} \vec{w} = \lambda(\vec{m}_{2}-\vec{m}_{1}) Sbw=λ(m2−m1)
也就是说 w ⃗ = S w − 1 λ ( m ⃗ 2 − m ⃗ 1 ) \vec{w} = S_{w}^{-1}\lambda(\vec{m}_{2}-\vec{m}_{1}) w=Sw−1λ(m2−m1)
这里对于 w w w的求解,最终变为求解每个类的均值和方差
2. PCA(主成分析法)
让映射后的样本具有更大的发散性,PCA是无监督的学习算法
主成分分析(PCA)的思路是:
将多个具有相关性的特征综合为少数几个有代表性的特征,它们既能够代表原始特征的绝大多数信息,组合后的特征又不相关;
通过减少特征的数量(即降维)达到了降低问题复杂性,又尽可能少地减少数据的特征损失的目的
简单说:找出数据里最主要的方面,用数据里最主要的方面来代替原始数据
简化版本的PCA降维的思路是:
- 寻找样本的主方向,将所有的m个样本投影到某直线L上,得到 m 个位于直线L上的点;计算这m个投影点的方差,我们认为方差最大的直线方向是主方向
比如:图中绿线所在的方向
解释是样本点在这个直线上的投影能尽可能的分开,因为重叠就有信息消失
假设存在一个数据集(只有特征值)
此时,我们的任务是:
要找到一个投影直线L,使得所有的数据投影到该直线上的方差最大
在开始公式推导前,我们先来放几条概念
-
首先,什么是基?
坐标(3,2)之所以为(3,2)是因为我们确定了一个坐标系,换句话说就是确定了空间中的一组基,即(1,0)和(0,1)
如果基坐标发生变化,对应得(3,2)坐标也相应发生变化:
以下图蓝色坐标系为例子:
首先,这组基可以是 ( 1 2 , 1 2 ) \left(\frac{1}{\sqrt{2}},\frac{1}{\sqrt{2}}\right) (21,21) 和 ( − 1 2 , 1 2 ) \left(-\frac{1}{\sqrt{2}}, \frac{1}{\sqrt{2}}\right) (−21,21)
然后我们计算出(3,2)映射到新坐标系下的值:
( 1 / 2 1 / 2 − 1 / 2 1 / 2 ) ( 3 2 ) = ( 5 / 2 − 1 / 2 ) \left(\begin{array}{cc} 1 / \sqrt{2} & 1 / \sqrt{2} \\ -1 / \sqrt{2} & 1 / \sqrt{2} \end{array}\right)\left(\begin{array}{l} 3 \\ 2 \end{array}\right)=\left(\begin{array}{c} 5 / \sqrt{2} \\ -1 / \sqrt{2} \end{array}\right) (1/2−1/21/21/2)(32)=(5/2−1/2)
因此,蓝色的坐标系中,红色的向量坐标为 ( 5 / 2 , − 1 / 2 ) (5 / \sqrt{2},-1 / \sqrt{2}) (5/2,−1/2)
对基的概念有一定了解之后,我们来进一步阐述PCA的具体操作思路:
找到一组基(主成分)使得所有的数据变换为这组基上的坐标表示之后,方差值尽可能的大
而PCA找到的主成分应尽量保证无关联性,即:组基互不相关;那么对于寻找一组互不相关的基,PCA的实际做法是:
先选择一个方向基,让数据投影到这个基上的方差最大然后在第一个方向基正交的方向上选择第二个方向基,使得数据投影到这个基上的方差最大随后在第一二个方向基都正交的方向上选择第三个方向基...依次选择下去,就可以保证方向基之间是互相正交的,也可以保证方差最大了
-
方差:表示的一个变量之间数据之间的波动程度
σ 2 = 1 m ∑ ( x − μ ) 2 \sigma^{2} =\frac{1}{m} \sum(x-\mu )^{2} σ2=m1∑(x−μ)2 -
协方差:表示的两个变量之间的相关程度
C O v ( a , b ) = 1 m − 1 ∑ i = 1 m ( a i − μ a ) ( b i − μ b ) COv(a,b) = \frac{1}{m-1}\sum_{i=1}^{m}(a_{i}-\mu_{a})(b_{i}-\mu_{b}) COv(a,b)=m−11i=1∑m(ai−μa)(bi−μb)假设存在大量样本点,对每个样本点进行均值化处理,即均值为0,可以得到:
C O v ( a , b ) = 1 m ∑ i = 1 m a i b i COv(a,b) = \frac{1}{m}\sum_{i=1}^{m}a_{i}b_{i} COv(a,b)=m1i=1∑maibi如果想让两个基没有相关性,就要保证他们的协方差为0.
下面,我们开始推导:
假设存在矩阵
X = [ a 1 a 2 . . . a n b 1 b 2 . . . b n ] X=\begin{bmatrix} a_{1}& a_{2} & ...&a_{n} \\ & & & \\ b_{1}& b_{2} & ... &b_{n} \end{bmatrix} X= a1b1a2b2......anbn
那么,对矩阵内积可以得到(即:协方差矩阵公式)
1 m X X T = [ 1 m ∑ i = 1 m a i 2 1 m ∑ i = 1 m a i b i 1 m ∑ i = 1 m a i b i 1 m ∑ i = 1 m b i 2 ] = [ C o v ( a , a ) C o v ( a , b ) C o v ( a , b ) C o v ( b , b ) ] \frac{1}{m}XX^{T}=\begin{bmatrix} \frac{1}{m}\sum_{i=1}^{m}a_{i}^{2} & \frac{1}{m}\sum_{i=1}^{m}a_{i}b_{i} \\ \\ \frac{1}{m}\sum_{i=1}^{m}a_{i}b_{i} & \frac{1}{m}\sum_{i=1}^{m}b_{i}^{2} \end{bmatrix} =\begin{bmatrix} Cov(a,a) & Cov(a,b)\\ \\ Cov(a,b) & Cov(b,b) \end{bmatrix} m1XXT= m1∑i=1mai2m1∑i=1maibim1∑i=1maibim1∑i=1mbi2 = Cov(a,a)Cov(a,b)Cov(a,b)Cov(b,b)
上述公式我们可以看到:
主对角线为两个特征的方差副对角线为两个特征之间的协方差同时,矩阵为对称矩阵
此时,我们的目标就变成了:
特征之间的协方差为0:可以通过协方差矩阵相似对角化实现方差尽量最大:协方差矩阵对角化之后,把对角线上的元素从大到小排列
这里我们先来推导原矩阵与基变换后矩阵协方差矩阵的关系:
D = 1 m Y Y T = 1 m ( P X ) ( P X ) T = 1 m P X X T P T = P ( 1 m X X T ) P T = P C P T D = \frac{1}{m}YY^{T}=\frac{1}{m}(PX)(PX)^{T} =\frac{1}{m}PXX^{T}P^{T} =P(\frac{1}{m}XX^{T})P^{T}=PCP^{T} D=m1YYT=m1(PX)(PX)T=m1PXXTPT=P(m1XXT)PT=PCPT
公式解释:
X:原始数据矩阵
C:原始数据矩阵对应的协方差矩阵为,即 1 m X X T \frac{1}{m}XX^{T} m1XXT
P:一组基矩阵(按行组成)
Y:X对P做基变换后的数据
D:Y 的协方差矩阵
P C P T = Λ = ( λ 1 λ 2 . . . λ n ) PCP^{T}=\Lambda =\begin{pmatrix} \lambda _{1}& & & \\ & \lambda _{2} & & \\ & & ...& \\ & & &\lambda _{n} \end{pmatrix} PCPT=Λ= λ1λ2...λn
因此,我们要找的 P 是能让原始协方差矩阵对角化的 P
- 协方差矩阵对角化:
通过变换让协方差矩阵变成除对角线外的其它元素为0, 并且对角线上的元素按从大到小的顺序排列 - 实对称矩阵: 一个n行m列的实对称矩阵一定可以找到n个单位的正交特征向量 E = ( e 1 , e 2 , . . . , e n ) E=(e_{1},e_{2},...,e_{n}) E=(e1,e2,...,en)
E C E T = Λ = ( λ 1 λ 2 . . . λ n ) ECE^{T}=\Lambda =\begin{pmatrix} \lambda _{1}& & & \\ & \lambda _{2} & & \\ & & ...& \\ & & &\lambda _{n} \end{pmatrix} ECET=Λ= λ1λ2...λn
其中 Λ \Lambda Λ为对角矩阵,其对角元素为各特征向量对应的特征值
至此我们找到了让原始协方差矩阵对角化的 P,即 P = E T P=E^{T} P=ET
只要把特征值从大到小,对应的特征向量从上到下排列,则用前K行组成的矩阵乘以原始矩阵X, 就得到了我们需要的降维后的数据矩阵Y
而对于变量间协方差为 0 且变量内方差尽可能大的问题,可以转化为最优化问题利用拉格朗日乘子法来给予推导
样本点 x i x_{i} xi在基 w \mathrm{w} w下的坐标为: ( x i , w ) = x i T w \left(x_{i}, w\right)=x_{i}^{T} w (xi,w)=xiTw,于是我们有方差:
D ( x ) D(x) D(x)
= 1 m ∑ i = 1 m ( x i T w ) 2 =\frac{1}{m} \sum_{i=1}^{m}\left(x_{i}^{T} w\right)^{2} =m1∑i=1m(xiTw)2
= 1 m ∑ i = 1 m ( x i T w ) T ( x i T w ) =\frac{1}{m} \sum_{i=1}^{m}\left(x_{i}^{T} w\right)^{T}\left(x_{i}^{T} w\right) =m1∑i=1m(xiTw)T(xiTw)
= 1 m ∑ i = 1 m w T x i x i T w =\frac{1}{m} \sum_{i=1}^{m} w^{T} x_{i} x_{i}^{T} w =m1∑i=1mwTxixiTw
= w T ( 1 m ∑ i = 1 m x i x i T ) w =w^{T}\left(\frac{1}{m} \sum_{i=1}^{m} x_{i} x_{i}^{T}\right) w =wT(m1∑i=1mxixiT)w
我们看到 1 m ∑ i = 1 m x i x i T \frac{1}{m} \sum_{i=1}^{m} x_{i} x_{i}^{T} m1∑i=1mxixiT 就是原样本的协方差,我们另这个矩阵为 Λ \Lambda Λ ,于是我们有:
{ max { w T Λ w } s.t. w T w = 1 \left\{\begin{array}{r} \max \left\{w^{T} \Lambda w\right\} \\ \text { s.t. } w^{T} w=1 \end{array}\right. {max{wTΛw} s.t. wTw=1
求约束条件下的极值问题, 我们直接用拉格朗日公式:
L ( w ) = w T Λ w − λ ( w T w − 1 ) \boldsymbol{L}(\boldsymbol{w})=\boldsymbol{w}^{\mathrm{T}} \Lambda \boldsymbol{w}-\lambda\left(\boldsymbol{w}^{\mathrm{T}} \boldsymbol{w}-1\right) L(w)=wTΛw−λ(wTw−1)
对其求 w \boldsymbol{w} w 的导数:
d L ( w ) d w = Λ w − λ w \frac{\mathrm{d} \boldsymbol{L}(\boldsymbol{w})}{\mathrm{d} \boldsymbol{w}}=\Lambda\boldsymbol{w}-\lambda \boldsymbol{w} dwdL(w)=Λw−λw
令其为 0 , 得到
Λ w = λ w \Lambda\boldsymbol{w}=\lambda \boldsymbol{w} Λw=λw
此时,方差为:
D ( x ) = w T Λ w = λ w T w = λ D(x)=w^{T} \Lambda w=\lambda w^{T} w=\lambda D(x)=wTΛw=λwTw=λ
至此,对于PCA要找到一个投影直线L,使得所有的数据投影到该直线上的方差最大:
- x投影后的方差就是协方差矩阵的特征值
- 投影后的最大方差就是协方差矩阵最大的特征值
- 最佳投影方向就是最大特征值所对应的特征向量
- 次佳就是第二大特征值对应的特征向量以此类推
感谢阅读🌼
如果喜欢这篇文章,记得点赞👍和转发🔄哦!
有任何想法或问题,欢迎留言交流💬,我们下次见!
本文相关代码存放位置
【特征工程操作练习2】
祝愉快🌟!