اولویت بندی کارآمد موارد تست نرم افزار به کمک شبکه های بیزی- قسمت ۱۴ |
۲-۲۱-۲- مشکلات استنتاج با توزیع توام کامل و راه حل آنها
روش استنتاج با توزیع توام کامل سه مشکل اساسی دارد. اولاً، برای متغیرهای پیوسته اگر آنهایک توزیع خاص و مشخصی نداشته باشند، نیاز به یک جدول نامتناهی است. دوماً، حتی برای متغیر بولی هم جدول توزیع خانه دارد و جواب به یک درخواست زمان نیاز دارد. سوماً، احتمالات مربوط به توزیع را باید از دادههای آماری تخمین زد که برای تعداد نمایی خانه در جدول نیاز به دادههای بسیار زیادی است که در عمل موجود نمیباشد. برای حل این مشکلات سعی میشود که شکل سادهتری برای توزیع فرض شود تا بدست آوردن آن عملی باشد. یکی از فرضهایی که بسیار استفاده شده فرض مستقل بودن متغیرهای قلمرو بوده است که در عمل نتیجههای خوبی نیز از آن گرفته شده است. این فرض بسیار محدود کننده است. به همین دلیل سعی شد این محدودیت تا حدی برداشته شود و وابستگی متغیرها تا حدی در محاسبه توزیع در نظر گرفته شود. براین اساس فرض وابستگی درختی و وابستگی به صورت گرافهای جهتدار بدون دور [۱۱] مورد بررسی قرار گرفت. با فرض وابستگی به صورت گرافهای جهتدار بودن دور به مدلی از توزیع میرسیم که به شبکههای بیزی معروف است.
برای دانلود متن کامل پایان نامه به سایت zusa.ir مراجعه نمایید. |
۲-۲۱-۳- مثالی از شبکههای بیزی
حال به توضیح مطالب ذکر شده با یک مثال می پردازیم. فرض کنید شما به تازگی یک آژیر دزدی خریدهاید که در صورت وقوع دزدی، امکان زیادی دارد که به صدا در آید. علاوه بر این، در صورت وقوع زلزلههای ضعیف هم ممکن است که آژیر به صدا درآید. همچنین، شما دو همسایه به نامهای ماری و جان دارید که قول دادهاند در صورت شنیدن صدای آژیر با شما در محل کارتان تماس بگیرند. جان همیشه در صورت به صدا درآمدن آژیر به شما تلفن میزند. ولی ممکن است که صدای تلفن شما را گاهی با آژیر اشتباه بگیرد و دراین صورت هم تلفن بزند. ماری موسیقی را با صدای بلند دوست دارد و ممکن است گاهی صدای آژیر را نشنود. حالا با توجه به مشاهده اینکه چه کسی تلفن زده است یا نزده است، میخواهیم احتمال دزدی را محاسبه کنیم. شبکه بیزی این قلمرو در شکل (۲-۲)آمده است.[۲۰]
شکل ۲-۲: شبکه بیزی قلمرو دستگاه آژیر [۲۰]
در ابتدا، ساختار این شبکه را توضیح میدهیم و بعد در مورد جدولهای احتمالات شرطی توضیحاتی میدهیم. با توجه به شبکه میتوان دید که دزدی و زلزله به طور مستقیم بر روی به صدا درآمدن آژیر تاثیر میگذارند، ولی بر روی تلفن زدن جان یا ماری تاثیر ندارد، زیرا آنها تنها با شنیدن آژیر تلفن میزنند که این موضوع در دو یال خارج شده از گره مربوط به آژیر در شبکه معلوم است. بنابراین شبکه نشان میدهد که آنها از وقوع زلزله خفیف آگاه نمیشوند.
باید توجه داشت که گرهای برای نشان دادن اینکه ماری به موسیقی گوش میدهد و یا تلفن زنگ میزند در شبکه نیست. این موارد در عدم قطعیت (احتمالی بودن) مربوط به یالهای خروجی از گره به صدار درآمدن آژیر تاثیر داده شده است. به طور کلی روشی برای اینکه به چه عواملی باید در شبکه گره اختصاص داد، وجود ندارد. در واقع، احتمالات شرطی، تمامی عواملی که در شبکه صریحاً نیامدهاند، را به طور خلاصه در خود دارند. به این طریق، یک عامل[۱۲] ساده میتواند به طور تقریبی با یک دنیای پیچیده را مدل کند. میزان این تقریب را میتوان با اضافه کردن اطلاعات مرتبط به شبکه افزایش داد. توزیعهای شرطی گرهها را با جدولهای احتمالات شرطی نشان میدهند (البته اگر توزیعها پیوسته باشد از روشهایی دیگری استفاده میشود که بعداً به آنها اشاره خواهد شد). هر سطر در این جدولها نشان دهنده مقدار احتمال مقادیر متغیر راس برای یک حالت شرطی خاصی میباشد. هر حالت شرطی یکی از مقدار دهیهای ممکن به والدین راس را نشان میدهد. در جدول آخرین مقدار ممکن برای متغیر راس نمایش داده نمیشود، زیرا برابر یک منهای جمع احتمال بقیه مقادیر است. به طور کلی، یک جدول برای یک متغیر بولی با والد بولی، مقدار باید داشته باشد. یک راس که هیچ والدی ندارد تنها شامل یک سطر است که احتمالات اولیه مقادیر متغیر راس را نشان میدهند.
۲-۲۲- مفاهیم شبکههای بیزی
در بخش مقدمه نیز با شبکه بیزی آشنا شدید و در اینجا میخواهیم مفهوم یک شبکه بیزی را بررسی کنیم. برای یک شبکه بیزی دو مفهوم میتوان در نظر گرفت. از دید مفهومی اول، میتوان شبکه را تقریبی از توزیع توام کامل قلمرو دید. از دید دوم میتوان شبکه را به صورت ساختاری که وابستگی و استقلال متغیرها را نشان میدهد، دید. هر دو دید معادل هم میباشند و دید اول برای طراحی شبکه و دید دوم برای طراحی روال استنتاج مناسب میباشد.
۲-۲۲-۱- نمایش توزیع توام کامل
یک شبکه یک توصیف کامل از قلمرو را ارائه میدهد. هر عنصر توزیع احتمال توام کامل (که از این به بعد کامل را برای خلاصهسازی حذف میکنیم)، با استفاده از اطلاعات درون شبکه قابل محاسبه است. یک عنصر در توزیع را میتوان به صورت عطف مقداردهی متغیر مانند در نظر گرفت. با توجه به اطلاعات شبکه مقدار یک عنصر را به وسیله رابطه (۶-۲) می توان محاسبه نمود: [۲۰]
(۶-۲)
محاسبه میشود که مقادیر متغیرهای درون را نشان میدهد. بنابراین، هرعنصر توزیع توام به صورت ضرب تعدادی از عناصر جدولهای احتمالات شرطی محاسبه میشود و این جدولها به نوعی تجزیه توزیع توام را انجام میدهد. برای نشان دادن این موضوع، احتمال به صدا در آمدن آژیر در حالی که نه زلزله آمده است و نه دزدی شده است در حالیکه جان و ماری هر دو تماس گرفتهاند را با رابطه (۷-۲) حساب میکنیم. از حرف اول متغیرها برای نشان دادن آنها استفاده میکنیم:
(۷-۲)
با استفاده از رابطه (۶-۲) میتوان ایدهای برای ساختن ساختار شبکه بیزی بدست آورد. این رابطه مشخص میکند که یک شبکه بیزی چه معنیای دارد، ولی به طور صریح روش ساختن شبکه را طوری که یک نمایش مناسب از قلمرو باشد، معلوم نمیسازد. باید توجه داشت در یک شبکه فرض بر نوع خاصی از وابستگی بین متغیرها است که لزوماً با واقعیت تطابق ندارد. بنابراین، ما تنها دنبال یک شبکه خوب میگردیم نه شبکهای که دقیقاً توزیع توام را مدل کند (چون ممکن است ممکن نباشد). حال نشان میدهیم که رابطه(۶-۲) منجر به فرضی در مورد استقلالهای شرطی میشود که به فرایند ساخت شبکه کمک میکند.
با توجه به قانون زنجیرهای(chain rule) در احتمالات، میتوانیم احتمال یک عنصر توزیع توام را به صورت:
بنویسیم. با مقایسه این رابطه با رابطه (۶-۲)، پی میبریم که شبکه بیزی وقتی دقیقاً برابر توزیع توام است که برای هر متغیر در شبکه مطایق رابطه (۸-۲) را داشته باشیم:
(۸-۲)
با این فرض که باشد. رابطه (۸-۲) مشخص میکند که شبکه بیزی تنها وقتی دقیقاً برابر توزیع توام است که هر متغیر به طور شرطی مستقل از تمامی متغیرهای رئوس بعدی در ترتیب اندیس رئوس باشد. بنابراین، در صورتی که بخواهیم یک شبکه بیزی خوب بسازیم که تا حدی خوبی به توزیع توام نزدیک باشد، نیاز داریم تا والدهای هر راس را طوری انتخاب کنیم که این خاصیت حفظ شود. یعنی باید والدین راس منتسب به متغیر را، از رئوس منتسب به که بر روی تاثیر مستقیم دارند انتخاب کنیم. برای مثال، فرض کنید، قسمتی از شبکه شکل (۳-۲) را ساختهایم و تنهاتعیین والدین MaryCalls باقیمانده است. والدین راس این متغیر را باید از متغیرهای قبل از این متغیر انتخاب کنیم که چون تنها Alarm به صورت مستقیم بر آن تاثیر میگذارد، به عنوان والد آن انتخاب میشود. شبکههای بیزی با در نظر گرفتن استقلال متغیرها میتوانند در همان حال که توزیع توام را به خوبی نشان میدهند، از نظر محاسباتی هم قابل قبول باشند. اما در قلمروهایی که استقلال بین متغیرها کم است، این شبکهها نیز نمیتوانند کمکی کنند. در بعضی موارد، وابستگی بین متغیرهایی که آنچنان قوی نیست در نظر گرفته نمیشود، تا در مقابل از دست رفتن مقداری از دقت، شبکه از نظر محاسباتی قابل قبول شود. علاوه بر این، ترتیب اضافه کردن متغیرها برای ساختار شبکه هم بسیار موثر و میتواند برای قلمروای که میتواند شبکه مناسبی داشته باشد یک شبکه با یالهای زیاد و غیرقابل قبول از لحاظ محاسباتی نتیجه دهد. این شبکهها نه تنها یالهای بیشتری دارند، بلکه ما را با سختی حساب احتمالاتی روبرو میکنند که بسیار پیچیده میتواند باشد (مثلاً احتمال وقوع زلزله در صورت به صدا درآمدن آژیر و صورت گرفتن دزدی).
۲-۲۲-۲- رابطه های استقلال شرطی در شبکههای بیزی
تا کنون یک مفهوم عددی برای شبکههای بیزی ارائه کردیم و نشان دادیم چگونه استفاده از این مفهوم میتوان ساختار شبکه بیزی را بدست آورد. در حقیقت، ما برعکس این کار را هم میتوانیم انجام دهیم. ما میتوانیم از مفاهیم ساختاری (که وابستگیهای شرطی کد شده در ساختار گرافی را نشان میدهد) برای بدست آوردن جدولهای احتمالات شرطی و در نتیجه، بدست آوردن مفاهیم عددی استفاده کنیم.
مفاهیم ساختاری با یکی از دو صورت زیر که معادل هستند میتواند داده شود :
۱ـ یک گره به صورت شرطی مستقل از گرههای غیربچه خود است در صورتی که والدهای آن را داده باشند و برای مثال در شکل( ۲-۲)، JohnCalls از Burglary و Earthquake در صورت داده شده بودن مقدار Alarm مستقل است.
۲ـ یک گره به صورت شرطی مستقل از تمامی گرههای دیگر شبکه در صورت داده شده بودن والدهای آن، فرزندان و والدهای فرزندان آن (یا به عبارت دیگر در صورت داده شده بودن پوشش مارکوفی(MarkovBlanket) آن است. مثلاًBurglary مستقل از JohnCalls و MaryCalls در صورتی که مقادیر Alarm و Earthquake داده شده باشند، است.
توصیفی از این دو نوع نمایش در شکل (۳-۲) آمده است. از این نوع بیان استقلالها و جداول احتمالات شرطی میتوان توزیع توام را بدست آورد. بنابراین مفاهیم عددی و مفاهیم ساختاری معادل هستند.
شکل۳-۲ : ارائه مفاهیم ساختاری به دو صورت معمول[۲۰]
۲-۲۲-۳- نمایش کارآمد توزیعهای شرطی
در مورد تعیین جدول احتمالات شرطی باید توجه داشت که حتی اگر تعداد والدهاییک گره یک عدد کوچک باشد، باید مقدار برای آن گره حساب شود که به دانش زیادی برای تعیین این تعداد مقدار نیاز است. در حقیقت، این بدترین حالات است که فرض کنیم رابطه فرزندان و والدین دلخواه است و بسیاری مواقع یک رابطه مشخص و استاندارد بین مقادیر والدها و بچه برقرار است که کار تعیین توزیع شرطی را ساده میکند. مثلاً یک گره ممکن است لزوماً فصل مقادیر بولی والدین خود باشد. علاوه بر این، بسیاری از مسائل دنیای واقعی متغیرهایی پیوسته دارند. نمایش این احتمالات شرطی این متغیرها به صورت جدول ممکن نمیباشد. در اینگونه موارد دو روش کلی استفاده میشود. یک روش گسسته کردن مقادیر متغیرهای پیوسته است و ایجاد جدولهای احتمالات شرطی برای مقادیر گسسته آنها است. مشکل این روش این است که کارایی روش و دقت آن به شدت افت میکند و علاوه بر آن، اندازه جداول نیز بسیار بزرگ میشود. روش دیگر استفاده از توزیعهای پیوسته استاندارد که با مجموعهای متناهی از پارامترها تعریف میشوند، است. مثلاً یک توزیع نرمال شامل دو پارامتر است و بسیار بکار میرود. [۲۰]
۲-۲۳- یادگیری شبکه های بیزی
یکی از مشکلات استفاده از شبکههای بیزی این است که ایجاد کامل شبکه حتی برای یک خبره هم میتواند مشکل باشد. بنابراین، تلاشهای زیادی برای یادگیری شبکههای بیزی صورت گرفته است. در هر شبکه بیزی ساختار آن و جداول احتمالات شرطی تعیین کننده آن هستند. بنابراین، باید بتوان با فرایند یادگیری این دو مورد را تعیین کرد. برای یادگیری خودکار ساختار شبکه یکی از روشهای اصلی بر پایه تعیین وابستگی بین متغیرها بنا نهاده شده است. برای تعیین این وابستگیها معیارهای زیادی مانند معیار آنتروپی طراحی شدهاند. با استفاده از این معیارها مانند روشی که قبلاً توضیح داده شد، وابستگی هر متغیر را نسبت به متغیرهای میسنجیم و آنها را که معیار وابستگیشان از یک آستانهای بیشتر بود، به عنوان والدهای انتخاب میکنیم. پس از تعیین ساختار، اگر مقدار همه متغیرها به طور کامل قابل مشاهده باشند، از تخمین احتمال معمولی (گرفتن تعدادی نمونه و شمردن تعداد اتفاقات یک رویداد در این مجموعه نمونه) استفاده میکنیم. اگر بعضی از متغیرها قابل مشاهده نباشند، با استفاده از آموزش یک شبکه نورونی میی توان مقادیر جداول احتمالات شرطی را یاد گرفت. تاکنون توضیحات مختصری در مورد شبکههای بیزی، مفاهیم آنها و موارد مربوط به طراحیآنها ارائه شد. در نهایت پس از طراحی شبکه تنها نکتهای که باقی میماند، استنتاج با این شبکهها است که هدف اصلی ما در بکار بردن آنها میباشد.[۲۱]
۲-۲۴- استنتاج دقیق در شبکه های بیزی
همانطور که قبلاً گفته شد، یک عمل پایه برای سیستمهای احتمالی، جواب به درخواستهایی است که احتمال وقوع مقادیری خاص برای یک مجموعه از متغیرها را با فرض داده شده بودن تعدادی مشاهده (یک مقداردهی متغیرهای مشاهده) میخواهند بدانند. در اینجا از نمادگذاری ای مانند آنچه در قسمت ۱ معرفی شده، استفاده میکنیم. نشان دهنده متغیر درخواست، نشان دهنده مجموعه متغیرهای مشاهده ، نشان دهنده مقادیر مشاهده شده برای متغیرهای و نشان دهنده متغیرهایی که مشاهده نشدهاند (که به آنها متغیرهای مخفی نیز میگویند) است. بنابراین مجموعه کل متغیرها برابر است. یک درخواست معمول به صورت است. در اینجا برای سادگی فرض کردهایم که X جز متغیرهای مشاهده شده نیست، متغیرها بولی هستند و درخواست تنها در مورد یک متغیر است، زیرا تعمیم توضیحات به حالت کلی به آسانی امکانپذیر است.
۲-۲۵- استنتاج بوسیله محاسبه تک تک عناصر احتمالی
[جمعه 1399-09-21] [ 11:33:00 ق.ظ ]
|