• مقالات آموزشی
    • آموزش برنامه نویسی
    • آموزش الگوریتم
    • آموزش شبکه های کامپیوتری
    • آموزش های عمومی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپوینت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • لیست قالب آماده HTML
  • دانلود رایگان
  • مجله پی استور
  • ابزارهای آنلاین
    • برنامه نویسی آنلاین
    • تبدیل مبنای آنلاین
  • سفارش تدریس آنلاین
  • آموزش برنامه نویسی
  • آموزش الگوریتم
  • آموزش شبکه
  • آموزش عمومی

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت
  • درباره ما
  • تماس با ما
  • سفارش تدریس آنلاین
پی استور
0

ورود و ثبت نام

مقالات آموزشی
  • ترجمه مقاله
    • لیست ترجمه کامل مقالات
    • لیست ترجمه مفهومی مقالات
  • تحقیق و پژوهش
    • لیست داکیومنت پایان‌نامه
    • لیست داکیومنت سمینار
  • پیاده سازی
    • سی پلاس پلاس ++C
    • برنامه نویسی OpenGL
    • سی شارپ #C
    • پایتون Python
    • اندروید Android
    • پی اچ پی PHP
    • متلب Matlab
  • پاورپوینت
    • پاورپوینت الگوریتم های بهینه سازی
    • پاورپوینت شبکه‌های کامپیوتری
    • پاورپونت مهندسی کامپیوتر
    • پاورپوینت یادگیری ماشین
    • پاورپوینت درس و تحقیق
      • عمومی
      • مشاهیر و اشخاص
      • واقعیت مجازی
      • طراحی سایت
      • برنامه نویسی
      • علوم کامپیوتر
      • اینترنت اشیاء
      • سیستم عامل
      • ارز دیجیتال
      • کسب و کار
      • تکنولوژی
      • علوم
    • قالب آماده پاورپوینت
  • فیلم آموزشی
    • لیست فیلم های آموزشی
  • قالب آماده
    • قالب آماده HTML
  • مجله پی استور
  • ابزارهای آنلاین
    • برنامه نویسی آنلاین
    • تبدیل مبنای آنلاین

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

خانهفروشگاههوش مصنوعییادگیری ماشینپیاده سازی انتخاب ویژگی با الگوریتم کلونی مورچه ACO برای NB در متلب
انتخاب ویژگی با ACO برای NB

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

در این پست به بحث انتخاب ویژگی با ACO برای NB یعنی استفاده از الگوریتم کلونی مورچگان Ant Colony Optimization یا (ACO) را برای انتخاب ویژگی (Feature Selection) برای الگوریتم یادگیری ماشین نیو بیزین (Naive Bayesian) یا همان NB می پردازیم. در این بحث با توجه به خاصیت الگوریتم الگوریتم مورچه به انتخاب ویژگی با ACO از دیتاست ها پرداخته می شود. کدهای برنامه بصورت دقیق بر روی دیتاست موجود نوشته شده و بصورت روان قابل در است. انتخاب یا استخراج ویژگی با ACO برای NB در نرم افزار متلب 2014 نوشته شده است در ادامه به تشریح موضوع می پردازیم.(استخراج ویژگی با الگوریتم کلونی مورچه در متلب)

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

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

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

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

روش نیو بیزین naive bayesian

الگوریتم نیو بیزین naive bayesian یک الگوریتم یادگیری ساده است که از قاعده بیز به همراه فرض محکمی که صفات با توجه به کلاس از نظر شرطی مستقل هستند، استفاده می‌کند. اگرچه این فرض استقلال در عمل اغلب نقض می‌شود، با این وجود، اغلب الگوریتم نیو بیزین naive bayesian صحت دسته‌بندی قابل رقابتی ارائه می‌کند. این ویژگی به همراه کارایی محاسباتی و ویژگی‌های مطلوب بسیار دیگری، سبب شده naive bayesians در عمل به صورت گسترده مورد استفاده قرار بگیرد.

انگیزه و پس‌زمینه naive bayesian

الگوریتم نیو بیزین naive bayesian مکانیزمی برای استفاده از اطلاعات داده‌های نمونه برای تخمین احتمال موخر P(y|x) هر کلاس y با توجه به شی x فراهم می‌کند. هنگامی که چنین تخمین‌هایی داشته باشیم، می‌توانیم از آن‌ها برای دسته‌بندی یا دیگر کاربردهای پشتیبان تصمیم استفاده کنیم.

برخی از ویژگی‌های مطلوب بسیار الگوریتم نیو بیزین naive bayesian موارد زیر است:

  • کارایی محاسباتی: زمان آموزش با توجه به تعداد نمونه‌های آموزشی و هم تعداد صفات خطی بوده و زمان دسته‌بندی با توجه به تعداد صفات خطی است و از تعداد نمونه‌های آموزشی تاثیر نمی‌پذیرد.
  • واریانس کم: به دلیل این که الگوریتم نیو بیزین naive bayesian از جستجو استفاده نمی‌کند، واریانس پایینی دارد که البته هزینه آن سوگیری بالاست.
  • یادگیری تدریجی: الگوریتم نیو بیزین naive bayesian از تخمین‌های داده‌های آموزشی عمل می‌کند. این موارد ی‌توانند زمانی که داده‌های جدید گردآوری شد، به راحتی به روزرسانی بشوند.
  • پیش‌بینی مستقیم احتمالات موخر.
  • مقاومت در برابر نویز: همواره naive bayesian از تمام صفات برای پیش‌بینی استفاده می‌کند، بنابراین در مقابل نویز در نمونه‌هایی که باید دسته‌بندی شوند، نسبتا غیر حساس است. از آن‌جا که از احتمالات استفاده می‌کند، نسبتا به نویز در داده‌های آموزشی نیز نسبتا غیر حساس است.
  • مقاومت در برابر مقادیر مفقود: از آن‌جا که الگوریتم نیو بیزین naive bayesian از تمام صفات برای پیش‌بینی استفاده می‌کند، اگر یک مقدار صفت از دست برود، اطلاعات دیگر صفات استفاده می‌شود، که نتیجه آن افت شدید عملکرد است. هم‌چنین نظر به چارچوب احتمال آن، در مقابل مقادیر مفقود صفت در داده‌های آموزشی بی تفاوت است.

