سلام. من یک شبه عصبی با سه لایه دارم و 7 ورودی و 20 خروجی که از از تولباکس متلب استفاده کردم . از الگوریتم trainrp برای اموزش شبکه اسفاده کردم. وقتی خروجی میگیرم از نظر شکل ظاهری طیف مورد نظرم درسته ولی مشکلی که هست اینه که ، ورودی هایی که میدم و میخوام خروجی اونو (یعنی مجهول مسئله) بگیرم حدود 1e5 برابر ورودی هایی هست که برای آموزش استفاده شده و انتظار دارم خروجی مجهولی که میگیرم حدود 1e5 برابر داده های تارگت باشه ولی چنین چیزی مشاهده نمیشه. یعنی با اینکه ورودی من خیلی بزرگتره ولی خروجی که از شبکه میگیرم در حد همون داده های تارگت هست. میشه راهنمایی کنین مشکل ممکنه از کجا باشه؟ ممکنه از نحوه وزن دهی که داخل خود nntool هست باشه؟ چکار باید بکنم؟
سوال دیگه م اینکه وقتی یه شبکه آموزش میبینه به نظرم یه سری وزن داره که وقتی داده میدیم بهش و simulate میکنیم باید ثابت باشه، درسته؟ ولی وقتی یه بار ورودی میدم و خروجی میگیرم اگه این کاره دوباره انجام بدم ( بدون ابنکه دوباره شبکه آموزش ببینه) خروجی عوض میشه؟چرا؟!
مرسی از کمکتون
سلام ؛ اولا شما به سوال من جواب بدهید که منظور شما از این که 7 ورودی و 20 خروجی دادید یعنی چی؟ یعنی این که مجموعه داده های ورودی مسئله تون کلا 7 تا است یا نه 7 دسته ورودی دارین ؟
ثانیا اگر شما 7 دسته داده ورودی دارین و هر دسته داده ورودی خود مثلا شامل 60 داده باشد در این صورت برای دسته داده خروجی نیز 60 داده در زیر مجموعه آن به عنوان داده های خروجی می بایست قرار داشته باشد.
بعداز تشکیل ماتریس می بایست داده های trainو target و test مسئله را مشخص نمایید. از 60 تا مجموعه داده فوق تعداد داده های train و target مسئله می بایست به یک میزان انتخاب شوند و تعداد داده های test معمولا 20 تا 25 درصد مجموعه داده ها را شامل می شود.که هر یک را می بایست در ماتریس های جداگانه تعیین نمود. بعد از تشکیل ماتریس ها باید داده ها با توجه به نوع مسئله نرمالیزه شوند که دستور نرمالیزه کردن آن در بخش demo نرم افزار متلب در تولباکس شبکه های عصبی وجود دارد و در پایان اگر بعد از تست شبکه میزان خطای شبکه بالا بود باید نوع آرایش ماتریس ها را که قبلا ایجاد کرده بودید تغییر دهید(آرایش افقی یا قائم
در جواب سوال دوم باید بگویم که بله شما می بایست وزن دهی را انجام دهید. که با توجه به نوع داده ها باید مشخص گردند. موفق باشید
|