یادگیری بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه استدالل بیزی روشی بر پایه احتماالت برای استنتاج کردن است اساس این روش بر این.
Download
Report
Transcript یادگیری بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه استدالل بیزی روشی بر پایه احتماالت برای استنتاج کردن است اساس این روش بر این.
یادگیری بیزی
Instructor : Saeed Shiry
&
Mitchell Ch. 6
مقدمه
استدالل بیزی روشی بر پایه احتماالت برای استنتاج کردن
است
اساس این روش بر این اصل استوار است که برای هر کمیتی
یک توزیع احتمال وجود دارد که با مشاهده یک داده جدید و
استدالل در مورد توزیع احتمال آن میتوان تصمیمات بهینه ای
اتخاذ کرد.
اهمیت یادگیری بیزی
در برخی کاربردها) نظیر دسته بندی متن( استفاده از روشهای
یادگیری بیزی) نظیر دسته بندی کننده بیزی ساده (توانسته
است راه حلهای عملی مفیدی را ارائه کند .نشان داده شده
است که کارائی این روش قابل مقایسه با درخت تصمیم و
شبکه عصبی بوده است.
مطالعه یادگیری بیزی به فهم سایر روشهای یادگیری که بطور
مستقیم از احتماالت استفاده نمیکنند کمک میکند.
نگرش بیزی به یادگیری ماشین
نگرش بیزی به یادگیری ماشین ) و یا هر فرایند دیگر(بصورت زیر است:
.1دانش موجود در باره موضوع را بصورت احتماالتی فرموله میکنیم
.2
.3
.4
برای اینکار مقادیر کیفی دانش را بصورت توزیع احتمال ،فرضیات استقالل و
غیره مدل مینمائیم .این مدل دارای پارامترهای ناشناخته ای خواهد بود.
برای هر یک از مقادیر ناشناخته ،توزیع احتمال اولیه ای در نظر گرفته میشود
که بازگو کننده باور ما به محتمل بودن هر یک ازاین مقادیر بدون دیدن داده
است.
داده را جمع آوری مینمائیم
با مشاهده داده ها مقدار توزیع احتمال ثانویه را محاسبه میکنیم
با استفاده از این احتمال ثانویه:
به یک نتیجه گیری در مورد عدم قطعیت میرسیم
با میانگین گیری روی مقادیر احتمال ثانویه پیش بینی انجام میدهیم
برای کاهش خطای ثانویه مورد انتظار تصمیم گیری میکنیم
ویژگیهای یادگیری بیزی
مشاهده هر مثال میتواند بصورت جزئی باعث افزایش و یا کاهش
احتمال درست بودن یک فرضیه گردد.
برای بدست آوردن احتمال یک فرضیه میتوان دانش قبلی را با مثال
مشاهده شده ترکیب کرد.این دانش قبلی به دو طریق بدست میاید :
.1
.2
احتمال قبلی برای هر فرضیه موجود باشد
برای داده مشاهده شده توزیع احتمال هر فرضیه ممکن موجود باشد
روشهای بیزی فرضیه هائی ارائه میدهند که قادر به پیش بینی
احتمالی هستند )مثل بیمار به احتمال 93%بهبود می یابد(
مثالهای جدید را میتوان با ترکیب وزنی چندین فرضیه دسته بندی
نمود.
حتی در مواردی که روشهای بیزی قابل محاسبه نباشند ،میتوان از
آنها به عنوان معیاری برای ارزیابی روشهای دیگر استفاده کرد
مشکالت عملی
نیاز به دانش اولیه در مورد تعداد زیادی مقادیراحتمال دارد .
وقتی که این اطالعات موجود نباشند اغلب ناگزیر به تخمین
زدن آن هستیم .برای این کار از اطالعات زمینه ،داده هائیکه
قبال جمع آوری شده اند ،و فرضیاتی در مورد توزیع احتمال
استفاده میشود.
محاسبه فرضیات بهینه بیزی بسیار هزینه بر است ) تعداد
فرضیه های کاندید خطی است(
ساختار این فصل
ML , MAP ، معرفی تئوری بیز
:روشهای یادگیری بیزی شامل
Optimal classifier, Gibbs alg.,
Naive Bayes learning
Bayesian belief network learning
رابطه تئوری بیز و سایر روشهای یادگیری
تئوری بیز
در یادگیری ماشین معموال در فضای فرضیه Hبدنبال بهترین
فرضیه ای هستیم که درمورد داده های آموزشی Dصدق
کند .یک راه تعیین بهترین فرضیه ،این است که بدنبال محتمل
ترین فرضیه ای باشیم که با داشتن داده های آموزشی Dو
احتمال قبلی در مورد فرضیه های مختلف میتوان انتظار
داشت.
تئوری بیز چنین راه حلی را ارائه میدهد.این روش راه حل
مستقیمی است که نیازی به جستجو ندارد.
تئوری بیز :تعریف مفاهیم اولیه
.1
.2
.3
فرض کنید که فضای فرضیه Hو مجموعه مثالهای آموزش Dموجود باشند .مقادیر
احتمال زیر را تعریف میکنیم:
)=P(hاحتمال اولیه ای که فرضیه hقبل از مشاهده مثال آموزشی Dداشته است
(prior probablity) .اگر چنین احتمالی موجود نباشد میتوان به تمامی فرضیه ها
احتمال یکسانی نسبت داد.
)=P(Dاحتمال اولیه ای که داده آموزشی Dمشاهده خواهد شد.
)=P(D|hاحتمال مشاهده داده آموزشی Dبه فرض آنکه فرضیه hصادق باشد.
در یادگیری ماشین عالقه مند به دانستن ) P(h|Dیعنی احتمال اینکه با مشاهده داده
آموزشی Dفرضیه hصادق باشد ،هستیم .این رابطه احتمال ثانویه (posterior
)probablityنامیده میشود.
توجه شود که احتمال اولیه مستقل از داده آموزشی است ولی احتمال ثانویه تاثیر داده
آموزشی را منعکس میکند.
تئوری بیز
سنگ بنای یادگیری بیزی را تئوری بیز تشکیل میدهد .این
تئوری امکان محاسبه احتمال ثانویه را بر مبنای احتماالت
اولیه میدهد:
Likelihood
Prior
probability
) P ( D | h) P ( h
P(h | D)
)P ( D
Posterior
probability
Evidence
تئوری بیز
) P ( D | h) P ( h
P(h | D)
)P ( D
همانطور که مشاهده میشود با افزایش ) P(Dمقدار )P(h|D
کاهش می یابد .زیرا هر چه احتمال مشاهده Dمستقل از h
بیشتر باشد به این معنا خواهد بود که Dشواهد کمتری در
حمایت از hدر بر دارد.
)Maximum A Posteriori (MAP
hypothesis
در مسایلی که مجموعه ای از فرضیه های Hوجود داشته و
بخواهیم محتملترین فرضیه را از میان آنان انتخاب بکنیم،
فرضیه با حداکثر احتمال Maximum A Posteriori
(MAP) hypothesisنامیده میشود و از رابطه زیر بدست
می آید.
h
)arg max P(h | D
hH
)P ( D | h) P ( h
arg max
)P( D
hH
) arg max P( D | h) P(h
در این رابطه مقدار )P(Dمستقل از h
بوده و حذف میشود
hH
MAP
)Maximum likelihood (ML
hypothesis
در مواقعی که هیچ اطالعی در مورد )P(hوجود نداشته باشد
میتوان فرض کرد که تمام فرضیه های Hدارای احتمال اولیه
یکسانی هستند .در اینصورت برای محاسبه فرضیه با حداکثر
احتمال میتوان فقط مقدار ) P(D | hرا در نظر گرفت .این
مقدار liklihoodداده Dبا فرض hنامیده میشود و هر
فرضیه ای که مقدار آنرا ماکزیمم کند فرضیه maximum
)liklihood (MLنامیده میشود:
)hML=argmaxhH P(D | h
مثال:تشخیص بیماری
در یک مسئله تشخیص بیماری با دو فرصیه روبرو هستیم:
-1بیمار دارای سرطان است -2بیمار سالم است
داداهای آزمایشگاهی نشان میدهد که 0.008جمعیت دارای
این بیماری هستند.
بعلت نادقیق بودن تست های آزمایشگاهی نتایج آن بصورت
زیر است:
در 98%مواقعی که شخص واقعا بیمار است نتیجه صحیح مثبت
حاصل میشود.
در 97%مواقعی که بیمار سالم است نتیجه صحیح منفی حاصل
میشود.
P(cancer)=0.008, P(+|cancer)=0.98, P(+|~cancer)=0.03,
P(~cancer)=0.992, P(-|cancer)=0.02, P(-|~cancer)=0.97
مثال:تشخیص بیماری
حال اگر بیمار جدیدی مشاهده شود که جواب آزمایشگاه مثبت باشد ،آیا
باید بیمار را مبتال به سرطان بدانیم؟
احتمال ابتالی بیمار به سرطان عبارت است از:
= )P(cancer|+) = P(+|cancer) P(cancer) / P(+
)(0.98)(0.008) / P(+) = 0.0078 / P(+
احتمال نداشتن سرطان عبارت است از:
= )P(~cancer|+) = P(+|~cancer) P(~cancer) / P(+
)(0.03)(0.992) / P(+) = 0.0298 / P(+
لذا فرضیه MAPعبارت خواهد بود از:
hmap=~cancer
Brute-force MAP Learning
میتوان با استفاده از تئوری بیزی الگوریتمی برای یادگیری
مفهوم ارائه نمود که بتواند فرضیه با بیشترین احتمال را بدست
دهد:
َBrute-force MAP Learning Algorithm
برای هر فرضیه hموجود در Hمقدار احتمال ثانویه را
حساب میکنیم.
فرضیه h MAPرا که بیشترین احتمال ثانویه را دارد مشخص
میکنیم.
دسته بندی کننده بیزی بهینه
Bayes Optimal Classifier
الگوریتم Brute-Force MAP learningدر پی پاسخگوئی به این
سوال است :محتملترین فرضیه برای مجموعه داده آموزشی چیست؟
در حالیکه اغلب دنبال یافتن پاسخ این سوال هستیم:محتملترین دسته بندی
یک نمونه مشاهده شده چیست؟
اگر چه به نظر میرسد که پاسخ سوال دوم را میتوان با اعمال فرضیه
MAPبه نمونه مورد نظر بدست آورد ،روش بهتری برای اینکار
وجود دارد:
در عمل محتملترین دسته بندی برای یک نمونه جدید از ترکیب پیش بینی تمامی
فرضیه ها بدست میاید .مقدار پیش بینی هر فرضیه در احتمال ثانویه آن ضرب
شده و حاصل آنها با هم ترکیب میشود.
مثال
فرض کنید 3فرضیه h1,h2,h3برای داده های آموزشی
دارای احتمال ثانویه زیر باشند:
P(h1|D) = 0.4, P(h2|D) = 0.3, P(h3|D) = 0.3
در نتیجه h1فرضیه MAPمیباشد.
اگربه نمونه جدیدی مثل xبربخوریم که
= )P(h1) = +, P(h2) = - and P(h3 در اینصورت احتمال مثبت بودن xبرابر با .4و احتمال
منفی بودن آن .6است در اینصورت دسته بندی xچیست؟
دسته بندی کننده بیزی بهینه
Bayes Optimal Classifier
در عمل محتملترین دسته بندی برای یک نمونه جدید از
ترکیب وزنی پیش بینی تمامی فرضیه ها بدست میاید .اگر
دسته بندی مثال جدید بتواند هر مقدار vjاز مجموعه Vرا
داشته باشد در اینصورت احتمال اینکه مثال جدید دسته بندی
Vjرا داشته باشد برابر است با:
) P(v j | hi ) P(hi | D
hiH
P (v j | D )
مقدار ماکزیمم رابطه فوق دسته بندی بهینه این نمونه را
مشخص خواهد نمود:
Bayes Optimal Classification
) P(v j | hi ) P(hi | D
hiH
arg max
v j V
دسته بندی بهینه
Optimal Classification
برای مثال فوق دسته بندی بهینه بیزی بصورت زیر خواهد بود.
P(-|h1) = 0 P(+|h1) = 1
P(-|h2) = 1 P(+|h2) = 0
P(-|h3) = 1 P(+|h3) = 0
P(h1|D) = 0.4
P(h2|D) = 0.3
P(h3|D) = 0.3
لذا
Σi P( + | hi ) P (hi | D) = 0.4 and
Σi P( - | hi ) P (hi | D) = 0.6
در نتیجه این نمونه بصورت منفی دسته بندی خواهد شد.
.
استفاده از این روش برای فضاهای فرضیه های بزرگ غیرعملی است
Naive Bayes Classifier
یک روش یادگیری بسیار عملی روش Naive Bayes
learnerاست .در کاربردهائی نظیر دسته بندی متن و
تشخیص پزشکی این روش کارائی قابل مقایسه ای با شبکه
های عصبی و درخت تصمیم دارد.
این روش در مسایلی کاربرد دارد که:
نمونه xتوسط ترکیب عطفی ویژگیها قابل توصیف بوده و
این ویژگیها بصورت شرطی مستقل از یکدیگر باشند.
تابع هدف )f(xبتواند هر مقداری را از مجموعه محدود vداشته
باشد.
مجموعه مثالهای آموزشی نسبتا زیادی در دست باشد
Naive Bayes Classifier
f : X Vکه در آن
تابع هدف زیر را در نظر بگیرید
هر نمونه xتوسط ویژگی زیر مشخص میشود )(a1,…an
صورت مسئله :برای یک نمونه مشاهده شده مقدار تابع هدف
یا بعبارت دیگر دسته بندی آنرا مشخص کنید.
در روش بیزی برای حل مسئله محتملترین مقدار هدف
vmapمحاسبه میشودvMAP arg max P(v j | a1,, an ) :
v j V
این رابطه با استفاده از
تئوری بیز بصورت زیر
نوشته میشود:
) P(a1 ,, an | v j ) P(v j
arg max
) P(a1, , an
) arg max P(a1 ,, an | v j ) P(v j
v j V
v j V
vMAP
Naive Bayes Classifier
) vMAP arg max P(a1 ,, an | v j ) P(v j
v j V
در رابطه فوق مقدار ) P(vjبا شمارش دفعاتی که vjدر مثالهای آموزشی مشاهده شده
است محاسبه میشود.
اما محاسبه ) P(a1,…an | vjچندان عملی نیست مگر اینکه مجموعه داده آموزشی
بسیار بسیار بزرگی در دست باشد .
روش یادگیری Naive Bayes Classifierبر پایه این فرض ساده ) (Naiveعمل
میکند که:
مقادیر ویژگیها بصورت شرطی مستقل هستند
در اینصورت برای یک مقدار هدف مشخص احتمال مشاهده ترکیب عطفی )(a1,…an
برابر است با حاصلضرب احتمال تک تک ویژگیها .در اینصورت رابطه فوق بصورت
زیر در میآید:
n
Naive Bayes Classifier
) arg max P(v j ) P(ai | v j
i 1
v j V
NB
v
Naive Bayes Classifier
خالصه:
در روش یادگیری Naive Bayes Classifierمقادیر
مختلف )P(vjو ) P(ai| vjبا استفاده از دفعات تکرار آنها
تخمین زده میشود
مجموعه این تخمین ها فرضیه ای را تشکیل میدهد که با
استفاده از رابطه زیر برای دسته بندی داده جدید بکار میرود:
n
) arg max P(v j ) P(ai | v j
i 1
v j V
NB
v
در این روش هیچگونه عمل جستجوی آشکاری وجود ندارد.
مثال
Day
Outlook
Temperature
Humidity
Wind
Play
Tennis
Day1
Day2
Sunny
Sunny
Hot
Hot
High
High
Weak
Strong
No
No
Day3
Overcast
Hot
High
Weak
Yes
Day4
Rain
Mild
High
Weak
Yes
Day5
Rain
Cool
Normal
Weak
Yes
Day6
Rain
Cool
Normal
Strong
No
Day7
Overcast
Cool
Normal
Strong
Yes
Day8
Sunny
Mild
High
Weak
No
Day9
Sunny
Cool
Normal
Weak
Yes
Day10
Rain
Mild
Normal
Weak
Yes
Day11
Sunny
Mild
Normal
Strong
Yes
Day12
Overcast
Mild
High
Strong
Yes
Day13
Overcast
Hot
Normal
Weak
Yes
Day14
Rain
Mild
High
Strong
No
اعمال دسته بندی
کننده ساده بیزی به
مسئله دسته بندی
روزها بر اساس
اینکه بازی تنیس در
آن انجام خواهد شد با
نه؟
داده های این مثال در
جدول زیر نشان داده
:شده است
مثال
:میخواهیم با این روش دسته مثال زیر را مشخص کنیم
x:(Outl=Sunny, Temp=Cool, Hum=High,Wind=strong)
:با اعمال رابطه دسته بندی کننده ساده بیزی داریم
vNB arg max P(vk ) P(ai | vk )
vk [ yes, no ]
i
arg max P(vk ) P(Outlook sunny| vk ) P(Tem p cool | vk )
vk [ yes, no ]
P( Hum idity high| vk ) P(Wind strong | vk )
مقدار احتمال را تخمین10 برای محاسبه این مقدار باید تعداد
.بزنیم
مثال
اینکار با شمارش دفعات تکرار در مثالهای آموزشی انجام
:میشود
P( PlayTennis yes) 9 / 14 0.64
P( PlayTennis no) 5 / 14 0.36
P(Wind strong | PlayTennis yes) 3 / 9 0.33
P(Wind strong | PlayTennis no) 3 / 5 0.60
etc.
P( yes) P( sunny| yes) P(cool | yes) P(high | yes) P( strong | yes) 0.0053
P(no) P( sunny| no) P(cool | no) P(high | no) P( strong | no) 0.0206
answer : PlayTennis( x) no
تخمین مقادیر احتمال
در مثال قبل مقدار احتماالت بر اساس نسبت تعداد مشاهده شده یک مقدار به تعداد کل
حاالت ممکن محاسبه گردید nc/n
اگرچه این مقدار مشاهده شده میتواند تخمین خوبی از مقدار احتمال باشد بااین وجود اگر
مقدار ncخیلی کوچک و یا صفر باشد میتواند منجر به نتایج غلطی شود .
اگر برای دسته vjمقدارaiهرگزمشاهده نشود،مقدار P(ai|vj)=0شده و در نتیجه کل
حاصلضرب صفر خواهد شد .برای جلوگیری از این مشکل از روشی به نامm-
estimateاستفاده میشود .
nc m p
m-estimate of probablity
nm
که در آن ncو nهمان مقادیر قبلی بوده و pتخمین اولیه از مقدار احتمالی است که
بدنبال آن هستیم و mتعداد مثالهای مجازی است .معموال مقدار pبصورت یکنواخت در
نظر گرفته شده و برابر با p=1/kدر نظر گرفته میشود که kتعداد مقادیر ممکن برای
ویژگیهاست.
دسته بندی متن
مثالهائی از دسته بندی متن:
تعیین مقاله ها ی مورد عالقه یک شخص
دسته بندی صفحات وب بر اسا س موضوع
برای چنین کاربردهائی دسته بندی کننده ساده بیزی میتواند بسیار
موثرعمل کند .اگرچه در عمل شرط استقالل ویژگیها برقرار
نیست ) مثال احتمال دیدن کلمه ماشین بعد از کلمه یادگیری
زیاد است(
دسته بندی متن
در طراحی یک راه حل برای چنین مسئله ای با دو نکته مواجه
هستیم
.1تصمیم گیری در مورد اینکه یک متن دلخواه را چگونه
بصورت مقادیر ویژگی نشان دهیم.
.2تصمیم گیری در مورد اینکه مقادیر احتمال مورد نیاز را
چگونه تخمین بزنیم.
نشان دادن یک متن بصورت مقادیر ویژگی
.1
.2
دو راه برای اینکار امتحان شده است:
موقعیت هر کلمه در متن بصورت یک ویژگی در نظر
گرفته میشود .مثال متنی که 100کلمه دارد دارای 100
ویژگی نیز خواهد بود.
هر کلمه موجود در فرهنگ لغات به عنوان یک ویژگی در
نظر گرفته شده ) حدود (50000و تعداد تکرار آنها در
متن شمارش میشود.
نمایش متن
در روش اول هر متن به برداری ازکلمات تبدیل شده و بازای موقعیت
هر کلمه یک ویژگی نسبت داده میشود .که مقدار آن ویژگی برابر با آن
کلمه خواهد بود). doc = (a1=w1, ai=wk, … , an=wn
برای مثال فرض کنید که از تعداد 1000متن آموزشی تعداد 700متن
بصورت dislikeو 300متن بصورت likeدسته بندی شده باشند .
در اینصورت برای دسته بندی یک متن جدید با 100کلمه میتوان
رابطه دسته بندی کننده ساده بیزی را بصورت زیر بکار برد:
) vNB arg max P(vk ) P(ai | vk
i
]vk [ dislike,like
) arg max P(vk ) P(a1 " Our"| vk ) P(a 2 " approach"| vk
.
]vk [ dislike,like
) ... P(a100 " trouble"| vk
یک اشکال اساسی
استفاده از فرض استقالل بیزی در این مثال بوضوح غلط
است یعنی نمیتوان فرض کرد که احتمال بودن یک کلمه در
یک محل مستقل از کلماتی است که در سایر محل ها قرار
گرفته اند .با این وجود چون چاره دیگری نداریم ناگزیر از
استفاده از این فرض هستیم .در عمل نشان داده شده که
علیرغم این فرض نادرست ،استفاده از دسته بندی کننده بیزی
ساده نتایج خوبی داشته است.
محاسبه مقادیراحتمال
برای محاسبه )P(vjتعداد هر کالس درداده آموزشی شمارش میشود.
برای محاسبه ) P(ai=wk|vjباید تعداد بسیار زیادی مقدار احتمال
محاسبه شود که عملی ناشدنی است .از اینرو در عمل فرض میشود که
احتمال مشاهده یک کلمه مشخص wkمستقل از محل قرار گرفتن آن
باشد .بعبارت دیگر کل مجموعه P(a1=wk|vj), P(a2=wk|vj),...
با ) P(wk|vjتخمین زده میشود که معادل با محاسبه تقریبا 2*50000
مقدار احتمال خواهد بود.
همچنین برای محاسبه مقدار احتمال از روش m-estimateاستفاده
خواهد شد.
1
n
k
|n | Vocabulary
الگوریتم یادگیری
LEARN_NAIVE_BAYES_TEXT( Examples, V )
1. collect all words and other tokens that occur in Examples
• Vocabulary all distinct words and other tokens in Examples
2. calculate the required P( vj) and P( wk| vj) probability terms
• For each target value vj in V do
– docsj subset of Examples for which the target value is vj
– P( vj) |docsj|/| Examples|
– Textj a single document created by concatenating all members of
docsj
– n total number of words in Textj (counting duplicate words multiple
times)
– for each word wk in Vocabulary
• nk number of times word wk occurs in Textj
• P( wk| vj) ( nk + 1) / ( n + | Vocabulary|)
الگوریتم دسته بندی
CLASSIFY_NAIVE_BAYES_TEXT ( Doc)
• positions all word positions in Doc that
contain tokens found in Vocabulary
• Return vNB, where
vNB = argmax vj in V P( vj)
P
i in positions
P( ai| vj)
news group یادگیری: نتایج تجربی
20 تعین اینکه یک مقاله مورد بررسی به کدام یک از: هدف
:گروه خبری زیر اختصاص دارد
comp.graphics misc.forsale comp.os.ms-windows.misc rec.autos
comp.sys.ibm.pc.hardware rec.motorcycles comp.sys.mac.hardware
rec.sport.baseball comp.windows.x rec.sport.hockey alt.atheism
sci.space sci.med soc.religion.christian sci.crypt talk.religion.misc
sci.electronics talk.politics.mideast talk.politics.misc talk.politics.guns
متن به همراه گروه خبری مربوطه1000 تعداد: داده آموزشی
دقت در دسته بندی حاصل گردید89 % : نتیجه دسته بندی
همجنین کلماتی که تعداد. از مجموعه لغات حذف شده استthe کلمه متداول نظیر100 در این مثال
کلمه در لغتنامه وجود داشته38500 در مجموع تعدا. کمتر بوده نیز حذف گردیده است3 تکرار آنها از
.است
منحنی یادگیری