هوش مصنوعی-الگوریتم بیز 1- ابراهیم خلیلی

الگوریتم بیز 1 الگوریتم بیز 1 اصلاً چرا باید الگوریتم بیز رو بخونیم و یاد بگیریم؟! این الگوریتم چه جایگاهی در هوش مصنوعی و یادگیری ماشین داره؟

هوش مصنوعی-الگوریتم بیز 1- ابراهیم خلیلی

سلام به همه بچه‌های علاقمند به کامپیوتر و برنامه‌نویسی و هوش مصنوعی. همانطور که میدونین روز به روز دنیای هوش مصنوعی داره وسیعتر میشه و به حوزه مختلف از علوم راه یافته است. ما تصمیم داریم هر هفته با یک مقاله در این حوزه، شمارو با رویداد های دنیای هوش مصنوعی آشنا کنیم و مهمتر اینکه ریاضیات این حوزه رو با ساده سازی به شما دانش آموزان عزیز کانونی توضیح بدیم. در نهایت بتونیم قدم به قدم به کد نویسی در محیط پایتون برای مسئله های جذاب هوش مصنوعی برسیم. پیشنهاد میکنم هر هفته مارو با یک مقاله در این حوزه دنبال کنید.

 ما در مطلب قبلی شما رو به طور کلی با انواع الگوریتم‌های موجود در یادگیری ماشین (Machine learning) آشنا کردیم. در این مطلب قصد داریم یک الگوریتم مهم به نام بیز رو که به یادگیری نظارت شده تعلق داره براتون معرفی کنیم. پس قبل هر چیز اگه مطلب قبلی ما رو نخوندید به لینک مراجعه کنید سپس مطلب حاضر رو شروع کنید.


مقدمه

اصلاً چرا باید الگوریتم بیز رو بخونیم و یاد بگیریم؟! این الگوریتم چه جایگاهی در هوش مصنوعی و یادگیری ماشین داره؟

بچه‌ها بیزِ ساده (Naïve Bayes) یک الگوریتم طبقه‌بندی (Classification) است که مربوط میشه به یادگیری نظارت شده در یادگیری ماشین. همونطور که قبلاً گفتیم ما یه سری ویژگی‌ها به ماشین میدیم و اونها رو تحت یه برچسب مشخص میکنیم. فرض کنید به ماشین یاد دادیم که اگر جسمی استوانه‌ای شکل و شیشه‌ای در یک تصویر باشه اون جسم یک برجه. و اگه جسم گنبدی شکل باشه برچسبش مسجده. حالا ماشین به کمک الگوریتم بیز هر جسمی رو که بر اساس ویژگی‌هاش بیشتر احتمال داره برج یا مسجد باشه طبقه‌بندی میکنه. خلاصه اینکه فرمول احتمالات بیز در حدس زدن صحیح و طبقه‌بندی درست به ماشین کمک میکنه. این فرمول رو توماس بیز، ریاضیدان انگلیسی، ابداع کرد.

این هفته شما رو با مقدمات الگوریتم بیز آشنا میکنیم و سپس در هفته‌های آتی به خود الگورتیم خواهیم پرداخت.


معادله احتمال شرطی

برای اینکه بتونیم فرمول بیز رو بهتر درک کنیم، باید پیش از اون احتمال شرطی رو بلد باشیم. فرض کنید ما دو تا جعبه داریم و یه سری مهره‌های رنگارنگ توش داریم. یکی از مهره‌ها رو از یکی از جعبه‌ها بیرون میکشیم و میبینیم سفیده. اسم این مهره سفید رو A میذاریم. حالا سوال میکنیم که چقدر احتمال داره A رو از جعبه یک برداشته باشیم و چقدر احتمال داره از جعبه دو برداشته باشیم. یعنی A به شرط B1 (جعبه یک). این احتمال رو بهش میگیم احتمال شرطی. ما در مثالمون احتمال وقوع A رو به شرطی که B وجود داشته باشه بررسی کردیم. حالا همین رو به زبان ریاضی نشون میدیم و میشه فرمول احتمال شرطی.

 
 هوش مصنوعی-الگوریتم بیز 1- ابراهیم خلیلی

 

بعد از مساوی ما یه کسر ساده داریم. این کسر به زبان فارسی این میشه. اگر ما احتمالِ اشتراک A و B رو در نظر بگیریم و تقسیم بر احتمال B بکنیم طبیعیه که احتمال A رو به دست میاریم.

تا اینجا ما فرمول احتمال شرطی رو توضیح دادیم. بریم یه مثال بزنیم تا فرمول بهتر جا بیفته.

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

سیاه    سفید    

1    4    الف

3    2    ب

 

