رفتن به محتوای اصلی

ریاضی / احتمال و آمار

احتمال و قضیهٔ بیز؛ از شمارش ساده تا تغییر باور با داده

فضای نمونه، احتمال شرطی، استقلال و بیز را با مثال قطعهٔ معیوب و فیلتر پیام یاد بگیر؛ همراه با جدول شمارش و کد پایتون.

تصویرسازی منحنی کاغذی و مستطیل‌های زیر آن

تصویرسازی تحریریه با ابزار تولید تصویر؛ سند تاریخی یا مرجع تشریحی نیست.

دستگاهی برای پیدا کردن قطعهٔ معیوب علامت هشدار می‌دهد. آیا هشدار یعنی قطعه حتماً خراب است؟ پاسخ به دقت دستگاه و فراوانیِ خرابی در خط تولید بستگی دارد. این همان جایی است که احتمال شرطی و قضیهٔ بیز به کار می‌آیند. در این درس از یک تاس و یک جدول شمارش شروع می‌کنیم تا فرمول، خلاصهٔ یک استدلال قابل دیدن باشد. همهٔ عددهای صنعتی این درس فرضی‌اند.

این درس را با ساروی تمرین کن
آنچه یاد می‌گیری
  • «یا» و «و» را با هم عوض نکن
  • احتمال شرطی یعنی مخرج تازه
  • استقلال با ناسازگاری فرق دارد

فضای نمونه؛ اول بگو چه چیزهایی ممکن‌اند

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

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

منبع این بخش: OpenStax؛ استقلال و ناسازگاری ↗

«یا» و «و» را با هم عوض نکن

احتمالِ رویداد آ یا ب برابر مجموع احتمال‌های آن‌ها منهای احتمالِ اشتراک است. اشتراک را کم می‌کنیم چون در جمعِ اول دوبار شمرده شده است. در تاس، رویداد زوج بودن و رویداد بزرگ‌تر از چهار بودن در عدد شش مشترک‌اند. اجتماع شامل دو، چهار، پنج و شش است و احتمال چهار‌ششم دارد.

برای «و»، دنبال حالت‌هایی هستیم که هر دو شرط را هم‌زمان داشته باشند. در همان مثال، فقط شش باقی می‌ماند و احتمال یک‌ششم است. اگر در متنِ مسئله «حداقل یکی» آمده، اغلب به اجتماع یا متمم فکر کن. اگر «هر دو» آمده، اشتراک را بررسی کن. تبدیلِ دقیقِ زبانِ مسئله به مجموعه‌ها از حفظ کردنِ فهرست طولانی فرمول‌ها سودمندتر است.

احتمال شرطی یعنی مخرج تازه

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

فرمولِ احتمالِ آ به شرط ب، احتمالِ اشتراک تقسیم بر احتمال ب است، به شرط آنکه احتمال ب صفر نباشد. جهت شرط را دقیق بنویس. احتمالِ هشدار در قطعهٔ خراب با احتمالِ خرابی در قطعهٔ هشدارخورده یکی نیست. این دو سؤال مخرج‌های متفاوت دارند. اگر فقط اسم دو رویداد را در فرمول جابه‌جا کنی، مسئلهٔ دیگری را حل کرده‌ای.

منبع این بخش: OpenStax؛ قواعد احتمال ↗

استقلال با ناسازگاری فرق دارد

دو رویداد مستقل‌اند اگر دانستنِ یکی احتمال دیگری را تغییر ندهد. در دو پرتابِ مستقلِ تاس سالم، نتیجهٔ اول احتمالِ شش آمدنِ پرتاب دوم را تغییر نمی‌دهد. دو رویداد ناسازگار نمی‌توانند هم‌زمان رخ دهند؛ مثل زوج و فرد بودن در یک پرتاب. این دو مفهوم مترادف نیستند. رویدادهای ناسازگار با احتمال مثبت، مستقل نیستند.

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

مثال خط تولید را با هزار قطعه بساز

فرض کن در هزار قطعه، بیست قطعه معیوب است. دستگاه ۹۰ درصدِ معیوب‌ها را علامت می‌زند، پس هجده هشدارِ درست داریم. از ۹۸۰ قطعهٔ سالم، پنج درصد به اشتباه هشدار می‌گیرند، یعنی ۴۹ قطعه. در مجموع ۶۷ هشدار داریم و فقط هجده مورد واقعاً معیوب‌اند. احتمالِ خرابی به شرط هشدار، هجده تقسیم بر ۶۷، حدود ۲۶٫۹ درصد است.

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

