特征选择和提取

一、why

1、特征选择和提取是模式识别中的一个关键问题,特征的选择强烈影响分类器的设计及其性能。

2、在很多实际问题中,往往不容易找到那些最重要的特征,或受客观条件的限制,不能对它们进行有效的测量;因此在测量时,由于人们心理上的作用,只要条件许可总希望把特征取得多一些;另外,由于客观上的需要,为了突出某些有用信息,抑制无用信息,有意加上一些比值、指数或对数等组合计算特征;如果将数目很多的测量值不做分析,全部直接用作分类特征,不但耗时,而且会影响到分类的效果,产生“特征维数灾难”问题。

3、为了设计出效果好的分类器,通常需要对原始的测量值集合进行分析,经过选择或变换处理,组成有效的识别特征;在保证一定分类精度的前提下,减少特征维数,即进行“降维”处理,使分类器实现快速、准确和高效的分类。

4、特征选择和特征提取的目的都是为了尽可能保留识别信息的前提下,降低特征空间的维数,以达到有效的分类。

二、特征选择

1、含义

特征选择,就是从 n n n个度量集合 { x 1 , x 2 , x 3 , . . . , x n } \{x_1,x_2,x_3,...,x_n\} {x1,x2,x3,...,xn}中,按某一准则选取出供分类用的子集作为降维( m , m < n ) m,m<n) mm<n)的分类特征。

2、选取准则

(1)、对于独立特征的选择准则
假设各原始特征测量值使统计独立的,此时,只需对训练样本的n个测量值独立地进行分析,从中选出m个最好的作为分类特征即可。
(2)、一般特征的散步矩阵准则
类内、类间的散步矩阵 S w 和 S b S_w和S_b SwSb,类间离散度越大且类内离散度越小,可分性越好,散步矩阵准则 J 1 J_1 J1 J 2 J_2 J2形式,使 J 1 或 J 2 J_1或J_2 J1J2最大的子集可作为所选择的分类特征。计算的散步矩阵不受模式分布形式的限制,但是需要有足够数量的模式样本才能获得有效的结果。

J 1 = d e t ( S w − 1 S b ) = ∏ i λ i J_1=det(S_w^{-1}S_b)=\prod\limits_{i}\lambda_i J1=det(Sw1Sb)=iλi
J 2 = t r ( S w − 1 S b ) = ∑ i λ i J_2=tr(S_w^{-1}S_b)=\sum\limits_{i}\lambda_i J2=tr(Sw1Sb)=iλi

三、特征提取

1、含义

特征提取,就是使 ( x 1 , x 2 , . . . , x n ) (x_1,x_2,...,x_n) (x1,x2,...,xn)通过某种变换,产生 m m m个特征作为新的分类特征。

单纯的特征选择简单删掉某几个特征的做法不理想,因为一般来说,原来的n个特征各自在不同程度上反映了识别对象的某些特征,简单删去某些特征可能会丢失较多的有用信息。如果将原来的特征做正交变换,获得的每个数据都是原来n个数据的线性组合,然后从新的数据中选出少数几个,使其尽可能多地反映各类模式之间的差异,而这些特征间又尽可能相互独立,则比单纯的选择方法更灵活、更有效。K-L变换就是一种适用于任意概率密度函数的正交变换。

2、K-L变换

2.1离散形式的K-L变换

