تبلیغات
برق. قدرت. کنترل. الکترونیک. مخابرات. تاسیسات. - کاربرد آنالیز اجزای اصلی(PCA) در آموزش شبکه های عصبی

برق. قدرت. کنترل. الکترونیک. مخابرات. تاسیسات.

دایره المعارف تاسیسات برق (اطلاعات عمومی برق)

کاربرد آنالیز اجزای اصلی(PCA) در آموزش شبکه های عصبی:

یکی از کاربردهای مطلوب آنالیز اجزای اصلی، استفاده از آن به عنوان ابزاری کمکی، در آموزش شبکه های عصبی است .معمولا قبل از آغاز آموزش شبکه های عصبی یکسری پیش پردازش بر روی داده ها انجام می شود که  باعث افزایش کارایی شبکه های عصبی می شود مانند :نرمالایز کردن داده ها و قرار دادن آن ها در یک فاصله مشخص مثلا بین -1 و 1.

در بعضی وضعیت ها ابعاد بردار ورودی بسیار بزرگ است، اما اجزا بردارها،همبستگی بالایی دارند. مفید است که در این وضعیت ابعاد بردار ورودی را کاهش دهیم. یک رویه مناسب برای این عمل استفاده از آنالیز اجزای اصلی است.این عمل سه اثر دارد: متعامد سازی اجزا بردار ورودی (بنابراین آنها هیچ وابستگی با یکدیگر ندارند) ، این کار اجزا متعامد(اصلی) را مرتب می کند و موثر ترین آن ها در اولین اولویت قرار می گیرد ، و در نتیجه می توان اجزایی که تغییرات کوچکتری در مجموعه داده ها ایجاد می کنند ،حذف کرد.

در برنامه مطلب(MATLAB) این کار را می توان به صورت زیر انجام داد:

 [pn,ps1]=mapstd(p)

[ptrans,ps2]=processpca(pn,0.02)

ابتدا بردار ورودی را با انحراف معیار یک و میانگین صفر نرمالایز می کنیم(این رویه استاندارد مطلب  است زمانی که از اجزا اصلی استفاده می کنیم ).دستور دوم آنالیز اجزا اصلی را انجام می دهد،دومین آرگومان ورودی، را 0.02 تنظیم کرد ه ایم، این یعنی که اجزا ورودی که تغییرات کمتر از دو درصد در مجموعه داده های ورودی ایجاد می کند را توسط این دستورحذف می شود.

حذف این عناصر اضافی سرعت آموزش شبکه های عصبی را افزایش می دهد و در صورتی که ابعاد مسئله خیلی بزرگ باشد کارایی شبکه را بهبود می بخشد، به خصوص زمانی که از الگوریتم های تکاملی مانند: الگوریتم های ژنتیک،بهینه سازی انبوه ذرات و... برای آموزش شبکه های عصبی استفاده می شود.

در مثالی که در لینک زیر قرار دارد از آنالیز اجزا اصلی قبل از شروع آموزش شبکه های عصبی( با استفاده  از الگوریتم پس انتشار) استفاده شده است. ابعاد ورودی ابتدا 64 بعد است ،ولی با استفاده از آنالیز اجزا اصلی به 8 بعد کاهش یافته است. اگر چه کارایی شبکه بدتر شده ولی  هنوز قابل قبول است، با این وجود سرعت آموزش افزایش یافته است.ولی اگر به جای الگوریتم پس انتشار از الگوریتم های تکاملی استفاده کنیم ، نتیجه استفاده از آنالیز اجزا اصلی ،افزایش سرعت  و بهبود کارایی شبکه است.

http://ehsan42001.persiangig.com/90/matlab/pca/example.zip


صفحات جانبی

نظرسنجی

    لطفاً نظرات خود را درمورد وبلاگ با اینجانب در میان بگذارید.(iman.sariri@yahoo.com)نتایج تاکنون15000مفید و 125غیرمفید. با سپاس


  • آخرین پستها

آمار وبلاگ

  • کل بازدید :
  • تعداد نویسندگان :
  • تعداد کل پست ها :
  • آخرین بازدید :
  • آخرین بروز رسانی :