پروژه متلب بهینه سازی ماشین های بردار چند کلاسه با الگوریتم ژنتیک
بهینه سازی ماشین های بردار چند کلاسه با الگوریتم ژنتیک با متلب | MATLAB
عنوان پروژه: بهینه سازی ماشین های بردار چند کلاسه با الگوریتم genetic
———————————————–
توضیحات پروژه: یکسری داده در فایلهای oxides,PCA هست با ۱۰ تا خصوصیت و کلاس هایی که در ستون ۱۱ تعریف شده .
میخواستم داده های مربوط به فایل اکسیدها به پنج گروه با استفاده از ماشین های بردار پشتیبان تقشیم بندی کنم و از الگوریتم GENETIC برای بهینه سازی استفاده کنم .
برای سری داده های PCA روش هیبریدی FUZZY C MEAN+NEURAL NETWROK+BEE COLONY OPTIMIZATION برای کلاسه بندی بهینه (مربوط به ستون ۱۱ این داده ها ) انجام دهم .
بخشی از گزارش پروژه:
در این پروژه مجموعه دادهای با ۹۱۴ داده با ۱۰ ویژگی و از دو نوع کلاس در دسترس است. میخواهیم به کمک الگوریتم fuzzy C-means ابتدا کلاسترینگ (خوشهبندی) بر روی دادهها انجام داده؛ مراکز دسته حاصل از این الگوریتم را به کمک الگوریتم تکاملی زنبورها بهبود داده و در ادامه با کمک شبکه عصبی به کلاسبندی دادهها میپردازیم.
ابتدا دادهها را بارگذاری یا لود کرده و آنها را در متغیر data داریم. دو متغیر data و center را به صورت global یا سراسری تعریف میکنیم که بتوان از آنها در دیگر توابع پروژه استفاده نمود. به کمک دستور find ایندکس داده هایی که کلاس آنها ۰ است را یافته و در آرایه class0 و همچنین ایندکس داده هایی که کلاس آنها ۱ است در آرایه ای به نام class1 ذخیره مینماییم. در ادامه با داشتن این ایندکس ها، آرایه class0data و class1data ساخته میشوند که به ترتیب داده هایی که کلاس آنها ۰ و ۱ است را در خود دارند. (class0data حاوی داده هایی است که کلاس آنها ۰ است و به همین ترتیب class1data حاوی داده هایی از مجموعه داده است که کلاس آنها ۱ میباشد.)
حال با داشتن مجموعه دادههای آماده شده از دو کلاس به صورت تفکیک شده، الگوریتم fuzzy C-Means را بر روی هر یک از مجموعه داده های تفکیک شده از کلاس ۰ و ۱ انجام میدهیم. برای اینکار از دستور fcm استفاده میکنیم که آرگومانهای مجموعه داده، تعداد کلاسترهای دلخواه و آرگومان option ( که دلخواه بوده و برای مشخص کردن پارامترهای کلاسترینگ است ) را به عنوان ورودی دریافت و ماتریس مراکز دسته حاصل ، توابع عضویت و مقادیر توابع هدف در طی تکرار الگوریتم را به ترتیب به عنوان خروجی نتیجه میدهد.
توضیح آرگومان سوم از تابع fcm : این آرگومان همانطور که توضیح داده شد جهت مشخص کردن پارامترهای کلاسترینگ به کار برده میشود و خود از ۴ بخش تشکیل شده است. المان اول نشان دهنده توان تابع پارتیشن بندی است که به صورت پیش فرض برابر ۰٫۲ در نظر گرفته شده است. المان دوم ماکزیمم تکرارها است که مقدار پیش فرض آن برابر ۱۰۰ است. المان سوم حداقل مقدار بهبود است و برابر ۱e-5. بوده و در نهایت المان چهارم نشاندهنده تعداد اطلاعاتی که در طی اجرای الگوریتم نشان داده میشوند.
____________
به منظور آماده سازی مجموعه داده مورد نظر ابتدا یکسری تغییرات به این ترتیب بر روی آن اعمال میشود. ابتدا مجموعه داده اولیه را که از پیش در Dataset1 قرار دادهایم بارگذاری (Load) میکنیم. به منظور سهولت در بررسی روند تغییرات دادهها آنها را در ۱۰۰ ضرب کرده و از اعشار صرفنظر نموده که اعداد در بازه ۰ تا ۱۰۰ قرار گیرند. در نهایت ستون آخر که نشاندهنده کلاس داده هست را نیز اضافه مینماییم.
لطفاً براي ارسال دیدگاه، ابتدا وارد حساب كاربري خود بشويد