در حوزه ی مدلسازی ریاضی،RBF یک شبکه عصبی مصنوعی هستش که از توابع پایه ای شعاعی به عنوان توابع فعالیت استفاده می کنه. خروجی این شبکه یک ترکیب خطی از توابع پایه ی شعاعی برای پارامترهای ورودی و نرونهاست. این شبکه ها در تابع تقریب،پیشبینی سری های زمانی،کلاسبندی و کنترل سیستم مورد استفاده قرار میگیرند.
معماری شبکه :
شبکه های RBF معمولا شامل سه لایه هستن : لایه ی ورودی ، لایه ی مخفی با یه تابع فعالیت RBF غیرخطی و لایه ی خروجی
ورودی می تونه به عنوان یه بردار از اعداد حقیقی مدل بشه و خروجی این شبکه یه تابع scalar از بردار ورودی هستش که به صورت زیر محاسبه میشه :
که N تعداد نرونهای لایه ی مخفی،Ci بردار مرکز نرون i و ai وزن نرون i در نرون خروجی خطی هستش.
آموزش :
شبکه های RBF معمولا به وسیله ی یک الگوریتم دو مرحله ای آموزش داده میشن. در مرحله ی اول، بردارهای مرکز ci برای توابع RBF در لایه ی مخفی انتخاب میشن. این مرحله رو میشه با چندین روش اجرا کرد : میشه مراکز رو به شکل تصادفی از برخی مجموعه مثالها نمونه برداری کرد، یا میشه از K-means clustring بهره برد.توجه داشته باشین که این مرحله بدون نظارته ( unsupervised).
مرحله ی دوم به سادگی با یک مدل خطی با ضرایب wi برای خروجی های لایه ی مخفی با توجه به تابع هدف، متناسب میشه.
یه سورس کد از شبکه عصبی RBF هم واستون قرار دادم ، میتونین از لینک زیر دانلود کنین :