دادهٔ فرضی: احتمال خرابی در میان هشدارها ۱۸/۶۷ است.
وضعیتهشداربدون هشدارجمع
معیوب۱۸۲۲۰
سالم۴۹۹۳۱۹۸۰
جمع۶۷۹۳۳۱۰۰۰

بیز همان حساب را فشرده می‌کند

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

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

نرخ پایه را عوض کن، دستگاه همان بماند

حالا فرض کن از هزار قطعه، دویست قطعه خراب باشد و ویژگی دستگاه ثابت بماند. هشدارِ درست ۱۸۰ و هشدارِ کاذب ۴۰ می‌شود. از ۲۲۰ هشدار، ۱۸۰ مورد خراب است؛ حدود ۸۱٫۸ درصد. دقت‌های شرطیِ دستگاه در دو مثال عوض نشده، ولی معنای هشدار با تغییر فراوانیِ خرابی تغییر کرده است.

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

از فیلتر پیام تا ارزیابی مدل

در یک مثالِ فیلتر پیام، دیدن یک واژه می‌تواند احتمالِ ناخواسته بودن پیام را تغییر دهد، اما یک واژه به‌تنهایی حکم قطعی نمی‌دهد. مدل‌های ساده ممکن است چند ویژگی را با فرض‌های استقلال ترکیب کنند. این فرض‌ها برای محاسبه مفیدند، ولی اگر ویژگی‌ها وابسته باشند باید محدودیت مدل را فهمید و عملکردش را روی دادهٔ جدا بررسی کرد.

همچنین درصدِ اطمینانِ نوشته‌شده در پاسخِ یک مدل زبانی، خودبه‌خود احتمالِ کالیبره‌شده نیست. برای ادعای کالیبراسیون باید پیش‌بینی‌ها را در مجموعه‌ای از موارد با نتیجهٔ واقعی مقایسه کرد. اگر مدل به ده سؤال می‌گوید «۹۰ درصد مطمئنم»، صرفِ دیدن همین جمله دقتِ نوددرصدی را اثبات نمی‌کند. زبانِ مطمئن با اندازه‌گیریِ احتمال فرق دارد.

کد کوتاه و بررسیِ حالت‌های مرزی

تابعِ همراه، احتمالِ پس از هشدار را برای یک مسئلهٔ دودوییِ ساده حساب می‌کند. ورودی‌ها احتمال‌هایی بین صفر و یک‌اند. اگر احتمالِ کل هشدار صفر باشد، شرطِ مورد نظر در این مدل رخ نمی‌دهد و تابع خطا می‌دهد. مدیریتِ این حالت بهتر از تقسیم بر صفر یا برگرداندن یک عددِ دلخواه است.

دو مثالِ ۲ و ۲۰ درصد را اجرا کن و با جدول‌ها مقایسه کن. سپس نرخِ هشدارِ کاذب را کاهش بده و تغییرِ پاسخ را ببین. هر بار فقط یک ورودی را عوض کن تا علت تغییر معلوم بماند. اگر همهٔ پارامترها هم‌زمان تغییر کنند، دیدنِ یک خروجی تازه لزوماً به فهمِ اثرِ هر عامل کمک نمی‌کند.

bayes.py python
def posterior(prior, sensitivity, false_positive):
    if not all(0 <= p <= 1 for p in (prior, sensitivity, false_positive)):
        raise ValueError("probabilities must be between 0 and 1")
    true_alert = prior * sensitivity
    total_alert = true_alert + (1-prior) * false_positive
    if total_alert == 0:
        raise ValueError("conditioning event has zero probability")
    return true_alert / total_alert

assert abs(posterior(.02, .9, .05) - 18/67) < 1e-12
assert abs(posterior(.20, .9, .05) - 180/220) < 1e-12
print(posterior(.02, .9, .05))

تمرین و جواب با مخرجِ روشن

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

در ساروی، از مدل بخواه به‌جای نوشتن سریع فرمول، مخرجِ هر احتمال را توضیح دهد و یک جدولِ تعداد بسازد. سپس با تغییرِ یک فرض، مسئله را دوباره حل کن. برای کاربرد پزشکی، راهنمای جداگانهٔ تفسیر تست را بخوان و از این مثالِ صنعتی تشخیص شخصی نساز. مهارتِ اصلی این درس این است که دقیق بگویی «احتمالِ چه چیزی، در میان کدام موارد؟»

حالا نوبت توست

این کار را خودت انجام بده.

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

برای بررسی بیشتر

OpenStax؛ استقلال و ناسازگاریOpenStax؛ قواعد احتمال

در انجام این کار به مشکل خوردی؟

از پشتیبانی کمک بگیر