یادگیری بیزی 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‬‬
‫‪hH‬‬
‫)‪P ( D | h) P ( h‬‬
‫‪ arg max‬‬
‫)‪P( D‬‬
‫‪hH‬‬
‫)‪ arg max P( D | h) P(h‬‬
‫در این رابطه مقدار )‪P(D‬مستقل از ‪h‬‬
‫بوده و حذف میشود‬
‫‪hH‬‬
‫‪MAP‬‬
‫)‪Maximum likelihood (ML‬‬
‫‪hypothesis‬‬
‫‪‬‬
‫در مواقعی که هیچ اطالعی در مورد )‪P(h‬وجود نداشته باشد‬
‫میتوان فرض کرد که تمام فرضیه های ‪ H‬دارای احتمال اولیه‬
‫یکسانی هستند ‪.‬در اینصورت برای محاسبه فرضیه با حداکثر‬
‫احتمال میتوان فقط مقدار )‪ P(D | h‬را در نظر گرفت ‪.‬این‬
‫مقدار ‪ liklihood‬داده ‪ D‬با فرض ‪ h‬نامیده میشود و هر‬
‫فرضیه ای که مقدار آنرا ماکزیمم کند فرضیه ‪maximum‬‬
‫)‪liklihood (ML‬نامیده میشود‪:‬‬
‫)‪hML=argmaxhH 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‬‬
‫‪hiH‬‬
‫‪‬‬
‫‪P (v j | D ) ‬‬
‫مقدار ماکزیمم رابطه فوق دسته بندی بهینه این نمونه را‬
‫مشخص خواهد نمود‪:‬‬
‫‪Bayes Optimal Classification‬‬
‫)‪ P(v j | hi ) P(hi | D‬‬
‫‪hiH‬‬
‫‪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‬‬
‫‪‬‬
‫‪nm‬‬
‫که در آن ‪ 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 ‫تکرار آنها از‬
.‫است‬
‫منحنی یادگیری‬