2016-09-16 5 views
2

저는 벡터의 엔트로피를 이해하려고합니다.Matlab - 히스토그램의 엔트로피 비교

kk=normrnd(130,20,1000000,1); 
kk=uint8(kk);%did this or else the result was 0 
entropy(kk) 

KK의 imhist이다 :

enter image description here

엔트로피 결과 6.3686

인 말 (130) 및 분산 1을 가진 정규 분포에서 크기 1,000,000 샘플을 생성함으로써 시작될

그러면 평균 분포가 130이고 분산이 1 인 샘플을 1000과 같은 샘플을 생성 한 후 노이즈 분포를 구하기 위해 이전과 같은 단계를 거쳤습니다. 여기서는 히스토그램이 있습니다 :

enter image description here

그리고 엔트로피는 6.2779입니다. 따라서 분배가 더 시끄럽지 않을수록 엔트로피는 작아집니다. 나는 같은 평균과 분산을 가진 정규 분포의 다른 표본 크기에 대한 엔트로피를 계산했고, 이것에 따라 변화한다. 하지만 내가 맞습니까? 히스토그램 분포의 엔트로피를 비교하는 올바른 방법입니까?

[EDITION] obchardon 내가 좀 더 조사 말한 후

. 이 배포판 :

kk1=normrnd(130,75,1000000,1);%entropy=7.6983 

나에게보다 더 큰 엔트로피를 제공합니다

kk2=normrnd(130,20,1000000,1);%entropy=6.3686 

그러나 이것은 하나의 엔트로피가 kk1kk2보다 작은 :

kka2=normrnd(130,150,100000,1);%entropy=6.1660 

어떻게 이런 일이 가능할까요?

답변

2

엔트로피 공식이 작은 벡터에 대한 바이어스 : 우리는 일반적으로 10x1를 생성

: 예를 들어

분산 벡터 :

:

n = 10 

kk=normrnd(130,20,n,1); 
kk=uint8(kk); 

이제 우리는 엔트로피를 계산

kk = im2double(kk); 
P = hist(kk(:), linspace(0, 1, 256)); 
P = P(:); P = P(P(:)>0); %we need to delete the value where P = 0, because log(0) = Inf. 
P = P/n; 
E = -sum(P.*log2(P)) 

이 예제에서 엔트로피는 결코 -sum(n*(1/n)*log2(1/n))= 3.32보다 높지 않습니다! (각각의 kk 값이 다른 최악의 경우)

그래서 @TasosPapastylianou가 맞습니다. 엔트로피는 해당 분산의 함수이지만 (n-->inf 일 때만)

maximumentropyvalue

enter image description here

+0

좋은 지적. 나는 전체 "가우스 대 시끄러운 가우시안 (gaussian vs noisy gaussian)"비교에 의해 버려졌고 벡터의 분리 된 성질로부터 그 효과를 무시했다. 절대 엔트로피와 차동 엔트로피의 중요한 차이점 중 하나! 그것을 잡아 주셔서 감사합니다. (또한, 당신이'- (n * (1/n) * log2 (1/n))''이라고 말하려고했던 것 같아요. –

+0

그래, 여러 배포판에서 말한 것을 시도해 보았습니다. 엔트로피 값은 분산이 증가함에 따라 감소하지만 평균 주위의 변이 0 이상일 때만 엔트로피 값이 올라갑니다. 그렇지 않으면 동일한 확률 0 (또는 히스토그램에 대해 말하는 경우 강도 0)이있는 일부 값이 있으므로 엔트로피 값이 올라갑니다). 이게 옳은 거니? – user2952272

+1

분산이 많은 경우 엔 엔트로피가 감소합니다. 왜냐하면 variance = 1000 (예를 들어) 인 경우 거의 모든 값이 = 1 일 때이 줄을'kk = uint8 (kk)'로 적용하기 때문입니다. 0 또는 = 255 (엔트로피가 인위적으로 감소합니다)! 그래서 나는 <0과 value> 255 값을 고려할 수있는 또 다른 공식을 사용할 것을 권장합니다. 그리고 이번에는 분산이 증가하면 엔트로피가 항상 증가합니다. – obchardon

0

귀하의 결론은 "더 작은 엔트로피"가 잘못되었다는 결론입니다. 가우스 분산 랜덤 변수의 경우 엔트로피는 분산의 함수입니다. 나는 두 번째 벡터가 약간 더 작은 분산을 가지게된다는 것을 추측하고 있습니다. (또한 시각적 인 경우도있는 것처럼 보이지만) 엔트로피는 매우 유사합니다.

은 ( Bishop 52 페이지를 보라 풀러 설명은 1.30 FIG)

+0

PS. 그것은 1의 차이가 아닙니다. –

+1

저는 잘못 될 수는 있지만 벡터의 길이가 엔트로피 값에 영향을 미친다고 생각합니다. (내 대답 참조) – obchardon