یادگیری در هوش مصنوعی
(قسمت دوم)
مقدمه:
در مقاله ی قبل به تعریف هوش مصنوعی پرداختیم و گفتیم که یادگیری این فناوری به وسیله ی روش ها والگوریتم ها اتفاق می افتد. که به واسطه ی این الگوریتم ها هر محصول فناورانه ای که این فناوری (هوش مصنوعی) را دارد قادر خواهد بود تا از فعالیت های انسانی الگوبرداری کند عمل یادگیری را انجام دهد ، و جای انسان درآن فعالیت را بگیرد.در این مقاله قصد داریم تا به مثال های بیشتری از الگوریتم های هوش مصنوعی بپردازیم. پس با ما همراه باشید.
الگوریتم گرگ خاکستری:
الگوریتم گرگ خاکستری (Grey Wolf Optimizer Algorithm) یک الگوریتم بهینهسازی است که الهام گرفته از رفتار گروهی گرگها در طبیعت است. این الگوریتم در سال ۲۰۱۴ توسط میرچا یونگ و همکارانش ارائه شد و بر اساس قوانین هرچهترکیبی گرگها در جستجوی غذا عمل میکند.
در الگوریتم گرگ خاکستری، هر گرگ به عنوان یک جسم مستقل در فضای جستجوی بهینه در نظر گرفته میشود. هر گرگ دارای موقعیت و سرعتی است که به صورت تصادفی اولیه تولید میشود. در هر مرحله، گرگها با توجه به موقعیت فعلی خود و بهترین موقعیتی که تاکنون یافتهاند، سرعت و موقعیت خود را به روز میکنند.
رفتار گرگها در الگوریتم گرگ خاکستری بر اساس چهار نوع جستجو مختلف است: جستجوی نهادینه (Seeking), جستجوی خودخواه (Tracing), جستجوی لیدر (Hunting) و جستجوی از دست داده (Random Search). هر گرگ در هر مرحله با ترکیب این چهار نوع جستجو، به سمت بهبود موقعیت و بهینهسازی تابع هدف حرکت میکند.
الگوریتم گرگ خاکستری به دلیل سادگی و قدرت جستجوی خوبی که دارد، در حل مسائل بهینهسازی مورد استفاده قرار میگیرد.
با استفاده از الگوریتم گرگ خاکستری، میتوان به بهبود و بهینهسازی مسائل مختلف در حوزههای مختلف از جمله مهندسی، علوم رایانه، مدیریت، برنامهریزی و سایر حوزههای مرتبط کمک کرد.
الگوریتم زنبور عسل:
الگوریتم زنبور عسل (Bee Algorithm) یک الگوریتم بهینهسازی مستقل از مرتبه است که بر اساس رفتار زنبورها در جستجوی غذا در طبیعت الهام گرفته شده است. این الگوریتم در سال ۲۰۰۵ توسط کریستین بلژیو و همکارانش ارائه شد.
در الگوریتم زنبور عسل، مجموعهای از زنبورها به عنوان جسمهای مستقل در فضای جستجوی بهینه در نظر گرفته میشوند. هر زنبور دارای موقعیت و سرعتی است که به صورت تصادفی اولیه تولید میشود. همچنین، هر زنبور دارای نوعی اطلاعات محلی و جمعیتی است که با استفاده از آنها موقعیت خود را به روز میکند.
رفتار زنبورها در الگوریتم زنبور عسل بر اساس سه نوع جستجو مختلف است: جستجوی خودخواه (Selfish Search)، جستجوی محلی (Local Search) و جستجوی جمعیتی (Global Search). هر زنبور در هر مرحله با ترکیب این سه نوع جستجو، به سمت بهبود موقعیت و بهینهسازی تابع هدف حرکت میکند.
الگوریتم زنبور عسل به دلیل سادگی و قدرت جستجوی خوبی که دارد، در حل مسائل بهینهسازی مورد استفاده قرار میگیرد.
با استفاده از الگوریتم زنبور عسل، میتوان به بهبود و بهینهسازی مسائل مختلف در حوزههای مختلف از جمله مهندسی، علوم رایانه، مدیریت، برنامهریزی و سایر حوزههای مرتبط کمک کرد.
الگوریتم شیر:
الگوریتم بهینهسازی شیر (Milk Optimization Algorithm) یک الگوریتم بهینهسازی است که براساس عملکرد و رفتار شیر و تئوری تولید شیر در طبیعت الهام گرفته شده است. این الگوریتم در سال ۲۰۱۶ توسط اکبر راهبی و همکارانش معرفی شد.
در الگوریتم بهینهسازی شیر، جمعیتی از شیرها به عنوان جسمهای مستقل در فضای جستجوی بهینه در نظر گرفته میشوند. هر شیر دارای مکانیزم تولید شیر (که معادلی برای ساخت و تولید حلقههای جدید در الگوریتم است) و مقدار شیر تولیدی است. همچنین، هر شیر دارای موقعیتی است که به صورت تصادفی اولیه تولید میشود.
رفتار شیرها در الگوریتم بهینهسازی شیر بر اساس دو عامل اصلی است: تولید شیر و تغذیه شیرها. شیرها در هر مرحله با استفاده از مکانیزم تولید شیر خود، حلقههای جدیدی ایجاد میکنند و با توجه به مقدار شیر تولیدی، در جستجوی مناطق بهینه حرکت میکنند. همچنین، شیرها با استفاده از تغذیه و مصرف شیر، بهترین موقعیتها را کشف میکنند و به سمت بهبود موقعیت و بهینهسازی تابع هدف حرکت میکنند.
الگوریتم بهینهسازی شیر به دلیل ساختار ساده و قدرت جستجوی خوبی که دارد، در حل مسائل بهینهسازی مورد استفاده قرار میگیرد.
با استفاده از الگوریتم بهینهسازی شیر، میتوان به بهبود و بهینهسازی مسائل مختلف در حوزههای مختلف از جمله مهندسی، علوم رایانه، مدیریت، برنامهریزی و سایر حوزههای مرتبط کمک کرد.
الگوریتم شاهین هریس:
الگوریتم شاهین هریس (Harris Hawk Optimization Algorithm) یک الگوریتم بهینهسازی است که بر اساس رفتار و روش شکار شاهین هریس در طبیعت الهام گرفته شده است. این الگوریتم در سال ۲۰۱۵ توسط محمد حسینی و همکارانش معرفی شد.
شاهین هریس یکی از پرندگان شکاری است که در گروهی از چندین شاهین همکاری میکنند تا فرصت شکار را بهبود بخشند. این اصل یک جمعیت از افراد (شاهینها) را در فضای جستجوی بهینه مدلسازی میکند.
در الگوریتم شاهین هریس، هر شاهین به عنوان یک جسم مستقل در نظر گرفته میشود و دارای مکانیزمهایی برای حرکت و بهینهسازی است. شاهینها در هر مرحله با توجه به موقعیت خود و موقعیت بهترین شاهین در جمعیت، حرکت میکنند و مکانیزمهای خاصی برای تعامل و همکاری در ارتقای بهترین شاهین و بهبود جستجوی بهینه دارند.
الگوریتم شاهین هریس به دلیل ساختار منحصر به فرد خود و قدرت جستجوی خوبی که دارد، در حل مسائل بهینهسازی مورد استفاده قرار میگیرد.
با استفاده از الگوریتم شاهین هریس، میتوان به بهبود و بهینهسازی مسائل مختلف در حوزههای مختلف از جمله مهندسی، علوم رایانه، مدیریت، برنامهریزی و سایر حوزههای مرتبط کمک کرد.
الگوریتم ژنتیک:
الگوریتم ژنتیک یک الگوریتم محاسباتی الهام گرفته از فرایند تکاملی در طبیعت است که برای حل مسائل بهینهسازی و جستجوی بهینه استفاده میشود. این الگوریتم بر اساس مفاهیم و اصول ژنتیک و تکاملی در طبیعت مانند تنوع ژنتیکی، تولید نسلهای جدید، انتخاب طبیعی و تلاش برای پیدا کردن جواب بهینه، طراحی شده است.
فرایند اصلی الگوریتم ژنتیک شامل مراحل زیر است:
- نمایش مسئله: مسئلهای که قصد حل آن را داریم باید به صورت یک مجموعه از ژنها یا کروموزومها نمایش داده شود. هر کروموزوم معمولاً یک راه حل پتانسیل برای مسئله را نشان میدهد.
- ایجاد جمعیت اولیه: یک جمعیت اولیه از کروموزومها به صورت تصادفی یا با استفاده از روشهای خاصی ایجاد میشود.
- تابع ارزیابی: برای هر کروموزوم در جمعیت، یک تابع ارزیابی تعریف میشود که عملکرد هر کروموزوم را براساس معیارهای مشخصی ارزیابی میکند.
- عملیات انتخاب: کروموزومهای با عملکرد بهتر معمولاً برای نسل بعدی انتخاب میشوند. انتخاب میتواند به صورت تصادفی یا با استفاده از روشهای خاصی مانند رولتهای انتخابی انجام شود.
- عملیات تکثیر: کروموزومهای انتخاب شده با استفاده از عملیات تکثیر (مانند ترکیب و تغییر)، نسل بعدی را تولید میکنند.
- عملیات جهش: به صورت تصادفی، برخی از ژنها در کروموزومها جهش میکنند. این عملیات جهش به جستجو در فضای جستجوی بهینه کمک میکند و از گیر کردن در مینیمم محلی جلوگیری میکند.
- تکرار: مراحل ۴ تا ۶ تا زمانی که شرایط پایان مشخص شده (مانند تعداد تکرارها یا دستیابی به جواب مطلوب) تکرار میشوند.
- جواب: بهترین کروموزوم در جمعیت به عنوان جواب بهینه انتخاب میشود.
الگوریتم ژنتیک به دلیل قدرت جستجوی خود و قابلیت تطبیق با مسائل مختلف، در حل مسائل بهینهسازی، پیچیده، ترکیبی و سایر مسائل مورد استفاده قرار میگیرد.
همان طور که می بینید ، همه ی این الگوریتم ها برگرفته از طبیعت و وابسته به جمعیت می باشند. الگوریتم هایی که به جمعیت آن جامعه بستگی دارند ، زیر مجموعه ی هوش ازدحامی (swarm intelligence) به حساب می آیند. اما هوش ازدحامی چیست و به چه دردی می خورد؟
هوش ازدحامی چیست و چه کاربردی دارد؟
هوش ازدحامی (Swarm Intelligence) یک رویکرد محاسباتی الهام گرفته از رفتار و تعامل گروهی در جمعیت حشرات، پرندگان، ماهیان و سایر سازمانهای اجتماعی در طبیعت می باشد. این رویکرد بر اساس تفاوتها و تعاملات بین اعضای گروه، تلاش برای دستیابی به هدف مشترک و تبادل اطلاعات بین اعضا متمرکز است.
در هوش ازدحامی، جمعیتی از اعضا (عاملها) در فضای مشترک تعامل میکنند و با استفاده از قوانین و الگوهای مشترک، بهبود و بهینهسازی هدفی خاص را مد نظر قرار میدهند. هر عامل میتواند اطلاعات خود را با عاملهای دیگر به اشتراک بگذارد و بر اساس این اطلاعات، تصمیمهای بهتری بگیرد.
هوش ازدحامی به دلیل قابلیت تطبیق با مسائل پیچیده، قدرت جستجوی خوبی که دارد. و قابلیت مقابله با تغییرات محیطی، در حل مسائل بهینهسازی و جستجوی بهینه مورد استفاده قرار میگیرد. این رویکرد در مسائلی مانند بهینهسازی تابع هدف چندگانه، مسائل بهینهسازی پیچیده، مسائل تخصیص منابع، مسائل برنامهریزی و سایر مسائل بهینهسازی پیچیده مورد استفاده قرار میگیرد.
در هوش مصنوعی، سیستمها میتوانند به دو دسته سیستمهای پیوسته و سیستمهای گسسته تقسیم شوند. بسته به نوع ویژگیهایی که در مسئله مورد بررسی وجود دارد.
سیستم ها در حوزه ی هوش مصنوعی به دو گروه تقسیم می شوند:
۱-سیستمهای پیوسته (Continuous Systems):
در این سیستم ، متغیرها پیوسته و پارامتری هستند. به عبارت دیگر، مقادیر متغیرها در یک بازه پیوسته قرار میگیرد.
۲-سیستم های گسسته (Discrete systems)
در این سیستم متغیرها به صورت گسسته و دیسکرت می باشند. به این معنی که مقادیر متغیرها در مجموعهای گسسته از اعداد صحیح یا مجموعه ی محدود از نمادها قرار میگیرند. در این سیستمها، معمولاً تصمیمگیریها براساس انتخاب از بین گزینههای موجود و یا ترتیببندی اعضا صورت میگیرد.
اما قبل از اینکه به سراغ یادگیری ماشین که نقش اساسی در یادگیری هوش مصنوعی دارد ، بپردازیم باید با مفهومی تحت عنوان داده کاوی آشنا شویم.
داده کاوی چیست و چه کاربردی دارد؟
به طور معمول، وقتی کسی در مورد معدن صحبت می کند، شامل افرادی می شود که کلاه ایمنی به سر می کنند. و لامپ هایی به آن ها متصل می شود. در زیر زمین برای یافتن منابع طبیعی حفاری می کنند. و در حالی که تصویربرداری از افراد در تونل برای دسته هایی از صفر و یک می تواند خنده دار باشد، اما دقیقاً به داده ها پاسخ نمی دهد.
داده کاوی فرآیند تجزیه و تحلیل مقادیر عظیمی از اطلاعات و مجموعه داده ها، استخراج (یا استخراج) اطلاعات مفید برای کمک به سازمان ها در حل مشکلات، پیش بینی روندها، کاهش خطرات و یافتن فرصت های جدید است. داده کاوی مانند استخراج واقعی است زیرا در هر دو مورد، معدنچیان برای یافتن منابع و عناصر ارزشمند کوه هایی از مواد را غربال می کنند.
مثال:
نمونه ی دیگر این هوش مصنوعی را شما در دیجی کالا هم مشاهده کرده اید. زمانی که شما در این سایت گوشی می خرید ، در قسمت کالا های پیشنهادی به شما میز شارژر ، ایرپاد و سایر کالاهای مرتبط را به شما نمایش خواهد داد. هدفش از این کار کاملا واضح است. او می خواهد با این کار آش را با جاش خدمت خریدار تقدیم کند و همچنین سود حاصل از فروش خود را نیز افزایش دهد.
این که شما هر آنچه که نیاز دارید را می توانید از یک جای مطمئن تهیه کنید ، لذت خرید را دوچندان می کند.
نتیجه گیری:
دراین مقاله دریافتیم که طبیعت بهترین راه حل را برای مشکلات خود پیدا کرده است. پس الگو گرفتن از طبیعت بهترین روش برای مدل سازی می باشد. در قسمت سوم مقاله ی یادگیری هوش مصنوعی به مبحث مهم یادگیری ماشین و انواع یادگیری خواهیم پرداخت. پس با ما همراه باشید.