MIDOONY Logo

یادگیری ماشین با منطق فازی Machine Learning with Fuzzy Logic

1402/08/22
یادگیری ماشین با منطق فازی     Machine Learning with Fuzzy Logic

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

هدف در اینجا ارائه یک روش ساده و کاربردی برای ایجاد قوانین فازی با استفاده از داده‌های عددی است. به عنوان نمونه داده های مربوط به بررسی رطوبت، دما و درجه حرارت در نظر گرفته می شود. در مثال مذکور نتیجه عددی یک مشاهده به صورت زیر یادداشت می شود :

سپس رابطه f برای نگاشت منطقی ورودی ها به خروجی بکار می رود.

با تبدیل اطلاعات عددی به اطلاعات متنی، قوانین فازی لازم ایجاد می گردند.

بنابراین قانون فازی مشاهده فوق عبارت است از "اگر رطوبت متوسط و دما متوسط باشد پس درجه حرارت باید بالا باشد"
IF relative humidity is medium and temperature is medium, THEN heat index is high
منطق فازی ابزار مدل سازی قدرتمندی است که قوانین به شکل IF-THEN را برای مدل سازی های پیشگویانه به کار می گیرد.

مراحل ایجاد قوانین فازی از روی داده ها
مرحله 1: پس از پردازش اولیه داده ها، دامنه (مجموعه عناصر) فضاهای ورودی و خروجی تعیین می شود.

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

مرحله 2: مقادیر به 3 منطقه همپوشانی با استفاده از توابع مثلثی مانند شکل زیر تقسیم می شوند. سپس نواحی فازی ایجاد شده به صورت low، mid و high نشان گذاری می شوند.
 

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

بنابراین، X با درجه 0 به مجموعه "low"، با درجه 0.4 به مجموعه "mid" و با درجه 0.6 به مجموعه "high" تعلق دارد.

مرحله 3: هر مشاهده به منطقه ای اختصاص می یابد که در آن بالاترین درجه تعلق را دارد. بنابراین مقیاس X با درجه ذکر شده به منطقه "high" اختصاص می یابد.

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

مرحله 5: با به دست آوردن تمام قوانین با مقدم یکسان، قانون منتخب بدست می آید که دارای بالاترین درجه تعلق است. مقدم یک قانون، عضویت متغیرهای ورودی یعنی دما و رطوبت را نشان می دهد، در حالی که تالی آن، عضویت متغیر خروجی یعنی درجه حرارت را بیان می کند.

جدول اطلاعات عددی مشاهدات
 

اطلاعات فازی شده رطوبت :

اطلاعات فازی شده دما:

اطلاعات فازی شده درجه حرارت:

با ترکیب اطلاعات فوق، جدول زیر بدست می آید:

و در نهایت مجموعه قوانین مثال مذکور به این صورت می شود :

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

 

 

#منطق_فازی

#هوش_مصنوعی

#fuzzy_logic

#ai

#یادگیری_ماشین

#machine_learning

 

 

 

نرم افزار همسو

0 404
دیدگاه کاربران
0 دیدگاه
شما هم دیدگاه خود را ارسال کنید