یادگیری بیزی Instructor : Saeed Shiry & Mitchell Ch. 6 مقدمه استدالل بیزی روشی بر پایه احتماالت برای استنتاج کردن است اساس این روش بر این.
Download ReportTranscript یادگیری بیزی 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 تکرار آنها از .است منحنی یادگیری