تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

پیاده سازی انتخاب ویژگی با ACO برای SVM در متلب + سورس کد

هزینه سفارش:

۲۱۹,۰۰۰ تومان

روز
ساعت
دقیقه
ثانیه
دریافت کد تخفیف با گردونه شانس %
تعداد فراگیر
289 نفر
امتیاز کاربران
امتیاز 5.00 از 5

در این پست به بحث استفاده از الگوریتم کلونی مورچگان Ant Colony Optimization یا (ACO) را برای انتخاب ویژگی (Feature Selection) برای الگوریتم یادگیری ماشین بردار ماشین پشتیبان Support Vector Machine یا SVM  می پردازیم. در این بحث با توجه به خاصیت الگوریتم مورچه به انتخاب ویژگی با ACO از دیتاست‌ها پرداخته می‌شود.

در این پست به بحث استفاده از الگوریتم کلونی مورچگان Ant Colony Optimization یا (ACO) را برای انتخاب ویژگی (Feature Selection) برای الگوریتم یادگیری ماشین بردار ماشین پشتیبان Support Vector Machine یا SVM می پردازیم. کدهای برنامه بصورت دقیق بر روی دیتاست سرطان سینه اعمال شده است. انتخاب ویژگی با ACO برای SVM در نرم افزار متلب نوشته شده است در ادامه به تشریح موضوع می‌پردازیم.

الگوریتم کلونی مورچه ACO

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

از آن جایی که مورچه‌ها چشم ندارند، تعاملات آن‌ها از طریق ماده شیمیایی فرومون که از آن برای نشان گذاری مسیر استفاده می‌شود، انجام می‌گیرد. هرچه فرومون‌های بیشتری در مسیر قرار گیرد مابقی مورچه‌ها از این مسیر بیشتر استفاده می‌کنند؛ بنابراین، چنین کمیتی نشان می‌دهد که این مسیر به عنوان یکی از بهینه‌ترین و کوتاه‌ترین راه می‌باشد. اکنون نگاهی به یک نمونه عینی می‌اندازیم. هدف پیدا کردن بهترین راه از نقطه آغازی N (آشیانه) به نقطه مقصد F (منبع غذا) می‌باشد.الگوریتم مورچه ACO

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

ماشین بردار پشتیبان SVM

مسئله دسته بندی (Classification) یکی از مسائل اصلی مطرح شده در یادگیری ماشین است و بسیاری از مسائل را می‌توان به صورت یک مسئله دسته بندی مطرح کرده و حل کرد. از طرفی در یادگیری ماشین نیز روش‌های مختلفی برای حل مسئله دسته بندی صورت گرفته است. یکی از روش‌هایی که در حال حاضر به صورت گسترده‌ای برای مسئله دسته‌بندی مورد استفاده قرار می‌گیرد، روش ماشین بردار پشتیبان ( SVM ) است.

بردارهای پشتیبان به زبان ساده، مجموعه‌ای از نقاط در فضای n بعدی داده‌ها هستند که مرز دسته‌ها را مشخص می‌کنند و مرزبندی و دسته بندی داده‌ها براساس آنها انجام می‌شود و با جابجایی یکی از آنها، خروجی دسته بندی ممکن است تغییر کند .

انتخاب ویژگی با ACO

در SVM فقط داده‌های قرار گرفته در بردارهای پشتیبان مبنای یادگیری ماشین و ساخت مدل قرار می‌گیرند و این الگوریتم به سایر نقاط داده حساس نیست و هدف آن هم یافتن بهترین مرز در بین داده هاست به گونه‌ای که بیشترین فاصله ممکن را از تمام دسته‌ها (بردار های پشتیبان آن‌ها) داشته باشد .

انتخاب ویژگی با الگوریتم کلونی مورچگان ACO

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

برازندگی نیز مقدار خطای آموزش و تعداد ویژگی‌ها است که می‌خواهیم در هر دور کمینه شود بر این اساس هر بار یک دسته جدید از ویژگی‌های انتخاب می‌شود و رفته‌رفته به سمت کمترین خطای آموزشی در الگوریتم می‌رویم بهترین دسته انتخاب‌شده نهایی می‌شود و همان هدف یعنی انتخاب ویژگی‌های بهتر آشکار می‌شود.

سورس کد انتخاب ویژگی با ACO برای SVM در متلب

سورس کد انتخاب ویژگی با ACO برای SVM در متلب برنامه نویسی شده است. این سورس کد بر روی دیتاست سرطان سینه اعمال شده است. فقط با جایگذاری دیتاست خودتان می‌توانید از این سورس کد برای دیتاست جدید استفاده کنید. سورس انتخاب ویژگی با ACO برای SVM دارای دو بخش است بخش اول توسط فایل SVM.m اجرا می‌شود که این قسمت فقط الگوریتم SVM را اجرا می‌کند و بدون در نظر گرفتن انتخاب ویژگی است.

