پاسخ تمرین ۴(تخمین میانگین و واریانس با تخمین گر ML)

یادآوری تخمین گر ML و طرح مسئله

 در بخش قبل درباره ی  تخمین گر ML صحبت کردیم. در این بخش همچنین تمرینی مطرح شد که هدف این بود که مقدار میانگین و واریانس را برای pdf گوسی تخمین بزنیم. همانطور که در این بخش گفته شد، میانگین و واریانس بصورت زیر تخمین زده میشوند:

 

تخمین ML برای میانگین کلاس

تخمین ML برای میانگین کلاس

تخمین ML برای ماتریس کوواریانس

تخمین ML برای ماتریس کوواریانس

 

توضیح کد متلب

در این بخش کد مربوط به این مسئله قرار داده شده است. ابتدا با دستور mvnrnd و با در دست داشتن میانگین(m) و ورایانس (S)، باید ۵۰ دیتای دوبعدی تولید کنیم. بعد از آن با استفاده از فرمول هایی که در بالا مطرح شده  تخمین های میانگین(m_hat) و واریانس(S_hat) را بدست می آوریم(با مقادیر واقعی(mو S) نیز مقایسه کنید). در واقع با این عمل توانستیم مقدار میانگین و واریانس را برای pdf گوسی(که در عمل نامعلوم هستند) را تخمین بزنیم. توجه داشته باشید که همانطور که در اینجا   و اینجا مطرح شد، برای اینکه بتوانیم داده ها را به روش های مختلف کلاس بندی کنیم باید میانگین و واریانس توزیع را داشته باشیم که با روشی که در این بخش مطرح شد براحتی این کار امکان پذیر است. در پایان این بخش می توانید کد مربوطه(به فرمت mat.) را در قالب فایل زیپ دانلود کنید.

 

%%matlabkhoone
%%tamrin4

clc;
clear all;
close all;
%% genrate 50 random data
m = [2 -2]; S = [0.9 0.2; 0.2 .3];
X = mvnrnd(m,S,50)’; %%2D feature vector

% Compute the ML estimates of m and S
[l,N]=size(X);
m_hat=(1/N)*sum(X’)’; %% estimated mean

m_hat_rep=repmat(m_hat,1,N);
S_hat=(1/N)*(X-m_hat_rep)*(X-m_hat_rep)’;%% estimated variance

 

 

لینک دانلود کد متلب


 

اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

تخمین درست‌نمایی بیشینه(ML)

در بخش­های قبل کلاسیفایرهای بیزین و همچنین کلاسیفایرهای حداقل فاصله را توضیح دادیم. در این کلاسیفایرها، پارامترهای تابع توزیع احتمال(pdf) گوسی(مقدار میانگین و ماتریس کوواریانس) کلاس­ها معلوم بود در این بخش قصد داریم که روش برآورد درست‌نمایی بیشینه(ML) را که روشی برای تخمین پارامترهای تابع توزیع احتمال را بیان کنیم.

مشکلی که اغلب در عمل با آن مواجه هستیم این است که pdfهایی که توزیع آماری دیتا را در کلاس­ها توصیف می­کنند، نامعلوم هستند و باید با استفاده از مجموعه ­ی دیتای آموزش(train) تخمین زده شوند. یک روش برای تخمین تابع، این فرض است که یک pdf شکل تابع مشخصی دارد ولی ما مقادیرِ پارامترهایی که آن را تعریف می­کنند نمی­دانیم. برای مثال، می­دانیم که pdf، شکل گوسی دارد اما مقدار میانگین و یا المان­ها ماتریس کوواریانس را نمی­دانیم.

روش دانسیته­ ی احتمال ماکزیمم(ML) روش محبوبی برای تخمین پارامتریِ pdf نامعلوم است. با تمرکز بر روی pdfهای گوسی و با این فرض که N نقطه که,   { x }_{ i }\epsilon { R }^{ l } ,  که i=1,2,..,N است را که بصورت یکنواخت توزیع شده ­اند را داریم، تخمین ­های ML مقدار میانگین نامعلوم و ماتریس کوواریانس نامعلوم بصورت زیر بدست می­ آیند:

تخمین ML برای میانگین کلاس

تخمین ML برای ماتریس کوواریانس

 

برای فراهم آوردن تخمین بدون­ بایاس، در فرمول ماتریس کوواریانس اغلب بجای N،  از N-1 استفاده می­کنند.

تمرین بعدی که در این بخش مطرح می­شود بر روی تخمین پارامترهای نامعلوم pdf گوسی تمرکز می­کند.


 

