مفاهیم و تعاریف پایه
مفاهیم و تعاریف پایه

مفاهیم و تعاریف پایه

الگوریتم تکاملی چیست؟

ایده مشترک اساسی در پشت همه ی تکنیکهای تکاملی یکسان است: با توجه به جمعیتی از اعضا، فشار محیطی باعث انتخاب طبیعی (بقای بهترینها[1]) میشود و در نتیجه برازش جمعیت در حال افزایش است. دیدن چنین فرآیندی به عنوان بهینهسازی آسان است. با توجه به اینکه یک تابع هدف[2] باید حداکثر شود، می‌توانیم به‌طور تصادفی مجموعه‌ای از راه‌حل‌های کاندید ایجاد کنیم و از تابع هدف به‌عنوان معیار برازش انتزاعی[3] استفاده کنیم (هر چه بالاتر، بهتر). بر اساس این برازش، برخی از نامزدهای بهتر برای کاشت نسل بعدی با اعمال نوترکیبی و/یا جهش انتخاب می‌شوند. نوترکیب برای دو نامزد منتخب، به اصطلاح والدین، اعمال می‌شود و منجر به یک یا دو نامزد جدید، فرزندان می‌شود. جهش برای یک نامزد اعمال می‌شود و منجر به یک نامزد جدید می‌شود. اعمال نوترکیبی و جهش منجر به مجموعه‌ای از نامزدهای جدید، یعنی فرزندان می‌شود. این فرزندان بر اساس برازش خود با نامزدهای قدیمی برای جایگاهی در نسل بعدی رقابت می‌کنند. این فرآیند را می‌توان تا زمانی که راه‌حلی پیدا شود یا به محدودیت زمانی تعیین شده قبلی برسد، تکرار شود. اجازه دهید توجه داشته باشیم که بسیاری از اجزای چنین فرآیند تکاملی تصادفی[4] هستند.

  ادامه مطلب ...

محاسبات تکاملی

 ایده به کارگیری اصول داروینی در حل خودکار مسائل از دهه 50، مدتها قبل از پیشرفت رایانهها سرچشمه میگیرد. در طول دهه شصت سه پیادهسازی مختلف از این ایده در سه مکان مختلف توسعه یافته است. در ایالات متحده، فوگل برنامهریزی تکاملی را معرفی کرد، در حالی که هالند روش خود را الگوریتم ژنتیک نامید. در آلمان Rechenberg و Schwefel استراتژیهای تکامل را ابداع کردند. برای حدود 15 سال این مناطق به طور جداگانه توسعه یافتند. از اوایل دهه نود است که آنها به عنوان بازنمایی مختلف ("گویش[1]") یک فناوری، به نام محاسبات تکاملی خوانده میشوند. همچنین در اوایل دهه نود بود که جریان چهارمی به دنبال ایدههای کلی پدید آمد - برنامهریزی ژنتیکی. اصطلاحات معاصر کل حوزه را با محاسبات تکاملی نشان می‌دهند و برنامه‌ریزی تکاملی[2]، استراتژی‌های تکامل[3]، الگوریتم‌های ژنتیک[4] و برنامه‌ریزی ژنتیک[5] را به عنوان زیرحوزه‌ها در نظر می‌گیرند.



[1] Dialects

[2] Evolutionary Programming

[3] Evolution Strategies

[4] Genetic Algorithms

[5] Genetic Programming

تکامل تفاضلی

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

 

ادامه مطلب ...

Rule-based machine learning

یادگیری ماشینی مبتنی بر قانون

یادگیری ماشینی مبتنی بر قانون (RBML) اصطلاحی در علوم کامپیوتر است که در برگیرنده هر روش یادگیری ماشینی است که "قوانین" را برای ذخیره، دستکاری یا اعمال شناسایی، یاد می‌گیرد یا تکامل می‌دهد [1][2][3]. مشخصه تعیین کننده یک یادگیرنده ماشینی مبتنی بر قانون، شناسایی و استفاده از مجموعه ای از قوانین رابطه ای است که به طور جمعی دانش گرفته شده توسط سیستم را نشان می دهد. این برخلاف دیگر یادگیرندگان ماشینی است که معمولاً یک مدل منحصر به فرد را شناسایی می کنند که می تواند به طور جهانی برای هر نمونه ای به منظور پیش بینی اعمال شود.

رویکردهای یادگیری ماشین مبتنی بر قانون شامل سیستم‌های طبقه‌بندی‌کننده یادگیری، [4] یادگیری قوانین ارتباطی، [5] سیستم‌های ایمنی مصنوعی، [6] و هر روش دیگری که بر مجموعه‌ای از قوانین تکیه دارد که هر کدام دانش زمینه‌ای را پوشش می‌دهند.

 

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

  ادامه مطلب ...

مولفه یادگیری

یادگیری به چهار گروه اصلی تقسیم می گردد:

۱) یادگیری نظارت شده

۲) یادگیری نظارت نشده

۳) نیمه نظارتی

۴) یادگیری تقویتی

 

ادامه مطلب ...