![]() |
سوال، لطفا راهنمایی کنید(RBFN validation )
با سلام خدمت دوستان
یک سوال داشتم در مورد ساختار شبکه های عصبی من یک شبکه عصبی رو برای مدل دینامیکی مدل کردم این شبکه RBF هست که با 12 تا مرکز مدل شده . شبکه رو train کردم با 2500 داده. جوابهای خوبی هم به من داده یعنی MAE برای پارامترهای مختلف خیلی کم شده که خوب خدا رو شکر. حالا می خوام شبکه رو validate کنم. توی مرحله آموزش شبکه از الگوریتم least square recurssive استفاده کردم که یک بردار وزنی 2500*12به من داد. مراکز رو هم با الگوریتم های خودش مرتب کردم و اونا هم 12 تاش بدست اومده. برای validate کردن یه سوال دارم . ما شبکه رو با بردار وزنی که از آموزش بدست آوردیم باید validate کنیم ؟ یعنی مثلا من یک بردار 2500*12 بدست آوردم حالا باید ستون 2500 رو به صورت ثابت در وزن دهی خروجی های توابع گوسی استفاده کنم یا باید برا حالت validation دوباره از الکوریتم least square recurssive استفاده کنم و این وزن ها رو برای هر بردار خروجی جدید محاسبه کنم. امیدوارم زیاد بد منظورم رو بیان نکرده باشم و دوستان بتونن سوالم رو بفهمن. با تشکر توحید سردارمهنی |
سلام
اگر منظورتان این است که شبکه را با همان وزنهای بدست آمده از اموزش validate کنید یانه؟به نظرم جواب بلی است و این هم فکر می کنم به فلسفه validation برمی گردد. |
متشکرم
فقط یه سوال می مونه
تو validation وقتی شبکه داره off line کار می کنه مقدار خطا خیلی عالیه اما همین شبکه با داده های on line خطاش بیشتر می شه. بردار های وزنی هم به یک مقدار همگرا نمی شه هر چند که مقدار تغییرات مثلا در رقم دوم اعشار این بردار هاست . سیگنال خطا یه سیگنال رندم می شه که دامنه اش خوبه یعنی کمه اما مثلا همگرایی نداره. کاملا رندمه که همین جور که گفتم دامنه اش کمه. پریودیک نیست. آیا الزاما نباید مقادیر بردار وزنی به یک مقدار همگرا بشه؟ اگه از داده های بیشتری واسه آموزش شبکه استفاده کنم آیا این مسئله تغییر نمی کنه؟ ممنون از راهنمایی تون |
1(ها)ضميمه
سلام
به پیوست مطالبی خلاصه درباره validation و روشهایش آورده شده است. البته بنده منظورتان را از online و offline نفهمیدم شاید منظورتان از online داده جریانی باشد،نمی دانم؟(اگر معنی اش را بدانم ممنون می شوم) در هر صورت اگر شبکه شما کار دسته بندی را انجام می دهد باید وزنها در داده های آموزشی همگرا شوند ولی اگر کار خوشه بندی انجام می دهد لزومی ندارد(مثلا شبکه ART) .اگر میزان تغییرات خطای شما کم است این نشان دهنده اسن مطلب است که داده های آموزشی شما نماینده خوبی برای کل داده ها هستند اگر اختلاف خطای آموزش و تست زیاد است اینجا می گوییم overffiting رخ داده است یعنی شبکه زیادی روی داده های آموزشی fit شده است.در هر حال فکر کنم پیوست مفید باشد. |
سلام
متشکرم
بله منظور من همین بود. من اول سیمولینک رو ران کردم که مدل دینامیکی از سیستم بود. از این طریق دیتا تولید کردم . با این دسته از دیتا ها شبکه رو train کردم. خوشه بندی و انتخاب مراکز رو انجام داد. بعدش هم وزن ها رو بدست آورد . تا این جا همه چی offline بود. یعنی تو هر استپ زمانی من در همون موقع داده ها رو به شبکه تزریق نکردم و با این تزریق شبکه رو آموزش بدم. بلکه مثلا تو 100 ثانیه از مدل سیمولینک ران گرفتم و بعد این دیتا ها رو sort کردم و به صورت بردار دادم به شبکه. برا validation هم همین طور بوده یعنی باز هم از داده های 100 ثانیه با ورودی متفاوت استفاده کردم. این بار هم offline بود. خطای خوبی داد. اما حلقه بسته ی همین شبکه تو حالتی که online کار می کنه خطاش دو برابر یا حتی سه برابر می شه و اصلا هم خوانی جالبی نداره. به نظر شما اگه شبکه رو online آموزش بدم این نقص رفع می شه ؟ |
سلام
به نظرم نمی رسد که جابجایی در RBF باعث خطا شود به احتمال قریب به یقین شما در داده جریانی خطای بیشتری دارید چون تعداد داده بیشتری دارید.RBF یک تخمین زننده تابع است اگر تابعی که داده های شما از آن تبعیت می کنند پیچیده باشد به نسبت تابع ساده تر با radial bias functions مساوی خطای بیشتری دارد.اگر این فرض درست باشد قاعدتا باید به توابع radial دست زد ویا به ورودی و هر کار دیگری که این پیچیدگی را مهار کند.البته جایی مقاله ای را دیدم که فکر کنم یک همچون (اینکه ترتیب ورود مهم است) بحثی را کرده بود. می توانید در این لینک آن را ببینید.اما به نظر من داده آموزشی شما نماینده خوبی برای کل داده ها نیست چه بسا داده آموزشی 100 ثانیه اول کاملا متفاوت از 100 ثانیه دوم باشد (آنطور که من فهمیدم) واینکه خطا در داده جریانی خوب نیست هم به همین دلیل است.یعنی شبکه شما این حجم داده را با کمتر از این خطا نمی تواند مدل کند.شاید این مشکل با قوی کردن شبکه حل شود.این چیزی است که به فکر من میرسد.البته مقالاتی هم هست که روی پردازش داده های جریانی با شبکه های عصبی کار کرده اند. اما اگر کار شما داده کاوی است به نظرم ابزار اشتباهی را انتخاب کردید در ثانی اصلا پیش پردازش داده های جریانی نیز خود داستانیست. |
سلام
والا در مورد ابزار من فکر نمی کنم اشتباه کرده باشم چون در ادامه ی کارهای یک مقاله دارم حرکت می کنم . تو اون مقاله سیستم با همین روش validate شده بود. داده ها هم همه قبل از تزریق به شبکه نرمال سازی شده بود. داده هایی که برای سیستم آموزش استفاده شده هم به صورت رندم از خود متلب استفاده شده . دیگه نمی دونم از کجا این خطا ناشی می شه . تعداد توابع رادیال یا همون مراکز هم از همون مقاله استخراج شده . یه بحثی کردید مبنی بر تقویت شبکه من نیاز به توضیح بیشتر دارم . البته اگه امکانش وجود داشته باشه. ببینید روند داده ها در آموزش از تولید موج های رندم با sample time خیلی خیلی کمتر از validation بوده . توی اموزش 0.1 و در validation 1.5 ثانیه که پانزده برابر اون هست . من فکر می کنم رنج مناسبی رو پوشش می ده. من دوباره وزنها رو چک کردم همشون همگرا می شن یعنی از یه مقدار iteration به بعد به صورت کیفی اگه به نمودارش نگاه کنیم ثابت می مونن اما همون جور که گفتم در ارقام سوم اعشار تغییرات دارند. من هنوز به جواب سوالم نرسیدم که اگر شبکه رو به صورت برخط آموزش بدم آیا تغییری در بردار های وزنی بوجود می یاد یا عملکردش بهتر می شه ؟ لطفا به این سوال جواب روشن تری بدید چون واقعا تغییر این الگوریتم کار مشکلیه و زمان زیادی می بره. از وقتتون تشکر می کنم. |
سلام
فکر می کنم رشته شما برق باشد چون در بکار گیری بعضی واژگان با هم اختلاف داریم. منظور من از به کار گیری ابزار دیگر گذر از شبکه های عصبی و توجه به بعضی ابزار های دیگر مانند درخت تصمیم به اتکای اصل اپیوری و الی آخر بود.اما اگر بخواهید روی همین شبکه های عصبی تاکید کنید و فقط هم بر RBF بخواهید کار کنید.باید بگویم در این نوع شبکه مفهومی به صورت زمان نداریم.یعنی اگر بحث زمان برای شما مهم باشد باید بروید سراغ شبکه های دیگری که سعی شده مفهوم زمان به صورت ضمنی یا صریح در آنها گنجانده شده است.بگذریم،این چیزی که من باز ازمیان مطالب شما فهمیدم(با توجه به تفاوت واژگان) شما یک موج را دارید نمونه برداری می کنید،و فرکانس نمونه برداری شما در آموزش 1/0.1 می باشد.اگر فهم من صحیح باشد به چه دلیل فرکانس نمونه برداری را تغییر دادید؟ این اولین سوال دومین سوال این است که منظور شما از آموزش بر خط RBF چیست؟ یعنی هر داده که می آید در یک جریان حکم داده آموزشی را داشته باشد؟ خوب در این صورت کی به validation میرسیم؟ و اگر از این هم بگذریم آیا RBF مناسب این کار است؟ فکر می کنم اگر آن مقاله را برای بنده بفرستید بهتر متوجه شوم که اصلا اوضاع از چه قرار است و در حد توانم اگر دانشی داشتم کمکی کنم. |
زمان محلي شما با تنظيم GMT +3.5 هم اکنون ۰۹:۰۵ بعد از ظهر ميباشد. |
Powered by vBulletin® Version 3.8.3
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0 ©2007, Crawlability, Inc.