بخش دوم توسط فایل  SVM_with_selection_ACO.m اجرا می‌شود که توسط الگوریتم کلونی مورچگان برای انتخاب ویژگی (فیوچر) می پردازد. کل فایل‌های موجود ۷ فایل می‌باشد که ۴ فایل مربوط به الگوریتم کلونی مورچگان و مابقی برای اجرای پیاده سازی است.

  • Dataset.mat: دیتاست مربوط به پیاده سازی می‌باشد.
  • SVM.m: اجرای پیاده سازی برای دسته بندی بدون انتخاب ویژگی یا خصیصه است.
  • SVM_with_selection_ACO.m: اجرای پیاده سازی برای دسته بندی بدون انتخاب ویژگی یا خصیصه است.

نمونه ای از سورس کد مربوط به SVM_with_selection_ACO.m به شرح زیر است:

clc, clear, close all

global trn_Inputs tst_Inputs trn_Outputs tst_Outputs 
addpath(genpath('ACO'))

load Dataset

Inputs = Dataset(:,1:end-1)';
Output = Dataset(:,end)';
Output(Output==2) = 0;
Output(Output==4) = 1;

% sakhtan e dade haye amoozesh va test
[trn_Inputs,valP,tst_Inputs,trainInd,valInd,testInd] = dividerand(Inputs,0.6,0,0.4);
[trn_Outputs,valT,tst_Outputs] = divideind(Output,trainInd,valInd,testInd);

dim = size( Dataset , 2) - 1;


%aco(MaxIteretion,nAnt,dim)
bestParams = aco(10,20,dim);

bestParams = round( bestParams );
selectedFeatures = find( bestParams == 1 );
disp('Selected Features: ')
disp(num2str(selectedFeatures'))


%% Test the results


 usedFeatures = trn_Inputs(selectedFeatures, :);

خروجی پیاده سازی انتخاب ویژگی با الگوریتم ACO

انتخاب ویژگی با ACO

انتخاب ویژگی با ACO


درباره اثر

سورس برنامه پیاده سازی انتخاب ویژگی با الگوریتم کلونی مورچه ACO برای SVM  در متلب عنوان اثری است که در این پست به آن پرداخته شده است و در نرم افزار متلب نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. فایل دارای نشان تضمین کیفیت پی استور می‌باشد. برای دانلود اثر مذکور آن را خریداری کنید.

مشاهده بیشتر

ویدئوی معرفی اثر

معرفی و نحوه اجرای پروژه


برنامه‌نویس:  تیم برنامه‌نویسی پی‌استور

متشکل از اساتید و فارغ التحصیلان رشته‌های فنی - مهندسی

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

مشخصات تکمیلی سورس کد

نام اثر: پیاده سازی انتخاب ویژگی با ACO برای SVM در متلب + سورس کد
نوع اثر: سورس کد
برنامه‌نویس: تیم برنامه‌نویسی پی‌استور
زبان برنامه نویسی: متلب
ویژگی: دارای قابلیت ویرایش و دانلود

راهنمای خرید و ثبت سفارش

تصویر مراحل خرید از پی استور

اگر در مورد این اثر یا نحوه تهیه آن سوالی دارید؟
  • با شماره تلفن واحد مخاطبین 44225175 (پیش شماره 041) تماس بگیرید. – تمام ساعات اداری
  • با ما مکاتبه ایمیلی داشته باشید (این لینک). – تمام ساعات

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

تصویر و لوگوی گارانتی

نظرات

2 نظر|5.00 (میانگین امتیاز کاربران)

  1. آواتار احمد رضایی

    احمد رضایی

    سلام و تشکر از سایت تخصصی تون.
    با این همه موضوعات مرتبط که در زمینه الگوریتم بهینه سازی کلونی مورچگان کار شده می خواستم یه سوالی داشته باشم. اگر تعداد فیوچرهای ما در مسئله پردازش تصویر زیاد باشه (۱۶۰ ویژگی) آیا الگوریتم کلونی مورچه می تونه subset با کارایی بالا رو انتخاب کنه و کدام نوع الگوریتم (پیوسته یا باینری) می تونه جواب بهتری بده؟
    ممنون می شم راهنمایی بفرمایید.

    • آواتار مدیریت و پشتیبانی

      مدیریت و پشتیبانی

      سلام و وقت بخیر
      ممنون از شما دوست عزیز. بله برای انتخاب ویژگی با الگوریتم ACO میشه برای مسائلی که تعداد فیوچرهای زیادی دارند استفاده کرد و بهترین نتیجه رو هم الگوریتم ACO باینری یا همون گسسته خواهد داد.

  2. آواتار مدیریت و پشتیبانی

    مدیریت و پشتیبانی

    نظرات و دیدگاه های خود را با ما درمیان بگذارید.

دیدگاه خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

شناسه اثر: 4494 دسته‌بندی موضوعی: برچسب ,

هزینه سفارش:

۲۱۹,۰۰۰ تومان

دریافت کد تخفیف %