منبع اصلی این پست، دوره آمار و احتمال مهندسی دکتر علی شریفی زارچی از آکادمی مکتبخونه میباشد. لطفاً برای حفظ حقوق منتشر کننده اصلی، ویدیوهارو از منبع اصلی دنبال کنید. همچنین، در انتهای هر جلسه، به ویدیو مربوط به آن جلسه ارجاع داده شده است.
سعی کردم هرچیزی که از ویدیوها فهمیدم رو به صورت متن در بیارم و در این پلتفورم با بقیه به اشتراک بذارم. کل ویدیوها 27 تاست که سعی میکنم هفتهای یک الی دو جلسه رو منتشر کنم. تا جایی که تونستم سعی کردم خوب و کامل بنویسم، اما اگر جایی ایرادی داشت، حتما تو کامنتها بهم بگید تا درستش کنم.
پیشنهاد میکنم قبل از خوندن ادامه مطلب، یک کاغذ و قلم جلو دستتون باشه تا بتونید روابط ارائه شده رو در جاهایی که لازم هست برای خودتون تو کاغذ بنویسید و محاسبات لازم رو خودتون هم انجام بدین تا بهتر متوجه بشید که در هر مرحله چه اتفاقی میفته.
توجه: در ادامه این پست منظور از A' و 'A متمم مجموعه A و منظور از B' و 'B متمم مجموعه B است.
در مورد احتمال شرطی توضیح دادیم و یکی دو تا مثال ازش حل کردیم. در مورد قاعده بیز توضیح دادیم که خیلی کاربردی هست و در خیلی از مواقع به کارمون میاد.
احتمال شرطی:
P(A | B) = P(A ∩ B) / P(B)
قانون بیز:
P(A | B) = (P(B | A) P(A)) / P(B)
قانون زیر رو هم بررسی کردیم:
اگر Ω به مجموعههای B1، B2، B3 و ... افراز شده باشد و مجموعه A به صورت زیر در آن قرار داشته باشد:
احتمال A برابر است با:
P(A) = ∑ P(A | Bi) P(Bi)
به این قانون، قانون احتمال کل (Total Probability) گفته میشه.
میدونیم که اجتماع همه Bi ها برابر هست با امگا:
Ω = U Bi
از طرفی A هم میشه به صورت زیر تعریف بشه:
A = A ∩ Ω
حالا اگه بیایم امگا رو از رابطه بالاتر جایگزین کنیم خواهیم داشت:
A = A ∩ (U Bi) = U (A ∩ Bi)
چون میدونیم Bi ها از هم جدا هستن، پس A ∩ Bi ها هم از هم دیگه جدا هستن، پس احتمال رابطه بالا میشه:
P(A) = P(U (A ∩ Bi))
حالا، چون A ∩ Bi ها هم از هم دیگه جدا هستن، با استفاده از اصل سوم Axioms میشه استفاده کرد و خواهیم داشت:
P(A) = ∑ P(A ∩ Bi) = ∑ P(A | Bi) P(Bi)
با طرح یک مسئله جواب میدیم. فرض کنید دو نوع سکه داریم. نوع اولش سالمه، نوع دومش مشکل داره. اگه بخوایم یه جدول تشکیل بدیم به صورت زیر میشه:
حالا سوال اینه: از بین این دو تا سکه، یکی از سکههارو به صورت تصادفی انتخاب میکنیم و 4 بار پرتاب میکنیم. احتمال اینکه با سکه اول 3 بار پشت بیاید چقدر است؟
برای سادهتر شدن صورت مسئله اینطور در نظر بگیرید: فرض کنید سکه نوع اول رو انتخاب کردیم و 4 بار پرتاب کردیم، احتمال اینکه 3 بار پشت بیاد چقدر میشه؟
میشه جواب رو به صورت زیر نوشت. برای اینکه واضح بشه که چجوری محاسبات انجام شده سطر چهارم رو توضیح میدم. قراره 4 بار یک سکه از نوع اول رو بندازیم و احتمال اینکه 3 بار پشت بیاد رو حساب کنیم. اول اینکه هر دفعه از بین 4 تا سکه، 3 تا سکه مختلف میتونن پشت بیان، پس میشه انتخاب 3 از 4. بعد، هر کدوم از سکهها که پشت اومدن احتمالشون 1/2 هست. چون 3 تا پشت قراره بیاد پس میشه 1/2به توان 3. یک سکه هم رو میاد، پس میشه 1/2 به توان 1. در نهایت جواب میشه 1/4.
حالا همین جدول بالا رو برای سکه نوع دوم میخوایم تشکیل بدیم:
حالا برگردیم به صورت مسئله اصلی که بالاتر مطرح کردیم. یکی از دو نوع سکه رو به صورت تصادفی انتخاب کردیم، 4 بار انداختیم و 3 بار دقیقاً پشت اومده. چقدر احتمال داره سکه اولی باشه و چقدر احتمال داره سکه دومی باشه؟
برای جواب به این سوال بیایم اول رویدادهایی که داریم رو مشخص کنیم:
A = رویداد آنکه سکه پرتاب شده از نوع اول باشد
B = رویداد آنکه سکه پرتاب شده از 4 بار 3 بار پشت بیاید
احتمال A و B به شرط A رو هم میدونیم:
P(A) = 1/2
P(B | A) = 1/4
از طرفی دیگه میدونیم اگه سکه از نوع دوم باشه و تو 4 بار پرتاب 3 بار پشت بیاد چقدر میشه:
P(B | A') = (3/4)^3
الان چیزی که دنبالش هستیم P(A | B) هست. یعنی احتمال 3 بار پشت اومدن در 4 بار پرتاب، به شرط اینکه سکه از نوع اول باشد. طبق قانون بیز خواهیم داشت:
P(A | B) = (P(B | A) P(A)) / P(B)
P(A | B) = (P(B | A) P(A)) / (P(B | A) P(A) + P(B | A') P(A'))
P(A | B) = (1/4 * 1/2) / (1/4 * 1/2 + (3/4)^3 * 1/2) = (1/8) / (2^4/2^7 + 27/2*7)
P(A | B) = (1/8) / (2^4/2^7 + 27/2*7) = (1/8) / (43/128) = 16/43
احتمال اینکه سکه از نوع اول باشه میشه 16/43 و احتمال اینکه سکه از نوع دوم باشه میشه 27/43.
اگر فضای نمونه Ω به B1، B2 و ... افراز شده باشد، داریم:
P(Bi | A) = (P(A | Bi) P(Bi)) / ∑P(A | Bj) P(Bj)
مخرج برابر با P(A) است.
در ادامه یک الگوریتم اولیه ماشین لرنینگ رو برای پردازش تصویر که پایه و اساسش قانون بیز هست بررسی میکنیم.
فرض کنید هدف این هست که از تصاویر داده شده بهمون، بخوایم اعداد رو شناسایی کنیم. یعنی یه تعدادی تصویر داریم، تو هر کدوم هم یک عدد نوشته شده و هدف اینکه اون عدد رو شناسایی کنیم. اول کاری میان یک سری فیچر در میارن. مثلاً فرض کنید یکی از ویژگیها تعداد شکستگیها باشه، یا یک ویژگی تعداد نقاط شروع و پایان باشه، یا یک ویژگی تعداد انحناها باشه و همینطور الی آخر. همین چیزایی که گفتیم رو اگه بخوایم در قالب یک جدول نشون بدیم، به صورت زیر میشه:
خلاصه، الگوریتم شماره یک پردازش تصویر به این صورت بوده که یک سری فیچر تعریف میکنن و اون فیچرهارو برای هر عدد مختلف میشمرن و یک جدولی تشکیل میدن و فیچرهایی که در تصویر ورودی باشه هرچقدر به یکی از عددها نزدیکتر باشه، همون رو بعنوان خروجی میدن.
الگوریتم شماره دو پردازش تصویر که کمی بهتره به این صورت هست که اگر بیایم یک مجموعه 1000 تایی داشته باشیم از رقمهای صفری که دیگران نوشتن، یا یک مجموعه 1000 تایی داشته باشیم از رقمهای یکی که دیگران نوشتن و همینطور الی آخر ...، میتونیم بیایم به جای اینکه تعداد فیچرهارو بشماریم، از احتمال اونها استفاده کنیم. مثلاً تو این حالت به جای اینکه بیایم بگیم رقم 0 چند تا ویژگی شماره 1 رو داره، میایم میگیم رقم 0 تو این 1000 تا نمونه با چه احتمالی ویژگی شماره 1 رو داره.
برای مثال در تصویر بالا، تو 1 عکس از 1000 تا عکسی که از رقم 0 توش وجود داشته، گوشه تیز تو رقم 0 مشاهده شده. یا اینکه همه 1000 تا تصویر همشون گوشههای منحنی داشتن. (برای راحتتر شدن نیومده تعداد در نظر بگیره، فقط نگاه کرده هر فیچر رو تو چه تعداد عکسی داریم یا نداریم.)
حالا، مثلاً میان یه عددی رو تو ورودی در قالب یک تصویر بهمون میدن. میایم حساب میکنیم که هر کدوم از ویژگیهارو داره یا نداره و هدف اینکه احتمال اینکه رقم داده شده کدوم رقم بین 0 تا 9 میتونه باشه رو حساب کنیم. مثلاً فرض کنید عکسی که بهمون تو ورودی دادن یه جورایی شبیه 8 هست، ولی ما هدفمون اینکه ببینیم با چه احتمالی عدد داده شده 0 هست یا 1 هست یا 2 هست و ... .
حالا، اگر تصویر داده شده رو با رویداد A مشخص کنیم، P(B0 | A) چی رو نشون میده؟ این رو نشون میده که تصویر داده شده در ورودی چقدر از رقم 0 اومده باشه. میتونیم مقدار P(Bi | A) رو محاسبه کنیم برای i های 0 تا 9 و در نهایت مقداری که برای P(Bi | A) برای هر رقمی که از همه بیشتر بشه، میگیم که تشخیص دادیم تصویر ورودی متناظر با چه عددی هست. به این روش یه جورایی یادگیری به روش بیز گفته میشه.
حالا، میایم برای نمونه توضیح میدیم که چجوری P(B0 | A) رو میشه حساب کرد.
طبق فرمولی که بالاتر گفتیم، خواهیم داشت:
P(B0 | A) = (P(A | B0) P(B0)) / ∑P(A | Bj) P(Bj)
حالا چجوری بیایم P(A | B0) رو حساب کنیم؟ فرض کنید جدول زیر رو برای B0 تشکیل دادیم. جدول زیر داره نتیجه پردازش دیتاستمون رو رقمهای 0 رو نشون میده. 3 تا فیچر داریم و 8 تا حالت به وجود میاد. جدول زیر داره میگه که تو این 1000 تا نمونهای که داشتیم، مثلاً به احتمال 0.02 فیچرهای عدد 0 به صورتی هست که فیچر اول رو داره، ولی فیچرهای دوم و سوم رو نداره.
جدول بالا چه کمکی بهمون میکنه؟ اگه تصویر ورودی به صورتی باشه که مثلاً فیچرهای رقم 0 در اون به صورتی باشن که ویژگی اول رو داشته باشن و ویژگی دوم و سوم رو نداشته باشن، میتونیم از رو جدول مقدار P(A | B0) رو محاسبه کنیم و برابر میشه با 0.02.
حالا، P(B0) یعنی چی؟ داره میگه تو اون 1000 تا نمونه کلا چند بار از رقم 0 استفاده شده. یعنی احتمال نوشته شدن رقم 0 هست.
مخرج رو هم میشه مثل مراحلی که برای رقم 0 توضیح داده شد، برای ارقام 0 تا 9 به دست آورد و جمع زد.
با توجه به همه توضیحاتی که ارائه شد، میشه الان خیلی راحت مقدار P(Bi | A) رو محاسبه کرد.
در قالب یک مثال مفهوم استقلال و وابستگی دو رویداد بهم رو میخوایم بررسی کنیم.
میخوایم این رو بررسی کنیم که آیا جنسیت بچه اول و بچه دوم نسبت بهم وابسته است یا از هم مستقل هستند؟
فرض کنید 1000 تا خانواده رو که دو تا بچه دارن در نظر گرفتیم و تعداد و جنسیت بچهها به صورت زیر هست:
رویدادهایی که داریم به شرح زیر هست:
A -> بچه اول دختر باشد
B -> بچه دوم دختر باشد
A' -> بچه اول پسر باشد
B' -> بچه دوم پسر باشد
حالا در چه صورتی میگیم دو رویداد A و B از هم مستقل هستند؟ در صورتی که داشتن اطلاعات در مورد رویداد اول، تاثیری در احتمالات رویداد دوم نذاره. یعنی اگه بدونیم فرزند اول جنسیتش چی هست، تاثیری نذاره در اینکه جنسیت فرزند دوم چی باشه.
اگه بخوایم تعریف دقیقتری ارائه بدیم، به این صورت میشه: رویداد A و B مستقل از هم هستند، اگر یکی از این دو شرط برقرار باشد:
شرط اول:
P(B | A) = P(B)
P(A | B) = P(A)
شرط دوم:
احتمال یکی 0 باشد.
حالا، برگردیم به مثالی که بالاتر داشتیم. فرض کنید جدول به صورت زیر باشه و احتمال هر چهار حالت برابر با 1/4 باشه:
تو این حالت P(B) چقدر میشه؟ یعنی احتمال اینکه بچه دوم دختر باشه. میشه 1/4 + 1/4 = 1/2.
احتمال P(B | A) چقدر میشه؟
P(B | A) = P(B ∩ A) / P(A) = (1/4) / (1/2) = 1/2
احتمال P(B ∩ A) داره میگه احتمال این رو بگو که هم فرزند اول دختر باشه هم فرزند دوم. حالا، چون رابطه زیر برقراره P(B) = P(B | A) پس دو رویداد A و B از هم مستقل هستند.
حالا، فرض کنید از 1000 تا خانواده آمار گرفتیم و به اعداد زیر رسیدیم. آیا تو این حالت هم دو رویداد A و B از هم مستقل هستند؟
میتونیم محاسبه کنیم. اول مقدار P(B) رو حساب کنیم.
P(B) = 1/8 + 3/8 = 1/2
حالا بریم سراغ محاسبه P(B | A):
P(B | A) = P(B ∩ A) / P(A) = (1/8) / (1/8 + 1/8) = (1/8) / (2/8) = 1/2
تو این مثال هم دو رویداد A و B از هم مستقل هستند.
حالا اگه نمونههامون به صورت زیر باشه، اون موقع چه اتفاقی میفته؟ آیا باز هم دو رویداد A و B از هم مستقل هستند؟
محاسبات رو انجام بدیم:
P(B) = 1/8 + 1/8 = 1/4
P(B | A) = P(B ∩ A) / P(A) = (1/8) / (1/8 + 3/8) = (1/8) / (4/8) = 1/4
تو این مثال هم دو رویداد A و B از هم مستقل هستند.
حالا، مثال رو به صورتی میخوایم تغییر بدیم که دو رویداد A و B از هم مستقل نباشن. دادههامون به صورت جدول زیر هست:
محاسبات رو اینجا هم انجام میدیم:
P(B) = 1/10 + 3/10 = 4/10
P(B | A) = P(B ∩ A) / P(A) = (1/10) / (1/10 + 2/10) = (1/10) / (3/10) = 1/3
تو این حالت دو رویداد A و B از هم مستقل نیستن.
دو رویداد A و B مستقل هستند، اگر و تنها اگر:
P(A ∩ B) = P(A) P(B)
در ادامه درس، این قضیه رو اثبات هم میکنن. اگر علاقهمند هستین میتونین به دقیقه 66 تا 68 از ویدیو این جلسه مراجعه کنید.
برگردیم به همون مثال آخری که در مورد بچههای یک خانواده زدیم.
اگر بیایم جدول بالا رو به صورت زیر تغییر بدیم:
میتونیم مقادیر سطرها و ستونهارو جمع بزنیم و به این مقادیر Marginal Probability گفته میشه:
چه زمانی جدول بالا (که شامل احتمال حاشیهای هست) نشون دهنده دو رویداد مستقل هست؟
زمانی که هر خونه سیاه برابر باشه با حاصل ضرب خونههای قرمز هم سطر و هم ستون باهاش. یعنی مثلاً به این صورت که خونه آبی رنگ برابر باشه با حاصل ضرب خونههای سبز یا خونه بنفش برابر باشه با حاصل ضرب خونههای زرد. به ازای تک تک خانهها این شرط باید برقرار باشد.
در مورد احتمال شرطی، قانون بیز و قانون احتمال کل صحبت کردیم و در قالب مثالهای مختلف مفاهیم مختلفی رو بررسی کردیم.
اگر جایی ایراد یا مشکلی بود، حتما بهم بگید تا تصحیحش کنم. همچنین، پیشنهاد میکنم که حتماً صفحه گیتهاب این دوره رو مورد بررسی قرار بدین. حتماً به دردتون میخوره.