這段matlab程式之前已經在協方差矩陣的對角線加了一個很小的數,就是為了防止協方差矩陣的出現,得出來的結果卻覺得也不對,混合高斯概率不應該是小于一的嗎?我下面會貼出結果。
function gp=GaussianPDF(data,u,sigmai)
%UNTITLED3 此處顯示有關此函式的摘要
% 此處顯示詳細說明
[m,n]=size(data);
u=mean(data,1);
nxt_item(1:m)=0;
tem_data=https://bbs.csdn.net/topics/data-repmat(u,m,1);
sigmai=sigma(data);
for i=1:m
pre_item=1/sqrt(((2*pi)^n)*abs(det(sigmai)+realmin));
tem_data_t=tem_data(i,:)';
nxt_item(i)=exp(-0.5*(tem_data(i,:)*inv(sigmai)*tem_data_t));
end
gp=pre_item*nxt_item;
end
下面是我的輸入和結果
>> data=https://bbs.csdn.net/topics/[1,2,3;4,5,6;7,8,9]
data =
1 2 3
4 5 6
7 8 9
u=mean(data,1)
u =
4 5 6
>> sigmai=sigma(data)
sigmai =
9.0000 9.0000 9.0000
9.0000 9.0000 9.0000
9.0000 9.0000 9.0000
>> GaussianPDF(data,u,sigmai)
ans =
1.0e+03 *
1.4823 2.4439 1.4823
我覺得這個結果不對,但又不知道如何繼續
uj5u.com熱心網友回復:

我是樓主,是以這個公式為基礎的
uj5u.com熱心網友回復:
已經在協方差矩陣對角線加上了很小的數,防止奇異矩陣的問題出現,但是這個結果也很奇怪,我還不知道問題出在哪兒uj5u.com熱心網友回復:
opencv里的函式算出來也是有大于1的情況,樓主解決了嗎uj5u.com熱心網友回復:
本來就沒錯 概率密度不等于概率 公式給出的是概率密度的公式 是可以大于1的轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/16564.html
標籤:機器視覺
上一篇:2020-09-11
