تخفیف نوروزی پی استور
هزینه سفارش:
۲۱۹,۰۰۰ تومان قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.۸۷,۶۰۰ تومانقیمت فعلی: ۸۷,۶۰۰ تومان.
در این پست به بحث استفاده از الگوریتم کلونی مورچگان Ant Colony Optimization یا (ACO) را برای انتخاب ویژگی (Feature Selection) برای الگوریتم یادگیری ماشین شبکه عصبی مصنوعی (Artificial Neural Network) یا همان ANN می پردازیم. در این بحث با توجه به خاصیت الگوریتم الگوریتم مورچه به انتخاب ویژگی با ACO از دیتاست ها پرداخته می شود.
در این پست به بحث استفاده از الگوریتم کلونی مورچگان Ant Colony Optimization یا (ACO) را برای انتخاب ویژگی (Feature Selection) برای الگوریتم یادگیری ماشین شبکه عصبی مصنوعی (Artificial Neural Network) یا همان ANN می پردازیم. در این بحث با توجه به خاصیت الگوریتم الگوریتم مورچه به انتخاب ویژگی با ACO از دیتاست ها پرداخته می شود.
کدهای برنامه بصورت دقیق بر روی دیتاست موجود نوشته شده و بصورت روان قابل در است. انتخاب ویژگی با ACO برای ANN در نرم افزار متلب ۲۰۱۴ نوشته شده است در ادامه به تشریح موضوع می پردازیم. (استخراج ویژگی با الگوریتم کلونی مورچه در متلب)
الگوریتم بهینه سازی کلونی مورچه Ant Colony Optimization یا به اختصار ACO مورچگان تحت عنوان الگوریتم های هوش ازدحامی (هوش گروهی) شناخته شده و به مدل سازی رفتار مورچه های واقعی می پردازد. مورچه ها حشراتی هستند که می توانند گروه ها (کلونی ها) را شکل دهند. چنین رویکرد جمعیت محوری این امکان را برای الگوریتم ACO ایجاد می کند تا به حل مسائل بهینه سازی پویا به طور کاملا کارآمد بپردازد. مورچه ها به عنوان مخلوقات خودسازمانده می باشند.
از آنجایی که مورچه ها اصلا چشم ندارند، تعاملات آن ها از طریق ماده شیمیایی فرومون که از آن برای نشان گذاری مسیر استفاده می شود، اانجام می گیرد. هرچه فرومن های بیشتری در مسیر قرار گیرد مابقی مورچه ها از این مسیر بیشتر استفاده می کنند؛ بنابراین، چنین کمیتی نشان می دهد که این مسیر به عنوان یکی از بهینه ترین و کوتاه ترین راه می باشد. اکنون نگاهی به یک نمونه عینی می اندازیم. هدف پیدا کردن بهترین راه از نقطه آغازی N (آشیانه) به نقطه مقصد F (منبع غذا) می باشد.
ممکن است این حدس زده شودکه احتمال برای مورچه ای که مسیر درست را می پیماید برابر با همان احتمالی می باشد که مسیر اشتباه را انتخاب کند. نکته در اینجا اینست که مورچه ای که کوتاه ترین مسیر را می پیماید، اولین مورچه ای است که به نقطه مقصد رسیده و سپس به اشیانه ( نقطه مبدا حرکت) بر می گردد، بنابراین در این کوتاه ترین مسیر فرمون های بیشتری وجود دارد. از این رو فرمون دقیقا همان چیزی است که نشان می دهد که مورچه باید از چه مسیری برود و در پایان کوتاه ترین راه، بهترین مسیر می باشد.
شبکههای عصبی از تعداد زیادی عنصر پردازشی فوقالعاده بههمپیوسته به نام نرون تشکیل شده که برای حل یک مسئله با یکدیگر بهصورت هماهنگ عمل میکند. دستهبندی شبکه عصبی شبکهای از لایههاست، معمولاً لایهای که اطلاعات ورودی به آنها داده میشود تحت عنوان لایهی ورودی و لایهای که دادههای خروجی از آن دریافت میشود تحت عنوان لایهی خروجی نامیده میشود و به لایههای دیگر بین این دولایه (در صورت وجود) لایههای پنهان گفته میشود. .
جهت حرکتها سیگنالها همواره از سمت لایهی ورودی بهسوی لایهی خروجی است؛ بنابراین در این روش واحدهای ورودی معمولاً دادههای یا عبارات را نمایش میدهند و واحد (های) خروجی نشاندهنده دسته یا موضوع دسته میباشند .
استفاده از یک روش انتخاب ویژگی مؤثر برای کاهش ابعاد در این روش کارایی را بهبود میدهد. مشکل عمده در استفاده از شبکههای عصبی این است که ابعاد سند ورودی بسیار بزرگ است و این کار سرعت محاسبات را کند میکند. شکل ۲-۷ نمونهای شبکهی عصبی میباشد.
برای انتخاب ویژگی با ACO برای ANN بهصورت جزئی میتوان گفت ابتدا یک بردار ویژگی دودویی با طول n (به تعداد پارامترهای ورودی) از F۱ تا Fn بهصورت تصادفی تولید میشود هرکدام از این بیتهای این رشتهی دودویی متناظر با یک ویژگی در ماتریس آموزش است. اگر بیت متناظر با هر ویژگی صفر باشد آن ویژگی حذفشده و اگر یک باشد آن ویژگی در آموزش دخالت داده میشود پس از اجرای یک دور از الگوریتم کلونی مورچه با ویژگی تصادفی مقدار برازندگی برای هر بردار ویژگی دودویی تولید میشود.
برازندگی نیز مقدار خطای آموزش و تعداد ویژگیها است که میخواهیم در هر دور کمینه شود بر این اساس هر بار یک دسته جدید از ویژگیهای انتخاب میشود و رفتهرفته به سمت کمترین خطای آموزشی در الگوریتم میرویم بهترین دسته انتخابشده نهایی میشود و همان هدف یعنی انتخاب ویژگیهای بهتر آشکار میشود.
الگوریتم ACO یک روش جستجوی تصادفی است که به کلاس الگوریتمهای مبتنی بر جمعیت تعلق دارد. این تکنیک از تشابه میان شیوه جستجوی غذای مورچهها در طبیعت و شیوه جستجوی بهینه مسئله بهینهسازی ترکیبی توسط الگوریتمهای بهینهسازی استفاده مینماید.
سورس کد انتخاب ویژگی با ACO برای ANN در متلب ۲۰۱۴ نوشته شده است. این سورس کد بر روی دیتاست کوچکی انجام شده است. فقط با جایگذاری دیتاست خودتان می توانید از این سورس کد برای دیتاست جدید استفاده کنید. سورس انتخاب ویژگی با ACO برای ANN دارای دو بخش است بخش اول توسط فایل ANN .m اجرا می شود که این قسمت فقط الگوریتم ANN یا شبکه عصبی را اجرا می کند و بدون در نظر گرفتن انتخاب ویژگی است.
بخش دوم توسط فایل ANN _with_selection_ACO.m اجرا می شود که توسط الگوریتم کلونی مورچگان برای انتخاب ویژگی (فیوچر) می پردازد. کل فایل های موجود ۷ فایل می باشد که ۴ فایل مربوط به الگوریتم کلونی مورچگان و مابقی برای اجرای پیاده سازی است.
نمونه ای از سورس کد مربوط به ANN _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(20,20,dim); bestParams = round( bestParams ); selectedFeatures = find( bestParams == 1 ); disp('Selected Features: ') disp(num2str(selectedFeatures')) %% Test the results usedFeatures = trn_Inputs(selectedFeatures, :); % amade kardan e shabake net = newff(usedFeatures,trn_Outputs,5,{'tansig'}); net.trainParam.epochs = 100; net.trainParam.max_fail = 100; net.trainParam.mu_max = 1e100; net.trainParam.min_grad = 1e-100; net = train(net,usedFeatures,trn_Outputs);
استخراج ویژگی با الگوریتم کلونی مورچه در متلب
سورس برنامه پیاده سازی انتخاب ویژگی با ACO برای ANN در متلب در متلب عنوان محصولی است که در این پست به آن پرداخته شده است. محصول در نرم افزار متلب نوشته شده و بصورت کامل توسط گروه پشتیبانی پی استور تست و اجرا شده است. محصول دارای نشان تضمین کیفیت پی استور می باشد. برای دانلود محصول آن را خریداری کنید.
تیم برنامه نویسی پی استور یکی از اولین گروههای تشکیل شده در مجموعه آموزشی پی استور میباشد. این تیم از اساتید مجرب و فارغ التحصیلان رشتههای فنی و مهندسی تشکیل شده که در زمینههای مختلف برنامهنویسی و تهیه سورس کد فعال هستند.
نام اثر: | پیاده سازی انتخاب ویژگی با ACO برای ANN در متلب + سورس کد |
نوع اثر: | سورس کد |
برنامهنویس: | تیم برنامهنویسی پیاستور |
توجه: کیفیت این محصول توسط پی استور تضمین شده و در صورت عدم رضایت از محصول، به انتخاب شما:
هزینه سفارش:
۲۱۹,۰۰۰ تومان قیمت اصلی: ۲۱۹,۰۰۰ تومان بود.۸۷,۶۰۰ تومانقیمت فعلی: ۸۷,۶۰۰ تومان.
نظرات
مدیریت و پشتیبانی
نظرات و دیدگاه های خود را با ما درمیان بگذارید.