特徵選擇,就是降維。
特徵選擇之前需要進行類別可分性測度,最為直觀的是基於距離的可分性測度:類內距離&類間距離
類內距離【ref1】:類內距離 平方形式 即為:
類協方差矩陣跡的2倍。
2*trace(cov(x1));
散布矩陣matlab**:
function [ sw,sb,st ] = scatter_mat ( x,y )
%function --實現類內、類間、混合散布矩陣 距離計算
%x --多類構成的樣本集合(乙個列向量 表示 乙個樣本)
%y --乙個n維行向量,第i個元素包含x中第i個向量的label(總共有c個類標)
%sw --類內散布矩陣,類內距離 的 平方形式
%sb --類間散布矩陣,類間距離 的 平方形式
%sw --混合散布矩陣
[l,n]=size(x); %設x有l*n維
c=max(y);
% sw
m=;sw=zeros(1);
for i=1:1:c
y_temp=(y==i);
x_temp=x(:,y_temp);
p(i)=sum(y_temp)/n;
m(:,i)=(mean(x_temp'))';
sw=sw+p(i)*cov(x_temp'); %矩陣形式
end% sb
m0=(sum(((ones(l,1)*p).*m)'))';
sb=zeros(1);
for i=1:c
sb=sb+p(i)*((m(:,i)-m0)*(m(:,i)-m0)'); %矩陣形式
end% st
st=sw+sb; %矩陣形式
在特徵選擇和特徵提取時,應該使類內分散度盡量小,即上述matlab**中tr(sw)盡量小;類間分散度盡量大,即上述matlab**中tr(sb)盡量大。
ref1:
ref2:雜對話)
切空間距離
標籤 空格分隔 模式分類 在很多分類演算法中,如果不加考慮地隨意選擇距離度量,會存在很多問題。例如,對於knn演算法,如果不加考慮地使用了歐幾里得距離即d xi yi 2 那麼在這個問題上可能給你帶來毀滅性的結果。如上圖所示,如果手寫體5向右移動了3畫素的距離,這樣顯然會給分類帶來巨大的誤差,可以想...
Matlab計算矩陣間距離
夜深人靜時分,宿舍就我自己,只有蚊子陪伴著我,我慢慢碼下這段文字.我們倆交流了很多.從實驗室,到研究課題,到lol,筆者深深為他淵博的學識和不俗的談吐所打動,恩恩,遇到志同道合的人挺不容易的.最重要的是感謝他的開源精神,給我了很多我急需的資料和 在此,也感謝提供的這個平台,讓我們在這茫茫人海中有了相...
Mysql計算時間距離
1,首先,看看mysql幾個內建時間函式 select now current timestamp current time sysdate 結果如下 2,計算時間差的內建函式timestampdiff timestampdiff interval,datetime expr1,datetime e...