類內距離 類間距離

2021-07-24 00:21:39 字數 1081 閱讀 9154

特徵選擇,就是降維。

特徵選擇之前需要進行類別可分性測度,最為直觀的是基於距離的可分性測度:類內距離&類間距離

類內距離【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...