تمرین ۴:  ۵۰ بردار ویژگی دوبعدی را از توزیع گوسین( N(m,S تولید کنید که:

میانگین و واریانس برای توزیع گوسی

 

 

اگر X ماتریس ایجاد شده باشد(که بصورت رندوم ایجاد شده است)،  که بعنوان بردارهای ویژگی  است، تخمین ML را برای مقدار میانگین و ماتریس کوواریانس S برای توزیع N(m,S) بدست آورید و با مقادیر واقعی مقایسه کنید.

نکته: برای تولید داده ی تصادفی از دستور mvnrnd  استفاده کنید.


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

لینک کانال

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید.

 

پاسخ تمرین ۳(کلاس بندی با فاصله ی اقلیدسی و فاصله ی ماهالونوبیس)

 کلاس بندی با فاصله ی اقلیدسی و فاصله ی ماهالونوبیس

در این تمرین که در اینجا مطرح شد هدف این بود که یک داده را براساس فاصله ی اقلیدسی و فاصله ی ماهالونوبیس کلاس بندی کنیم. فرمول ها مربوط به این دو کلاسیفابر قبلا گقته شد. در این تمرین باید فاصله ی داده را تا مرکز هر کلاس بدست بیاوریم و به هر کلاس که نزدیک تر باشد متعلق به آن کلاس است.

کد مربوط به این تمرین بصورت زیر است. درصورتی که هر سوالی درباره این کد داشتین در قسمت دیدگاه مطرح کنید. در اسرع وقت پاسخ داده خواهد شد.

 

 

matlabkhoone.ir%%
%%tamrin3

clc;clear all;close all;

m1=[0 0 0]’; %%mean of class1
m2=[0.5 0.5 0.5]’; %%mean of class2
S=[0.8 0.01 0.01;0.01 0.2 0.01;0.01 0.01 0.2];%% standard devision

X=[0.1 0.5 0.1]’;

%% euclidean_classifier
dis1=sqrt((X-m1)’*(X-m1));
dis2=sqrt((X-m2)’*(X-m2));

if dis1<dis2
disp(‘x belongs to class1(euclidean_classifier)’)
else
disp(‘x belongs to class2(euclidean_classifier)’)
end

%% mahalanobis_classifier
diss1=sqrt((X-m1)’*inv(S)*(X-m1));
diss2=sqrt((X-m2)’*inv(S)*(X-m2));

if diss1<diss2
disp(‘x belongs to class1(mahalanobis_classifier)’)
else
disp(‘x belongs to class2(mahalanobis_classifier)’)

end

لینک دانلود کد متلب


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

کلاسیفایرهای حداقل فاصله

کلاسیفایرهای حداقل فاصله دو نوع هستند، کلاسیفایر فاصله ی اقلیدسی و کلاسیفایر فاصله ی ماهالانوبویس. اساس کار در  این کلاسبندها به این نحو است که داده به کلاسی تعلق میگیرد که فاصله ی کمتری تا مرکز کلاس داشته باشد.  در این بخش این دو کلاسیفایر را توضیح خواهم داد. برای این کلاسیفایر نیز تمرینی در انتها قرار داده شده است که توصیه میشود حتما در متلب پیاده سازی شود.

کلاسیفایر فاصله­ ی اقلیدسی

در بخش قبل کلاسیفایر تئوری بیزین را توضیح دادیم. کلاسیفایر بیزین بهینه تحت شرایط زیر بسیار ساده خواهد شد:

  1. دیتا در همه ­ی کلاس­ها از توزیع گوسی پیروی کنند.
  2. ماتریس کوورایانس برای همه ­ی کلاس­ها یکسان باشد.
  3. ماتریس کوواریانس قطری باشد و همه­ ی المان ­ها در طول قطر اصلی برابر باشند. که بصورت s={ \sigma }^{ 2 }I است و I ماتریس همانی است.

با این فرضیات، مشخص می­شود که کلاسیفایر بیزین بهینه معادل با حداقل کردن کلاسیفایر فاصله­ ی اقلیدسی است. که در آن x با برچسب نامعلوم دریافت می­شود و تحت شرط زیر به کلاس  { w }_{ i } تعلق می­گیرد:

 کلاسیفایر اقلیدسی اغلب بدلیل سادگی استفاده میشود، این کلاسیفایر، الگو را به کلاسی تعلق می­دهد که میانگین آن کلاس از نظر فاصله­ ی اقلیدسی به الگو نزدیک­تر باشد.

کلاسفایر فاصله ­ی ماهالانوبیس

اگر فرضیات موردنیاز برای کلاسیفایر اقلدیسی را کم­رنگ ­تر کنیم و آخرین شرط که معادل بود با اینکه ماتریس کوورایانس قطری باشد و المان­های قطر اصلی برابر باشند را حذف کنیم، کلاسیفایر بیزین بهینه معادل خواهد بود با کلاسیفایر حداقل  فاصله ی ماهالانوبیس. در اینجا نیز x نامعلوم است، و در صورتی که به کلاس { w }_{ i } تعلق می­گیرد که داشته باشیم:

که S ماتریس کوورایانس معمول است.


تمرین۳: تسک کلاس­بندی دو کلاسه را در فضای سه­ بعدی درنظر بگیرید، که دو کلاس { w }_{ 1 }   و { w }_{ 2 }  با توزیع گوسی  با میانگین  { m }_{ 1 }=[{ 0,0,0] }^{ T } و  { m }_{ 2 }=[{ 0.5,0.5,0.5] }^{ T }  مدل شده اند.

ماتریس کوورایانس برای هر دو توزیع  برابر است با:

نقطه ­ی x=[{ 0.1,0.5,0.1] }^{ T } را درنظر بگیرید،

  1. Xرا مطابق با کلاسیفایر فاصله­ ی اقلیدسی کلاس­بندی کنید.
  2. X را مطابق با کلاسیفایر فاصله ­ی ماهالانوبیس کلاس­بندی کنید.

توجه: پاسخ این تمرین در این بخش قرار داده خواهد شد.


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

 

پاسخ تمرین ۲(کلاس بندی با تئوری تصمیم گیری بیزین)

در تمرین ۲ که در اینجا مطرح شده، هدف کلاس بندی داده براساس تئوری تصمیم گیری بیزین بود. با توجه به فرمول مطرح شده در این بخش که بصورت زیر است:

و با این دانش که داده به کلاسی تعلق میگیرید که احتمال پاستریور بیشتری داشته باشد، کد مربوط به این سوال بصورت زیر است:

%%www.matlabkhoone.ir

%% example 1.3.2 %%
clc;clear all;close all;
m1=[1,1]’;m2=[3,3]’;%% mean of class 1 and class2
P1=0.5;P2=0.5;%%prior probability of class1 and class2
s1=eye(2); s2=eye(2);%% standard devision of class1 and class2
class1=zeros(1,1);
class2=zeros(1,1);
x=[1.8,1.8]’;
for i=1:2
p(i)= P1*(1/(2*pi*sqrt(det(s1))))*exp(-0.5*(x-m1)’*inv(s1)*(x-m1));%%posterior probability
m1=m2;
P1=P2;
end
if p(1)>p(2)
class1=x;
else
class2=x;

end

 

دریافت کد متلب

 


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

پاسخ تمرین ۱(یافتن pdf گوسی)

در این تمرین(که در اینجا مطرح شده است) هدف یافتن تابع توزیع گوسی و یا بعبارت دیگر تابع توزیع نرمال، براساس اطلاعات مطرح شده در صورت مسئله بود. با توجه به اینکه تابع توزیع نرمال برای حالت یک بعدی بصورت زیر تعریف میشود:


میتوانیم کد مربوط به این تابع را بصورت زیر داشته باشیم:

%% Compute the value of a Gaussian pdf%%
%%p:the value of a Gaussian pdf, N(m,S ), at x1 , x2

clc;clear all;close all;
m=[0,1]’; %% mean
sigma=[1 0;0 1];%%standard devision
x1=[0.2,1.3]’;%% feature vector1
x2=[2.2,-1.3]’;%% feature vector2
for i=1:2
p(i)= (1/(2*pi*sqrt(det(sigma))))*exp(-0.5*(x1-m)’*inv(sigma)*(x1-m));
x1=x2;
end

دریافت کد متلب


اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

لینک کانال

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید

کلاسیفایرهای مبتنی بر تئوری تصمیم گیری بیز

مقدمه ای بر تئوری تصمیم گیری بیز

در این بخش و چند بخش آتی،در مورد کلاسیفایرهای مبتنی بر تئوری تصمیم­ گیری بیز صحبت می­کنیم. الگوریتم ­های این بخش و همچنین تمرین هایی که در این بخش گفته می شود برای درک بهتر این مفهموم و همچنین آشنایی با برخی از مفاهیم اساسی مربوط به کلاس­بندی بسیار مهم هستند. برخی از الگوریتم ها  در ساختار و درک ساده هستند.

بطور کلی در تسک کلاسبندی، یک پترن را دریافت میکنیم و تسک این است که آن را به یکی از c کلاس ،کلاس­بندی کنیم. تعداد کلاس­ها، c است و فرض میشود که از قبل معلوم است. هر الگو، با یک مجموعه از ویژگی­ها بصورت x(i)=1.2…,L مشخص می­شود، که یک بردار ویژگی Lبعدی را بصورت x={ [x(1),x(2),...x(l)] }^{ T }\in { R }^{ L } را ایجاد می­کنیم. فرض می­کنیم که هر الگو بطور یکتایی با بردار ویژگی منحصربفرد معرفی می­شود که می­تواند فقط به یکی از کلا­س­ها تعلق یابد.

تعریف 

یک X\in { R }^{ L } و یک مجموعه از کلاس­های c که بصورت  { w }_{ i },i=1,2,..,c   را دریافت می­کنیم. قاعده­ ی بیزین بصورت زیر است:

که { P(w }_{ i })  احتمال پیشینه ­ی کلاس { w }_{ i },i=1,2,..,c و { p(w }_{ i }|x) احتمال پاستریور برای کلاس{ w }_{ i }  نسبت به  xاست وp(x) تابع دانسیته­ ی احتمال(pdf) برحسب x و    { p(x|w }_{ i })    احتمال شرطی x نسبت به [

latex]{ w }_{ i }[/latex] است (که برخی اوقات دانسیته ­ی احتمال  برحسب x نامیده می­شود).

  

 تئوری تصمیم­ گیری بیز

الگویی که برچسب کلاس آن نامعلوم است را درنظر بگیرید که x={ [x(1),x(2),...x(l)] }^{ T }\in { R }^{ L } بردار ویژگی متناظر آن باشد، که براساس برخی اندازگیری­ ها بدست آمده ­اندو تعدادکلاس ­های ممکن، هم برابر است با c که عبارتند از{ w }_{ 1 },{ w }_{ 2 },...{ w }_{ c } .

مطابق با تئوری تصمیم ­گیری بیز، درصورتی x به کلاس { w }_{ i }  تعلق می­گیرد که داشته باشیم:

و یا داشته باشیم:

نکته: کلاسیفایر بیز  درحالتی بهینه است که احتمال خطا را حداقل کند.

 

تابع دانسیته­ ی احتمال گوسین:

Pdf گوسین، بدلیل سادگی ریاضیاتی و همچنین بدلیل تئوری محدوده­ ی مرکزی  بطور گسترده در شناسایی آماری الگو استفاده می­شود.  براساس تئوری محدوده­ ی مرکزی، pdf مجموعِ متغیرهای رندوم مستقل به یک عدد گاوسی تمایل دارند زیرا تعداد جملات به بینهایت میل می­کنند. در عمل، این تئوری برای تعداد زیاد و کافی از مجموع ­ها صادق است.

Pdf گاوسی چندبعدی بصورت زیر است:

کهm=E[x] بردار میانگین است و S ماتریس کوواریانس می­باشد که بصورت    S=E[(x-m){ (x-m) }^{ T }]تعریف می­شود و |S| دترمینان S است.

اغلب به pdf گوسی، pdfنرمال گفته می­شود و از نمادN(m,S) استفاده می­کنیم. برای حالت یک­ بعدی کهx\in R است، رابطه­ ی بالا بصورت زیر است:

که{ \sigma }^{ 2 }  واریانس متغیر رندوم x است.

 

در اینجا دو تمرین برای شما دوستان عزیر مطرح شده است، برای درک بهتر این بخش، کد مربوط به  این دو سوال را در متلب بنویسد(در صورتی که مشکلی در نوشتن کد داشتید در قسمت دیدگاه بیان کنید تا در اسرع وقت پاسخ داده شود ). در پست های آتی پاسخ آنها را  در این بخش از سایت قرار خواهم داد.

تمرین۱:

Pdf گوسی،  و بعبارت دیگر N(m,S) را در { x }_{ 1 }={ [2.2\quad -1.3] }^{ T } و { x }_{ 1 }={ [0.2\quad 1.3] }^{ T } را براساس اطلاعات زیر محاسبه کنید.

 

  

تمرین۲:

یک تسک کلاس­بندی دوبعدی را در فضای دوبعدی درنظر بگیرید، که دیتاها در هر دو کلاس دارای توزیع گوسی بصورتN({ m }_{ 1 },{ S }_{ 1 }) و N({ m }_{ 2 },{ S }_{ 2 }) هستند و داریم:

اگر { P(w }_{ 1 })={ P(w }_{ 2 })=1/2 باشد، { x }_{ 1 }={ [1.8\quad 1.8] }^{ T } را در یکی از کلاس­های { w }_{ 1 }  و یا { w }_{ 2 }  کلاس­بندی کنید.

 

 

اولین کانال آموزش رایگان دروس مربوط به رشته ی مهندسی پزشکی

 

 لینک کانال  

سوالات و دیدگاه خود را درباره ی این پست با ما درمیان بگذارید