ما در فرمول میاییم احتمال رخ دادن الف رو در نظر میگیریم به شرطی که سفید بوده باشه. بعد میاییم احتمال سفید بودن و الف بودن رو تو صورت کسر قرار میدیم و تقسیم میکنیم به احتمال خود سفید. احتمال اینکه محصول سفید و الف باشه 4 تا است و کلاً 10 تا محصول داریم که تقسیم میشه. سپس میاییم به مخرج کسر و احتمال سفید بودن رو به دست میارییم. به این صورت که کلا 6تا سفید داریم و 10تا محصول که دوباره تقسیم میکنیم و نتیجه رو به دست میاریم.

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

محاسبه احتمال بر اساس افراز

اگر فضای نمونه رو بر اساس رخداد یا عدم رخداد پیشامد B تفکیک کنیم به این صورت در میاد:

 

برای به دست آوردن A میتونیم دو حالت در نظر بگیریم. یا پیشامد B رخ داده (B) یا رخ نداده (’B ). با این کار ما فضای نمونه رو به B و ’B  افراز کردیم. منظور از ’B  حالتیه که در اون B رخ نداده است. 

جامعه ایران رو در نظر بگیرید. ما این جامعه رو با امگا (Ω) نشون میدیم. این جامعه به یک سری شهر تقسیم میشه مثلا تهران، مشهد، تبریز، اردبیل و ... . در این مثال به تقسیم کردن ایران به شهرهای مختلف رو افراز ایران میگیم. این شهرها کاملاً با هم ناسازگارند به این معنی که هر کدوم ویژگی‌های خاص خودشون رو دارن و نمیشه اونارو یکی گرفت. اگر بخواهیم همین مثال رو به زبان ریاضی بگیم اینجوری میشه. یک پیشامد B (که کل شهرها باشه) زیر مجموعه‌هایی مثلِ B_1، B_2 و ... B_n به طوری که این پیشامدها دو به دو ناسازگارند و اجتماع آنها مجموعه B رو میسازه. به زبان ریاضی:

Bi∩Bj=∅,      i≠j

یعنی اشتراک  Bها تهی است یا به عبارت دیگه هیچ اشتراکی ندارند و هر B ناسازگار با B دیگر است. همچنین:

به این معنی که B_iها i از 1 تا n است و اجتماع اونها کل B رو میسازه. در این حالت میگیم B_iها یک افراز روی B ایجاد می‌کنند.

حالا فرض کنید B و ’B  یه افراز بر روی مجموعه Ω بسازن. در این صورت احتمال پیشامد A به زبان ریاضی به این شکل بدست میاد:

 

یعنی احتمال A مساوی است با احتمال A اشتراکش با Ω که برابر است با احتمال A اشتراکش با اجتماعِ B و B’ (چون امگا مجموع B و B’ است) که اگه A رو ضرب در داخل پرانتز کنیم میشود احتمال A اشتراکش با B بعلاوه‌ی احتمال A اشتراکش با B’. 

خب از فرمول احتمال شرطی می‌دونیم که : 

P(A∩B)=P(A|B)P(B)

پس با جایگذاری فرمول اصلیِ احتمال شرطی در معادله بالا، معادله زیر به دست میاد.

حالا اگه بخواییم همین معادله رو به صورت کلی بنویسیم که کل افرازمون (B و B’) رو در بربگیره طوری که از B_1  تا B_n افراز روی Ω باشند خواهیم داشت: 

   

یعنی P(A) برابر است با مجموع  P(A) به شرط B_i در P(B_i) به ازای ⅈ=1 تا n. که شکل معادله همینیه که در پایین آوردیم.

با یه مثال مطلب بهتر جا میفته.

فرض کنیم سه تا جعبه داریم که در اولی (B_1) دو مهره سفید و یک مهره قرمز، و در دومی (B_2) یک مهره قرمز و یک مهر سفید، و در سومی (B_3) سه مهره قرمز و دو مهره سفید داریم.

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

یعنی احتمال B_1 و B_2 و B_3 برابر است با 1/3 . و رابطه به این صورت نوشته میشه: 



یعنی احتمال اینکه A یا همون مهره سفید بیرون بیاد به شرط اینکه B_1 وجود داشته باشه 2/3است و احتمالA به شرط B_2 برابر است با 1/2 و احتمال A به شرط B_3 برابر است با 2/5 .

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

 


بچه‌های عزیز تا اینجا ما هر آنچه رو کهلازم بود پیش از الگوریتم بیز یاد بگیرید توضییح دادیم. این مطلبمون رو دقیق بخونید تا هفته بعد بریم سراغ الگوریتم جذاب بیز.

منابع:

    A Gentle Introduction to Bayes Theorem for Machine Learning (machinelearningmastery.com)

    Https://blog.faradars.org/bayesian-theorem/ 

    Https://www.youtube.com/watch?v=N2x_ZjBG5vo

لینک مقاله اول : هوش مصنوعی

لینک مقاله دوم: انواع الگوریتم یادگیری ماشین

پیج رتبه برترهای کانون

Menu