490 likes | 759 Views
یادگیری بیزی. مدرس: علی فروتن راد گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی زنجان & Mitchell Ch. 6. با تشکر از دکتر سعید شیری و دکتر فریبز محمودی گروه مهندسی کامپیوتر و فناوری اطلاعات دانشگاه صنعتی امیرکبیر و دانشگاه آزاد قزوین. مقدمه.
E N D
یادگیریبیزی مدرس: علی فروتن راد گروه مهندسی کامپیوتر دانشگاه آزاد اسلامی زنجان & Mitchell Ch. 6 با تشکر از دکتر سعید شیری و دکتر فریبز محمودی گروه مهندسی کامپیوتر و فناوری اطلاعات دانشگاه صنعتی امیرکبیر و دانشگاه آزاد قزوین
مقدمه • استدلالبیزیروشیبرپایهاحتمالاتبرایاستنتاجکردناست. • اساساینروشبرایناصلاستواراستکهبرای هرکمیتییکتوزیعاحتمالوجوددارد که بامشاهده یکدادهجدیدواستدلالدرموردتوزیعاحتمالآنمیتوانتصمیماتبهینهایاتخاذ کرد.
اهمیتیادگیریبیزی • دربرخیکاربردها)نظیردستهبندی متن (استفادهازروشهاییادگیریبیزی)نظیردستهبندیکنندهبیزیساده( توانستهاستراهحلهایعملیمفیدیرا ارائهکند. نشاندادهشدهاستکهکارائیاینروشقابلمقایسهبادرختتصمیموشبکهعصبیاست. • مطالعهیادگیریبیزیبهفهمسایرروشهاییادگیریکهبطورمستقیمازاحتمالاتاستفادهنمیکنند،کمکمیکند.
ویژگیهاییادگیریبیزی • مشاهدههرمثالمیتواندبه صورت جزئیباعثافزایشویاکاهشاحتمالدرستبودنیکفرضیهگردد. • برایبدستآوردناحتمالیکفرضیهمیتواندانشقبلی رابامثالمشاهدهشدهترکیبکرد.ایندانشقبلیازدوطریقبدستمیآید: • احتمالقبلیبرای هرفرضیهموجودباشد. • توزیعاحتمالدادهمشاهدهشدهبرای هرفرضیهممکنموجودباشد. • روشهایبیزیفرضیههائیارائهمیدهندکهقادربهپیشبینیاحتمالیهستند) مثلبیماربهاحتمال 93% بهبودمییابد(. • مثالهایجدیدرامیتوانباترکیبوزنیچندینفرضیهدستهبندینمود. • حتیدرمواردیکهروشهایبیزیقابلمحاسبهنباشند،میتوانازآنهابهعنوانمعیاریبرایارزیابیروشهایدیگراستفادهکرد.
مشکلاتعملی • نیازبهدانشاولیهدرموردتعدادزیادیازاحتمالات دارد.وقتیکهایناطلاعاتموجودنباشنداغلبناگزیربهتخمینزدنآنهستیم. برایاینکارازاطلاعاتزمینه، دادههائیکهقبلاجمعآوریشدهاند،وفرضیاتیدرموردتوزیع احتمالاستفادهمیشود. • محاسبه فرضیاتبهینهبیزیدر حالت عمومی بسیارهزینهبراست. (متناسب خطیبا تعدادفرضیههایکاندیداست.)
ساختاراینفصل • معرفیتئوریبیز،ML , MAP روشهاییادگیریبیزیشامل: • Optimal classifier algorithm • Naive Bayes learning • Bayesian belief network learning • رابطهتئوریبیزوسایرروشهاییادگیری
تئوریبیز • دریادگیریماشینمعمولادرفضایفرضیهHبدنبالبهترینفرضیهایهستیمکه درمورددادههایآموزشیDصدقکند. یکراهتعیینبهترینفرضیه،ایناست کهبدنبالمحتملترین فرضیهای باشیم که با داشتن دادههای آموزشی D و احتمال قبلی در مورد فرضیههای مختلف میتوان انتظار داشت. • تئوریبیزراهحلمستقیمیدر این خصوص ارائهمیدهد.
تئوریبیز • سنگبناییادگیریبیزیرا تئوریبیزتشکیلمیدهد.اینتئوریامکانمحاسبهاحتمالثانویهرابرمبنایاحتمالاتاولیهمیدهد: Likelihood Prior probability Posterior probability Evidence
تئوریبیز:تعریفمفاهیماولیه • فرضکنیدکهفضایفرضیه HومجموعهمثالهایآموزشDموجودباشند.مقادیراحتمالزیرراتعریفمیکنیم: • = P(h)احتمالاولیهای (priorprobablity)کهفرضیهhقبلازمشاهدهمثالآموزشیD داشتهاست. اگرچنیناحتمالیموجودنباشدمیتوانبهتمامیفرضیههااحتمالیکسانینسبتداد. • = P(D) احتمالاولیهایکهدادهآموزشیDمشاهدهخواهدشد. • = P(D|h) احتمال مشاهدهدادهآموزشیDبهفرضآنکهفرضیهhصادقباشد. • دریادگیریماشینعلاقمندبه دانستنP(h|D)یعنیاحتمالاینکهبامشاهدهدادهآموزشیDفرضیهhصادقباشد،هستیم.اینرابطهاحتمالثانویه(posterior probablity)نامیدهمیشود. • توجهشودکهاحتمالاولیهمستقلازدادهآموزشیاستولیاحتمالثانویه تاثیردادهآموزشیرامنعکسمیکند.
تئوریبیز • همانطورکهمشاهدهمیشودباافزایشP(D)مقدارP(h|D)کاهشمییابد.زیراهرچهاحتمالمشاهدهDمستقلازhبیشترباشد،بهاینمعناخواهدبودکهDشواهدکمتریدرحمایتاز h دربردارد.
Maximum A Posteriori (MAP) hypothesis • درمسایلیکهمجموعهایازفرضیههایHوجودداشتهوبخواهیممحتملترینفرضیه راازمیانآنانانتخابکنیم،فرضیهباحداکثراحتمالMaximum A Posteriori (MAP) hypothesisنامیدهمیشودوازرابطهزیربدستمیآید. دراینرابطهP(D) یک مقدار ثابت مستقلاز h بودهوحذفمیشود.
Maximum likelihood (ML) hypothesis • درمواقعیکههیچاطلاعیدرموردP(h) وجودنداشتهباشدمیتوانفرضکردکهتمامفرضیههایHدارایاحتمالاولیهیکسانیهستند.دراین صورتبرایمحاسبهفرضیهباحداکثراحتمالمیتوانفقطمقدارP(D|h)رادرنظرگرفت.اینمقدارlikelihood دادهDبافرضhنامیدهمیشودوهرفرضیهایکهمقدارآنراماکزیممکندفرضیهMaximum Likelihood (ML)نامیدهمیشود:
مثال: تشخیصبیماری • دریکمسئلهتشخیصبیماریبادوفرضیهروبروهستیم: -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
مثال: تشخیصبیماری • P(cancer|+) + P(~cancer|+) = 1 • 0.0078 / P(+) + 0.0298 / P(+) =1 • P(+) = 0.0078 + 0.0298 = 0.0376 • احتمالابتلایبیماربهسرطانعبارتاستاز: P(cancer|+) = 0.0078 / P(+) = 0.21 • احتمالنداشتنسرطانعبارتاستاز: P(~cancer|+) = 0.0298 / P(+) = 0.79
Brute-force MAP Learning • میتوانبااستفادهازتئوریبیزیالگوریتمیبراییادگیریمفهومارائهنمودکهبتواندفرضیهبابیشتریناحتمالرابدستدهد: Brute-force MAP Learning Algorithm • برایهرفرضیهhموجوددر Hمقداراحتمالثانویهراحسابمیکنیم. • فرضیهhMAPراکهبیشتریناحتمالثانویهراداردمشخصمیکنیم.
دستهبندیکنندهبیزیبهینه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) = - , P(h3) = - • دراین صورتاحتمالمثبتبودنxبرابربا0.4واحتمالمنفیبودنآن0.6استدراین صورتدستهبندیxچیست؟
دستهبندیکنندهبیزیبهینهBayes Optimal Classifier • درعملمحتملترین دستهبندی براییکنمونهجدیدازترکیبوزنیپیشبینیتمامیفرضیههابدستمیآید. اگردستهبندی مثالجدیدبتواندهرمقدارvjازمجموعهVرا داشتهباشددراین صورتاحتمالاینکهمثالجدیددستهبندیvjراداشتهباشدبرابراستبا: • مقدارماکزیممرابطهفوقدستهبندی بهینهایننمونهرامشخصخواهدنمود: Bayes Optimal Classification
دستهبندی بهینهOptimal Classification • برایمثالفوقدستهبندی بهینهبیزیبه صورت زیرخواهدبود. P(h1|D) = 0.4 P(-|h1) = 0 P(+|h1) = 1 P(h2|D) = 0.3 P(-|h2) = 1 P(+|h2) = 0 P(h3|D) = 0.3 P(-|h3) = 1 P(+|h3) = 0 • لذا Σ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محاسبهمیشود: اینرابطهبااستفادهازتئوریبیزبه صورت روبرونوشتهمیشود:
Naive Bayes Classifier • دررابطهفوقمقدارP(vj)باشمارشدفعاتیکهvjدرمثالهایآموزشیمشاهدهشدهاستمحاسبهمیشود. • امامحاسبهP(a1,…,an | vj)چندانعملینیستمگراینکهمجموعهدادهآموزشیبسیاربسیاربزرگیدردستباشد. • روشیادگیریNaive BayesClassifierبرپایهاینفرضساده(Naive)عملمیکندکه: مقادیرویژگیهابه صورت شرطیمستقلهستند • دراین صورتبراییکمقدارهدفمشخصاحتمالمشاهده ترکیبعطفی(a1,…an) برابراستبا حاصلضرباحتمالتکتکویژگیها. دراین صورترابطهفوقبه صورت زیردرمیآید: Naive Bayes Classifier
Naive Bayes Classifier خلاصه: • درروشیادگیری Naive BayesClassifierمقادیرمختلف P(vj) وP(ai| vj) بااستفادهازدفعاتتکرارآنهاتخمینزدهمیشود. • مجموعهاینتخمینهافرضیهایراتشکیلمیدهدکهبااستفادهازرابطهزیربرایدستهبندی دادهجدیدبکارمیرود: • دراینروشهیچگونهعملجستجویآشکاریدر فضای فرضیه وجودندارد.
مثال • اعمالدستهبندیکنندهسادهبیزیبهمسئلهدستهبندی روزهابراساساینکهبازیتنیسدرآنانجامخواهدشدیانه؟ • دادههایاینمثالدرجدولزیرنشاندادهشدهاست:
مثال • میخواهیمبااینروشدستهمثالزیررامشخصکنیم: x:(Outl=Sunny, Temp=Cool, Hum=High,Wind=strong) • بااعمالرابطهدستهبندیکنندهسادهبیزیداریم: • برایمحاسبهاینمقداربایدتعداد 10 مقداراحتمالراتخمینبزنیم.
مثال • اینکارباشمارشدفعاتتکراردرمثالهایآموزشیانجاممیشود:
تخمینمقادیراحتمال • درمثالقبلمقداراحتمالاتبراساسنسبتتعدادمشاهدهشدهیکمقداربهتعدادکلحالاتممکنمحاسبهگردیدnc/n • اگرچهاینمقدارمشاهدهشدهمیتواندتخمینخوبیازمقداراحتمالباشد،با اینوجوداگرمقدارnc خیلیکوچکویاصفرباشدمیتواندمنجربهنتایجغلطیشود. • اگربرایدستهvjمقدارaiهرگز مشاهدهنشود، مقدارP(ai|vj)=0شدهودرنتیجهکلحاصلضربصفرخواهدشد.برایجلوگیریازاینمشکلازروشیبهنامm-estimateاستفادهمیشود. • کهدرآنncوnهمانمقادیرقبلیبودهوpتخمیناولیهازمقداراحتمالیاستکهبه دنبالآنهستیموm یک مقدار ثابت و تعدادمثالهایمجازیاست.معمولامقدارpبه صورت یکنواختدرنظرگرفتهشدهوبرابرباp = 1/kدرنظرگرفتهمیشودکهkتعدادمقادیرممکنبرایویژگیهاست. در حقیقتm یک وزنی برای احتمالp است. m-estimate of probablity
دستهبندی متن مثالهائیازدستهبندی متن: • تعیینمقالههایموردعلاقه یکشخص. • دستهبندی صفحاتوببراساسموضوع. برایچنینکاربردهائیدستهبندیکنندهسادهبیزیمیتواندبسیارموثر عملکند .اگرچهدرعملشرطاستقلالویژگیهابرقرارنیست. ) مثلااحتمالدیدنکلمهماشینبعداز کلمهیادگیریزیاداست(
دستهبندی متن درطراحییکراهحلبرایچنینمسئلهای بادونکتهمواجههستیم: • تصمیمگیریدرمورداینکهیکمتندلخواهراچگونهبه صورت مقادیرویژگینشاندهیم. • تصمیمگیریدرمورداینکهمقادیراحتمالموردنیازراچگونهتخمینبزنیم.
نشاندادنمتنبه صورت مقادیرویژگی • دوراهبرایاینکارامتحانشدهاست: • موقعیتهرکلمهدرمتنبه صورت یکویژگیدرنظرگرفتهمیشود.مثلامتنیکه 100 کلمهدارددارای 100 ویژگینیزخواهدبود. مقدار هر ویژگی یک کلمه است. • هرکلمهموجوددرفرهنگلغاتبهعنوانیکویژگیدرنظرگرفتهشده) حدود (50000 وتعدادتکرارآنهادرمتنشمارشمیشود. فرض کنیم در ابتدا از روش اول استفاده شده است.
نمایشمتن • درروشاولهرمتنبهبرداریازکلماتتبدیلشدهوبازایموقعیت هرکلمهیکویژگینسبتدادهمیشود.کهمقدارآنویژگیبرابربا آنکلمهخواهدبود. doc = (a1=w1, ai=wk, … , an=wn) • برایمثالفرضکنیدکهازتعداد1000متنآموزشیتعداد700متنبه صورتdislike و300متنبه صورتlike دستهبندی شدهباشند.دراین صورتبرایدستهبندی یکمتنجدیدبا111کلمهمیتوانرابطهدستهبندیکنندهسادهبیزیرابه صورت زیربکاربرد:
یکاشکالاساسی • استفادهازفرضاستقلالبیزیدراینمثال به وضوحغلطاستیعنینمیتوانفرضکرد کهاحتمالبودنیککلمهدریکمحلمستقلازکلماتیاستکهدرسایرمحلهاقرارگرفتهاند. بااینوجودچونچارهدیگرینداریمناگزیرازاستفادهازاینفرضهستیم. درعملنشاندادهشدهکهعلیرغماینفرضنادرست،استفادهازدستهبندیکنندهبیزیسادهنتایجخوبیداشتهاست.
محاسبهمقادیر احتمال • برایمحاسبهP(vj)تعدادهرکلاسدر دادهآموزشیشمارشمیشود. • محاسبهP(ai=wk|vj)(در اینجا wk لغت kام از فرهنگ لغت است.) بسیار سخت است. • زیرا باید برای تمام ترکیباتممکن از موقعیتهای کلمات فرهنگ لغت این احتمال تخمین زده شود. که برای این مثال باید 2*111*50,000 تقریبا معادل با 10,000,000 احتمال از روی مجموعه دادههای آموزشی تخمین زده شود، کهعملیناشدنیاست.
محاسبهمقادیر احتمال • ازاینرودرعملفرضمیشودکهاحتمالمشاهدهیککلمه مشخصwkمستقلازمحلقرارگرفتنآنباشد. • به عبارتدیگرکلمجموعهP(a1=wk|vj), P(a2=wk|vj),... باP(wk|vj) تخمینزدهمیشود،که در این حال فقط باید 2*50,000احتمالمحاسبهشود. • همچنینبرایمحاسبهمقداراحتمالازروشm-estimateاستفادهخواهدشد.
الگوریتمدستهبندی CLASSIFY_NAIVE_BAYES_TEXT ( Doc) Return the estimated target value for the document Doc. ai denotes the word found in the ith position within Doc. • positions all word positions in Doc that contain tokens found in Vocabulary • Return vNB, where vNB = argmax vj in V P( vj)Pi in positions P( ai| vj)
نتایجتجربی:یادگیری گروههای خبری • هدف:تعیناینکهیکمقالهموردبررسیبهکدامیکاز 20 گروهخبریnews groupزیراختصاصدارد: • دادهآموزشی:تعداد 1000 متنبههمراهگروهخبریمربوطه. • نتیجهدستهبندی: 89% دقتدردستهبندی حاصلگردید. دراینمثال 100 کلمهمتداولنظیر the ازمجموعهلغاتحذفشدهاست.همچنینکلماتیکهتعدادتکرارآنهااز 3 کمتربودهنیزحذفگردیدهاست. درمجموعتعداد 38500 کلمهدرلغتنامهوجودداشتهاست.
خلاصه از نگرشبیزیبهیادگیریماشین نگرشبیزیبهیادگیریماشین) ویاهرفراینددیگر(به صورت زیراست: • دانشموجوددربارهموضوعرابه صورت احتمالاتیفرمولهمیکنیم. • برایاینکارمقادیرکیفیدانشرابه صورت توزیعاحتمال،فرضیاتاستقلالوغیرهمدلمینمائیم. اینمدلدارایپارامترهایناشناختهایخواهدبود. • برایهریکازمقادیرناشناخته،توزیعاحتمالاولیهایدرنظرگرفتهمیشودکهبازگوکنندهباورمابه محتملبودنهریکازاینمقادیربدوندیدنداده است. • دادهراجمعآوریمینمائیم. • بامشاهدهدادههامقدارتوزیعاحتمالثانویهراتخمینمیزنیم. • بااستفادهازایناحتمالثانویه: • بهیکنتیجهگیریدرموردعدمقطعیتمیرسیم. • بامیانگینگیریرویمقادیراحتمالثانویهپیشبینیانجاممیدهیم. • برایکاهشخطایثانویهموردانتظارتصمیمگیریمیکنیم.