فرادرس آموزش خوشه بندی با استفاده از الگوریتم های تکاملی و فراابتکاری
خوشه بندی (Clustering) یکی از چند قالب مهم مسائلی است که در کاربردهای مختلف یادگیری ماشین (Machine Learning) و داده کاوی (Data Mining) مطرح می شود. خوشه بندی، که با نام آنالیز و تحلیل خوشه (Cluster Analysis) نیز در حوزه آمار شناخته می شود، یکی از انواع مسائل یادگیری غیر نظارت شده است، که الگوریتم فراوانی نیز، برای حل این مسأله ارائه شده اند. تعدادی از این الگوریتم ها، در آموزش های دیگر منتشر شده در فرادرس، مورد بحث و بررسی واقع شده اند.
خوشه بندی (Clustering) یکی از چند قالب مهم مسائلی است که در کاربردهای مختلف یادگیری ماشین (Machine Learning) و داده کاوی (Data Mining) مطرح می شود. خوشه بندی، که با نام آنالیز و تحلیل خوشه (Cluster Analysis) نیز در حوزه آمار شناخته می شود، یکی از انواع مسائل یادگیری غیر نظارت شده است، که الگوریتم فراوانی نیز، برای حل این مسأله ارائه شده اند. تعدادی از این الگوریتم ها، در آموزش های دیگر منتشر شده در فرادرس، مورد بحث و بررسی واقع شده اند.
یکی از انواع پیچیده مسائل خوشه بندی، زمانی طرح می شود که تعداد خوشه ها نیز نامعلوم باشد و الگوریتم خوشه بندی موظف به پیدا کردن تعداد خوشه ها باشد. این مسأله، اصطلاحا با نام خوشه بندی خودکادر یا Automatic Clustering شناخته می شود؛ آن چنان که خود مسأله خوشه بندی را، معمولا با نام Automatic Classification نیز می شناسیم.
حل مسأله خوشه بندی در حالت کلی و مسأله خوشه بندی خودکار به صورت خاص، بعضا می تواند خارج از توان الگوریتم های رایج خوشه بندی باشد. یکی از راه حل هایی که برای این موضوع در نظر گرفته شده است، تبدیل مسأله خوشه بندی به یک مسأله بهینه سازی و حل آن با استفاده از الگوریتم های بهینه سازی هوشمند و تکاملی است. موضوع بحث ما در این مجموعه آموزش نیز، دقیقا همین مبحث است.
در فیلم آموزشی خوشه بندی با استفاده از الگوریتم های تکاملی و فراابتکاری، ابتدا مسأله خوشه بندی به صورت عادی و سپس مسأله خوشه بندی خودکار، به صورت مسائل بهینه سازی بیان شده اند و توسط چندین الگوریتم تکاملی و فراابتکاری، به صورت گام به گام و در محیط نرم افزار متلب، حل و بررسی شد اند. برای تبدیل مسأله خوشه بندی به مسأله بهینه سازی، ما نیازمند شاخص هایی هستیم که به این منظور، در این مجموعه آموزشی، از چندین شاخص معروف در حوزه داده کاوی تکاملی، استفاده شده است.
فهرست شاخص های مورد استفاده و استناد در این آموزش، در ادامه آمده است:
الف) شاخص مجموع فاصله از مرکز کلاستر یا Within Cluster Distance (به اختصار WCD) – این شاخص در واقع در تعریف کلی مسأله k-Means و بیان معیار بهینگی آن، مورد استفاده واقع شده است.
ب) شاخص DB (یا اندیس Davies and Bouldin) – در سال ۱۹۷۹ معرفی شده است و برای ارزیابی اعتبار خوشه بندی خودکار مورد استفاده قرار می گیرد.
پ) شاخص CS (یا اندیس Chou, Su and Lai) – در سال ۲۰۰۴ معرفی شده است و برای ارزیابی اعتبار خوشه بندی خودکار مورد استفاده قرار می گیرد.
در این مجموعه آموزشی، از پنج الگوریتم بهینه سازی هوشمند برای حل مسأله خوشه بندی و خوشه بندی خودکار استفاده است، که فهرست آن ها در ادامه آمده اند:
۱- الگوریتم ژنتیک یا Genetic Algorithm (به اختصار GA)
۲- بهینه سازی ازدحام ذرات یا Particle Swarm Optimization (به اختصار PSO)
۳- تکامل تفاضلی یا Differential Evolution (به اختصار DE)
۴- کلونی زنبورهای مصنوعی یا Artificial Bee Colony (به اختصار ABC)
۵- جستجوی هارمونی یا Harmony Search (به اختصار HS)
مدرس این مجموعه آموزش، دکتر سید مصطفی کلامی هریس (دکترای مهندسی کنترل از دانشگاه صنعتی خواجه نصیرالدین طوسی) است. در این مجموعه آموزشی نیز، مانند سایر آموزش های فرادرس، ابتدا مبانی تئوری موضوع درس، مورد بحث و بررسی واقع می شوند و سپس پیاده سازی عملی الگوریتم ها و روش های مطرح شده، به صورت گام به گام انجام می شود.
فهرست سرفصل ها و رئوس مطالب مطرح شده در این مجموعه آموزشی، در ادامه آمده است:
درس یکم: حل مسأله خوشه بندی کلاسیک با استفاده از الگوریتم های تکاملی و فرا ابتکاری
- مروری بر مفاهیم پایه مسأله خوشه بندی
- بررسی معیارها و اهداف خوشه بندی
- معیار پیوستگی یا فشردگی (Cohesion)
- معیار تفکیک (Separation)
- بیان مسأله k-Means و معیار بهینگی مورد استفاده در تعریف آن
- آشنایی با الگوریتم لوید یا k-Means و نحوه کارکرد آن برای حل مسأله k-Means
- تبدیل مسأله خوشه بندی k-Means به مسأله بهینه سازی با استفاده از شاخص WCD
- پیاده سازی یک دیتاست فرضی برای بررسی نتایج خوشه بندی
- پیاده سازی تابع هدف مربوط به مسأله k-Means برای حل مسأله خوشه بندی
- آشنایی با تابع Pdist2 برای محاسبه فاصله نقاط دو مجموعه
- اتصال تابع هدف مربوط به خوشه بندی به الگوریتم های بهینه سازی
- حل مسأله خوشه بندی k-Means با استفاده از الگوریتم ژنتیک
- حل مسأله خوشه بندی k-Means با استفاده از الگوریتم PSO
- حل مسأله خوشه بندی k-Means با استفاده از تکامل تفاضلی
- حل مسأله خوشه بندی k-Means با استفاده از الگوریتم کلونی زنبور مصنوعی
- حل مسأله خوشه بندی k-Means با استفاده از جستجوی هارمونی
- ترسیم نتایج خوشه بندی به صورت آنلاین و همزمان با اجرای برنامه
- بررسی نتایج به دست آمده از خوشه بندی k-Means با استفاده از الگوریتم های تکاملی
درس دوم: حل مسأله خوشه بندی خودکار با استفاده از الگوریتم های تکاملی و فرا ابتکاری
- بیان مسأله خوشه بندی خودکار یا Automatic Clustering
- نحوه کدینگ پاسخ و ساختار کروموزوم در الگوریتم های بهینه سازی برای توصیف راه حل مسأله خوشه بندی خودکار
- بررسی و آشنایی با معیارهای ارزیابی کیفیت خوشه بندی
- تشریح مبانی تئوری معیار یا اندیس کیفیت خوشه بندی DB
- تشریح مبانی تئوری معیار یا اندیس کیفیت خوشه بندی CS
- پیاده سازی تابع هدف مربوط به معیارهای کیفیت مورد بحث
- اتصال تابع هدف پیاده سازی شده به پنج الگوریتم بهینه سازی مورد بحث در درس قبلی
- اجرای برنامه ها و بررسی نتایج به دست آمده
برای مشاهده جزئیات و تهیه فرادرس آموزش خوشه بندی با استفاده از الگوریتم های تکاملی و فراابتکاری به این لینک (+) مراجعه نمایید.
مجموعه: دستهبندی نشده برچسب ها: Artificial Bee Colony, Artificial Bee Colony for Clustering, Automatic Clustering, Cluster Analysis, Cluster Count, Clustering, Clustering in MATLAB, Clustering Optimality Index, Clustering using Evolutionary Algorithms, Clustering using Metaheuristics, Clustering Validity Index, CS Index for Clustering, Data Mining, Data Mining in MATLAB, Data Mining using Evolutionary Algorithms, Data Mining using Metaheuristics, DB Index for Clustering, Differential Evolution, Differential Evolution for Clustering, Evolutionary Clustering, Evolutionary Data Mining, Genetic Algorithm, Genetic Algorithm for Clustering, Harmony Search, Harmony Search for Clustering, k-Means Algorithm, k-Means Clustering, k-Means Problem, Lloyd's Algorithm, Machine Learning, Machine Learning in MATLAB, Machine Learning using Evolutionary Algorithms, Machine Learning using Metaheuristics, Optimal Cluster Count, Particle Swarm Optimization, Particle Swarm Optimization for Clustering, pdist2, pdist2 Function, PSO, PSO for Clustering, Unsupervised Learning, Validity Index, آنالیز خوشه, الگوریتم k-Means, الگوریتم Lloyd, الگوریتم زنبور عسل, الگوریتم ژنتیک, الگوریتم لوید, بهینه سازی ازدحام ذرات, تابع pdist2, تحلیل خوشه, تعیین تعداد بهینه خوشه, تعیین تعداد خوشه, تکامل تفاضلی, جستجوی هارمونی, خوشه بندی, خوشه بندی k-Means, خوشه بندی با الگوریتم زنبور عسل, خوشه بندی با الگوریتم ژنتیک, خوشه بندی با بهینه سازی ازدحام ذرات, خوشه بندی با تکامل تفاضلی, خوشه بندی با جستجوی هارمونی, خوشه بندی با کلونی زنبور عسل مصنوعی, خوشه بندی با کلونی زنبور مصنوعی, خوشه بندی تکاملی, خوشه بندی خودکار, خوشه بندی در MATLAB, خوشه بندی در متلب, داده کاوی, داده کاوی تکاملی, داده کاوی در MATLAB, داده کاوی در متلب, شاخص CS در خوشه بندی, شاخص DB در خوشه بندی, شاخص های بهینگی خوشه بندی, شاخص های کیفیت خوشه بندی, کاربرد الگوریتم های تکاملی در خوشه بندی, کاربرد الگوریتم های تکاملی در داده کاوی, کاربرد الگوریتم های تکاملی در یادگیری ماشین, کاربرد الگوریتم های فرا ابتکاری در خوشه بندی, کاربرد الگوریتم های فرا ابتکاری در داده کاوی, کاربرد الگوریتم های فرا ابتکاری در یادگیری ماشین, کلاسترینگ, کلاسترینگ k-Means, کلاسترینگ خودکار, کلاسترینگ در MATLAB, کلاسترینگ در متلب, کلونی زنبور عسل مصنوعی, کلونی زنبور مصنوعی, مسأله k-Means, یادگیری غیر نظارت شده, یادگیری ماشین, یادگیری ماشین در MATLAB, یادگیری ماشین در متلب