x = ( x ( 1 ) , x ( 2 ) , . . . x ( n ) ) T φ j = ( φ j ( 1 ) , φ j ( 2 ) , . . . φ j ( n ) ) T 其 中 φ j 为 正 交 向 量 , 即 : φ i ⋅ φ j = { 1 , i f   i = j 0 , e l s e x=(x(1),x(2),...x(n))^T\\\varphi_j=(\varphi_j(1),\varphi_j(2),...\varphi_j(n))^T\\其中\varphi_j为正交向量,即:\\\varphi_i\cdot\varphi_j=\left\{\begin{array}{l}1,if~i=j\\0,else\end{array}\right. x=(x(1),x(2),...x(n))Tφj=(φj(1),φj(2),...φj(n))Tφjφiφj={1,if i=j0,else

x x x可表示为: x = ∑ i = 1 N a i φ i = Φ a x=\sum\limits_{i=1}^Na_i\varphi_i=\Phi a x=i=1Naiφi=Φa
其中, a = ( a 1 , a 2 , . . . , a n ) T         Φ = ( φ 1 , φ 2 , . . . φ n )             = ( φ 1 ( 1 ) φ 2 ( 1 ) . . . φ n ( 1 )     . . .   φ 1 ( n ) φ 2 ( n ) . . . φ n ( n ) ) a=(a_1,a_2,...,a_n)^T\\~~~~~~~\Phi=(\varphi_1,\varphi_2,...\varphi_n)\\~~~~~~~~~~~=\begin{pmatrix}\varphi_1(1)&\varphi_2(1)&...&\varphi_n(1)\\~&~&...&~\\\varphi_1(n)&\varphi_2(n)&...&\varphi_n(n)\end{pmatrix} a=(a1,a2,...,an)T       Φ=(φ1,φ2,...φn)           =φ1(1) φ1(n)φ2(1) φ2(n).........φn(1) φn(n)

2.2正交向量集的确定

设随机向量 x x x的总体自相关矩阵为 R = E ( x x T ) R=E(xx^T) R=E(xxT)
因为 x = ∑ i = 1 n a i φ i x=\sum\limits_{i=1}^na_i\varphi_i x=i=1naiφi

⇒ R = E ( Φ a a T Φ T ) = Φ E ( a a T ) Φ T \Rightarrow R=E(\Phi aa^T\Phi^T)=\Phi E(aa^T)\Phi^T R=E(ΦaaTΦT)=ΦE(aaT)ΦT
因为要进行特征提取,要求系数向量 a a a的各个不同分量应统计独立,即应使 ( a 1 , a 2 , . . . , a n ) (a_1,a_2,...,a_n) (a1,a2,...,an)满足: E ( a i a j ) = { λ i , i f   i = j 0 , e l s e E(a_ia_j)=\left\{\begin{array}{l}\lambda_i,if~i=j\\0,else\end{array}\right. E(aiaj)={λi,if i=j0,else

⇒ \Rightarrow E ( a a T ) = D λ ( 对 角 形 式 矩 阵 ) , 即 D λ = [ λ 1 0 0 . . . 0 0 λ 2 0 . . . 0       . . .   0 0 0 . . . λ n ] E(aa^T)=D_\lambda(对角形式矩阵),即D_\lambda=\begin{bmatrix}\lambda_1&0&0&...&0\\0&\lambda_2&0&...&0\\~&~&~&...&~\\0&0&0&...&\lambda_n\end{bmatrix} E(aaT)=Dλ(),Dλ=λ10 00λ2 000 0............00 λn

⇒ R = Φ D λ Φ T \Rightarrow R=\Phi D_\lambda \Phi^T R=ΦDλΦT

因为 Φ \Phi Φ中的各个向量都相互归一正交

⇒ R Φ = Φ D λ Φ T Φ = Φ D λ ⇒ R φ i = λ i φ i ⇒ λ i 是 R 的 特 征 值 , φ i 是 特 征 值 对 应 的 特 征 向 量 \Rightarrow R\Phi=\Phi D_\lambda \Phi^T\Phi=\Phi D_\lambda\\\Rightarrow R\varphi_i=\lambda_i\varphi_i\\\Rightarrow \lambda_i是R的特征值,\varphi_i是特征值对应的特征向量 RΦ=ΦDλΦTΦ=ΦDλRφi=λiφiλiRφi

因为 R R R是实对称矩阵,其不同特征值对应的特征向量正交,即:
φ i φ j = { 1    i f   i = j 0    e l s e ⇒ 满 足 φ i 为 正 交 向 量 的 要 求 , 即 找 到 正 交 向 量 集 合 φ ⇒ a = Φ T x \varphi_i\varphi_j=\left\{\begin{array}{l}1~~if~i=j\\0~~else\end{array}\right.\\\Rightarrow 满足\varphi_i为正交向量的要求,即找到正交向量集合{\varphi}\\\Rightarrow a=\Phi^Tx φiφj={1  if i=j0  elseφiφa=ΦTx

此时,得到特征的线性组合a,实际上完成了特征变换。但是此时维度不变,仍然为n维,因此实际特征变换时还要对a进行选择。

2.3K-L展开式系数的计算步骤

(1)、求随机向量 x x x的自相关矩阵: R = E ( x x T ) R=E(xx^T) R=E(xxT)

(2)、求出矩阵 R R R的特征值 λ i \lambda_i λi和特征向量 φ i \varphi_i φi,得到矩阵:
Φ = ( φ 1 , φ 2 , . . . , φ n ) \Phi=(\varphi_1,\varphi_2,...,\varphi_n) Φ=(φ1,φ2,...,φn)

(3)、计算展开式系数:
a = Φ T x a=\Phi^Tx a=ΦTx

2.4基于K-L变换的特征提取

使用K-L变换得到的每一个展开式系数为向量 x x x的线性组合,系数由正交向量 φ \varphi φ确定,即特征提取,但是维数不变。若减少 φ \varphi φ的数量,那么得到的系数数量小于n,达到了降维的目的。

则向量 φ \varphi φ应该如何选择使得降维效果最好?

⇒ \Rightarrow 希望降维之后得到的新向量在最小均方误差条件下接近原来的向量 x x x

对于 x = ∑ i = 1 n a i φ i x=\sum\limits_{i=1}^na_i\varphi_i x=i=1naiφi,现仅取 m m m项,对略去的系数项用预先选定的常数 b b b代替,此时 x x x的估计值为:
x ^ = ∑ i = 1 m a i φ i + ∑ i = m + 1 n a i φ i ⇒ 误 差 Δ x = x − x ^ = ∑ i = m + 1 n ( a i − b ) φ i ⇒ 均 方 误 差 ϵ 2 = E ( ( Δ x ) 2 ) = ∑ i = m + 1 n E ( a i − b ) 2 ⇒ m i n   ϵ 2 ⇒ ∂ E ( a i − b ) 2 ∂ b = 0 ⇒ b = E [ a i ] ⇒ ϵ 2 = ∑ i = m + 1 n E ( a i − E [ a i ] ) 2 = ∑ i = m + 1 n φ i T E [ ( x − E ( x ) ) ( x − E ( x ) ) T ] φ i = ∑ i = m + 1 n φ i T C x φ i \hat{x}=\sum\limits_{i=1}^ma_i\varphi_i+\sum\limits_{i=m+1}^na_i\varphi_i\\\Rightarrow 误差\Delta x=x-\hat{x}=\sum\limits_{i=m+1}^n(a_i-b)\varphi_i\\\Rightarrow 均方误差\epsilon^2=E((\Delta x)^2)=\sum\limits_{i=m+1}^nE(a_i-b)^2\\\Rightarrow min~\epsilon^2\\\Rightarrow \frac{\partial{E(a_i-b)^2}}{\partial{b}}=0\\\Rightarrow b=E[a_i]\\\Rightarrow \epsilon^2=\sum\limits_{i=m+1}^nE(a_i-E[a_i])^2=\sum\limits_{i=m+1}^n\varphi_i^TE[(x-E(x))(x-E(x))^T]\varphi_i=\sum\limits_{i=m+1}^n\varphi_i^TC_x\varphi_i x^=i=1maiφi+i=m+1naiφiΔx=xx^=i=m+1n(aib)φiϵ2=E((Δx)2)=i=m+1nE(aib)2min ϵ2bE(aib)2=0b=E[ai]ϵ2=i=m+1nE(aiE[ai])2=i=m+1nφiTE[(xE(x))(xE(x))T]φi=i=m+1nφiTCxφi

其中 C x C_x Cx为协方差矩阵, φ i {\varphi_i} φi为正交向量, C x C_x Cx φ i \varphi_i φi的关系可有Lagrange方法得到:
m i n   ϵ 2 s . t   φ i ⋅ φ i = 1       φ i ⋅ φ j = 0 ⇒ L a g r a n g e ⇒ L ( φ i , α i , β i ) = φ i T C x φ i + α i ( φ i ⋅ φ i − 1 ) + β i φ i φ j ⇒ ∂ L ∂ φ i = 0 ⇒ 2 C x φ i + 2 α i φ i + β i φ j = 0 , 乘 上 φ j T ⇒ 2 C x φ i φ j T + 2 α i φ i φ j T + β i φ j φ j T = 0 ⇒ β i = 0 ⇒ C x φ i = − α i φ i ⇒ C x φ i = λ i φ i ⇒ φ i 为 C x 的 特 征 向 量 , 特 征 值 为 λ i ⇒ 因 为 φ i T φ i = 1 ⇒ φ i T C x φ i = λ i ⇒ ϵ 2 = ∑ i = 1 n λ i ⇒ λ i 越 小 则 误 差 越 小 min~\epsilon^2\\s.t~\varphi_i\cdot\varphi_i=1\\~~~~~\varphi_i\cdot\varphi_j=0\\\Rightarrow Lagrange\\\Rightarrow L(\varphi_i,\alpha_i,\beta_i)=\varphi_i^TC_x\varphi_i+\alpha_i(\varphi_i\cdot\varphi_i-1)+\beta_i\varphi_i\varphi_j\\\Rightarrow\frac{\partial{L}}{\partial{\varphi_i}}=0\\\Rightarrow 2C_x\varphi_i+2\alpha_i\varphi_i+\beta_i\varphi_j=0,乘上\varphi_j^T\\\Rightarrow 2C_x\varphi_i\varphi_j^T+2\alpha_i\varphi_i\varphi_j^T+\beta_i\varphi_j\varphi_j^T=0\\\Rightarrow \beta_i=0\\\Rightarrow C_x\varphi_i=-\alpha_i\varphi_i\\\Rightarrow C_x\varphi_i=\lambda_i\varphi_i\\\Rightarrow \varphi_i为C_x的特征向量,特征值为\lambda_i\\\Rightarrow 因为\varphi_i^T\varphi_i=1\\\Rightarrow \varphi_i^TC_x\varphi_i=\lambda_i\\\Rightarrow \epsilon^2=\sum\limits_{i=1}^n\lambda_i\\\Rightarrow \lambda_i越小则误差越小 min ϵ2s.t φiφi=1     φiφj=0LagrangeL(φi,αi,βi)=φiTCxφi+αi(φiφi1)+βiφiφjφiL=02Cxφi+2αiφi+βiφj=0φjT2CxφiφjT+2αiφiφjT+βiφjφjT=0βi=0Cxφi=αiφiCxφi=λiφiφiCxλiφiTφi=1φiTCxφi=λiϵ2=i=1nλiλi

从上面的分析可以看出,选取正交向量集 { φ } \{\varphi\} {φ}时,是随机向量 x x x的自相关矩阵的特征向量;但是从最小均方误差的角度看,要使误差最小,则 { φ } \{\varphi\} {φ}应为协方差矩阵的特征向量,为达到一致,在进行K-L变换前需要对变量进行变换。即在将整体模式进行K-L变换之前,应先将其均值作为坐标轴原点,采用协方差矩阵C或者自相关矩阵R来计算特征值,此时才能得到最好的结果,进行特征变换时的特征是移动之后的特征。

2.5总结

1、K-L变换
首先若 E [ x ] ≠ 0 ⇒ x = x − E [ x ] E[x]\ne0\Rightarrow x=x-E[x] E[x]=0x=xE[x]
将K-L展开式系数 a i a_i ai(亦即变换后的特征)用 y i y_i yi表示,写成向量形式: y = Φ T x y=\Phi^Tx y=ΦTx。此时变换矩阵 Φ \Phi Φ用m个特征向量组成。为使误差最小,不采用的特征向量,其对应的特征值应尽可能小。因此,将特征值按大小次序标号,即
λ 1 > λ 2 > … > λ m > … > λ n > = 0 \lambda_1> \lambda_2>…> \lambda_m>…> \lambda_n>=0 λ1>λ2>>λm>>λn>=0
若首先采用前面的m个特征向量,便可使变换误差最小。

2、通过K-L变换能获得互不相关的新特征。若采用较大特征值对应的特征向量组成变换矩阵,则能对应地保留原模式中方差最大的特征成分,所以K-L变换起到了减小相关性、突出差异性的效果。在此情况下,K-L变换也成为主成分分析(PCA变换)。但是采用K-L变换作为模式分类的特征提取时,要特别注意保留不同类被的模式分类鉴别信息,仅单纯考虑尽可能代表原来模式的主成分,有时并不一定有利于分类的鉴别。

done!
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值