特征提取和特征选择

2019-04-22  本文已影响0人  官总哦

一、特征提取和特征选择异同
1.特征提取 :通过映射(变换)的方法,将高维的特征向量变换为低维特征向量。
2.特征选择:从原始特征中挑选出一些最具代表性、分类性能好的特征以达到降低特征空间维数的方法

二、基于距离可分性判据的特征提取方法
1.假设有n个原始特征:
\left[ \begin{matrix} x_1 & x_2 & x_3 & ... & x_n\\ \end{matrix} \right]^T
希望通过线性映射压缩为d个特征Y=
\left[ \begin{matrix} y_1 & y_2 & y_3 & ... & y_d\\ \end{matrix} \right]^T

其变换关系为Y=W^T X,W为n*d矩阵。令S_w,S_b为原空间的离散度矩阵,S_w ^*和S_b ^*为映射后(也就是Y)离散度矩阵:
S_b ^* = W^T S_b W, S_w^* = W^T S_w W
经过变换后的J_2变为:
J_2(W) = tr[(S_w ^*)^-1 S_b ^*] = tr[(W_t S_b W)^-1(W_T S_b W)]
对上式的W的各个分量求偏导数并令其为零,即可以确定一个W的值。

三、(选做)

四、
(1)主对角线上代表各个维度内数据的方差,而非主对角线上的元素代表维度之间数据的协方差。(所以一定是一个实对称矩阵)
(2)最佳准则就是尽可能少地减少降维之后的信息损失
(3)因为在矩阵相似对角化以后,矩阵变成了只有主对角线上有元素。也就是说协方差矩阵的维度之间的方差全部变成了0,各维度分量也就没有了相关性
五、
(1)d=2:
整合矩阵->PCA分析:

%MATLAB 代码
X =[0,0,0;
    1,0,0;
    1,0,1;
    1,1,0;
    0,0,1;
    0,1,0;
    0,1,1;
    1,1,1]%将两类样本整合在一起,每一行代表一个样例
[m,n]=size(X); %计算矩阵的行m和列n
mv=mean(X); %计算各变量的均值
st=std(X); %计算各变量的标准差
X=(X-repmat(mv,m,1))./repmat(st,m,1); %标准化矩阵X
R1=cov(X); %协方差矩阵
[V,D]=eig(R); %计算矩阵R的特征向量矩阵V和特征值矩阵D,特征值由小到大
min = realmax %最大浮点数
r = -1
for k = 1:n
  if(D(k,k) < min)
    min = D(k,k)
    r = k %找到最小方差所在的维度
V(:,(r:r)) = [] %将特征值对应的特征向量删除
S = X*V %将原样本集多余维度删除

%结果记录:
S =

(2)基本等同上方程序

结果记录:
S=

六、(灰度矩阵)

%MATLAB代码

I = [ 
    2,1,2,0,1; 
    0,2,1,1,2; 
    0,1,2,2,0;
    1,2,2,0,1;
    2,0,1,0,1
    ];

[glcm1, SI1] = graycomatrix(I, 'offset', [0 1],'NumLevels', 3, 'G', [])%角度为0

[glcm2, SI2] = graycomatrix(I, 'offset', [-1 1],'NumLevels', 3, 'G', [])%角度为45

[glcm3, SI3] = graycomatrix(I, 'offset', [-1 0],'NumLevels', 3, 'G', [])%角度为90

[glcm4, SI4] = graycomatrix(I, 'offset', [-1 -1],'NumLevels', 3, 'G', [])%角度为135


%结果为:


上一篇 下一篇

猜你喜欢

热点阅读