برای مطالعه جزئیات بیشتر می توانید مقاله آموزش الگوریتم نیو بیزین را مطالعه فرمایید.

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

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

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

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

سورس کد انتخاب ویژگی با ACO برای NB در متلب 2014 نوشته شده است. این سورس کد بر روی دیتاست کوچکی انجام شده است. فقط با جایگذاری دیتاست خودتان می توانید از این سورس کد برای دیتاست جدید استفاده کنید. سورس انتخاب ویژگی با ACO برای NB دارای دو بخش است بخش اول توسط فایل NB.m اجرا می شود که این قسمت فقط الگوریتم NBیا نیو بیزین را اجرا می کند و بدون در نظر گرفتن انتخاب ویژگی است. بخش دوم توسط فایل  NB _with_selection_ACO.m اجرا می شود که توسط الگوریتم کلونی مورچگان برای انتخاب ویژگی (فیوچر) می پردازد. کل فایل های موجود 7 فایل می باشد که 4 فایل مربوط به الگوریتم کلونی مورچگان و مابقی برای اجرای پیاده سازی است.

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

نمونه ای از سورس کد مربوط به NB _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
nb = NaiveBayes.fit(usedFeatures', trn_Outputs');
y_hat_tst=nb.predict(tst_Inputs(selectedFeatures, :)');

خروجی پیاده سازی

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

 

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

 

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

 

 

ویدئوی معرفی محصول

درباره محصول

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

امتیاز
5.00 از 1 رأی
5.00 1 رای
59,000 تومان 39,000 تومان
تاریخ انتشار: 10 شهریور 1397
تاریخ بروزرسانی: 24 دی 1398
حجم فایل: 6.8 کیلوبایت
فرمت فایل m. در قالب متلب
نسخه: 1.0
شناسه اثر: ندارد
هماهنگی با: Matlab 2009 و بالاتر
دانلود شده توسط: 245 نفر

تاکنون 245 نفر این محصول را تهیه کرده اند و 1 نظر برای آن ثبت شده است.

نظرات و دیدگاه ها
  • علیرضا ساقی
    9 اسفند 1397
    امتیاز 5 از 5
    پاسخ

    ممنون از فایل خوبتون من همین کار رو با الگوریتم ژنتیک و ازدحام ذرات هم می خوام.

    • مدیریت و پشتیبانی
      9 اسفند 1397
      پاسخ

      سلام ممنون با آیدی تلگرام ما هماهنگ کنید تا توضیحات لازم رو بدیم

قوانین ثبت دیدگاه

  • لطفاً دیدگاه های خود را فارسی تایپ کنید.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • سوالات تخصصی خودتان را از طریق تیکت پشتیبانی مطرح کنید.

لغو پاسخ

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

دسته‌بندی موضوعی: الگوریتم‌های فرا ابتکاری برنامه نویسی متلب هوش مصنوعی یادگیری ماشین

قیمت 59,000 تومان 39,000 تومان

افزودن به علاقه مندی ها
امتیاز
5.00 از 1 رأی
5.00 1 رای
59,000 تومان 39,000 تومان

تاریخ انتشار: 10 شهریور 1397
تاریخ بروزرسانی: 24 دی 1398
حجم فایل: 6.8 کیلوبایت
فرمت فایل m. در قالب متلب
نسخه: 1.0
شناسه اثر: ندارد
هماهنگی با: Matlab 2009 و بالاتر
دانلود شده توسط: 245 نفر

1 بازخورد (مشاهده نظرات)

قیمت: 59,000 تومان 39,000 تومان

تماس با ما
  • دفتر پشتیبانی: 04144225175 (ساعت کاری 8:00 الی 16:00)
  • آی دی تلگرام: programerPstore
درباره پی استور

تیم توسعه پی استور با هدف ارائه مطالب مفید علمی در گرایش های مختلف پروژه های علمی مختلف را جمع آوری می کند و در قالب یک محصول تست شده و قابل اجرا همراه با توضیحات و نحوه اجرا، انتشار می دهد. امید است با عنایت الهی و کوشش اساتید و دانشجویان همراهمان بتوانیم قدم کوچکی در تولید محتوای علمی کشور داشته باشیم.

مجوز های اخذ شده
اینماد نشان ملی   پروانه نشر دیجیتال
  • حساب کاربری من
  • سوالات متداول
  • راهنمای خرید و دانلود
پی استور
  • همکاری با ما
  • قوانین و مقررات
  • حریم خصوصی
تمامی حقوق برای پی استور محفوظ است.
keyboard_arrow_up