Artificial Intelligence - هوش مصنوعی

Artificial Intelligence - هوش مصنوعی (http://artificial.ir/intelligence/)
-   شبکه های عصبی (Neural Networks) (http://artificial.ir/intelligence/forum10.html)
-   -   درخواست راهنمایی (http://artificial.ir/intelligence/thread11772.html)

najme65 ۰۳-۲۱-۱۳۹۲ ۰۶:۱۳ بعد از ظهر

درخواست راهنمایی
 
سلام. من یک شبه عصبی با سه لایه دارم و 7 ورودی و 20 خروجی که از از تولباکس متلب استفاده کردم . از الگوریتم trainrp برای اموزش شبکه اسفاده کردم. وقتی خروجی میگیرم از نظر شکل ظاهری طیف مورد نظرم درسته ولی مشکلی که هست اینه که ، ورودی هایی که میدم و میخوام خروجی اونو (یعنی مجهول مسئله) بگیرم حدود 1e5 برابر ورودی هایی هست که برای آموزش استفاده شده و انتظار دارم خروجی مجهولی که میگیرم حدود 1e5 برابر داده های تارگت باشه ولی چنین چیزی مشاهده نمیشه. یعنی با اینکه ورودی من خیلی بزرگتره ولی خروجی که از شبکه میگیرم در حد همون داده های تارگت هست. میشه راهنمایی کنین مشکل ممکنه از کجا باشه؟ ممکنه از نحوه وزن دهی که داخل خود nntool هست باشه؟ چکار باید بکنم؟

سوال دیگه م اینکه وقتی یه شبکه آموزش میبینه به نظرم یه سری وزن داره که وقتی داده میدیم بهش و simulate میکنیم باید ثابت باشه، درسته؟ ولی وقتی یه بار ورودی میدم و خروجی میگیرم اگه این کاره دوباره انجام بدم ( بدون ابنکه دوباره شبکه آموزش ببینه) خروجی عوض میشه؟چرا؟!

مرسی از کمکتون

kamran_kenzo ۰۳-۲۱-۱۳۹۲ ۰۶:۳۲ بعد از ظهر

نقل قول:

نوشته اصلي بوسيله najme65 (پست 29192)
سلام. من یک شبه عصبی با سه لایه دارم و 7 ورودی و 20 خروجی که از از تولباکس متلب استفاده کردم . از الگوریتم trainrp برای اموزش شبکه اسفاده کردم. وقتی خروجی میگیرم از نظر شکل ظاهری طیف مورد نظرم درسته ولی مشکلی که هست اینه که ، ورودی هایی که میدم و میخوام خروجی اونو (یعنی مجهول مسئله) بگیرم حدود 1e5 برابر ورودی هایی هست که برای آموزش استفاده شده و انتظار دارم خروجی مجهولی که میگیرم حدود 1e5 برابر داده های تارگت باشه ولی چنین چیزی مشاهده نمیشه. یعنی با اینکه ورودی من خیلی بزرگتره ولی خروجی که از شبکه میگیرم در حد همون داده های تارگت هست. میشه راهنمایی کنین مشکل ممکنه از کجا باشه؟ ممکنه از نحوه وزن دهی که داخل خود nntool هست باشه؟ چکار باید بکنم؟

سوال دیگه م اینکه وقتی یه شبکه آموزش میبینه به نظرم یه سری وزن داره که وقتی داده میدیم بهش و simulate میکنیم باید ثابت باشه، درسته؟ ولی وقتی یه بار ورودی میدم و خروجی میگیرم اگه این کاره دوباره انجام بدم ( بدون ابنکه دوباره شبکه آموزش ببینه) خروجی عوض میشه؟چرا؟!

مرسی از کمکتون

سلام در مورد سوال اول شما باید بگم که دلیل این رخداد بر میگرده به ذات این نوع شبکه که میتونید اطلاعات کاملتر رو در لینک زیر ببینید:
Backpropagation (Neural Network Toolbox)

در ضمن اینکه خروجی sim هر دفعه عوض میشه احتمالا جایی از کدتون اشکال وجود داره! اگه کدتون رو اینجا قرار بدید بهتر میشه نظر داد.

najme65 ۰۳-۲۲-۱۳۹۲ ۰۹:۰۰ قبل از ظهر

خب حالا چه جوری باید به خروجی مورد نظرم برسم؟ به نظر شما از چه الگوریتمی استفاده کنم که این مشکلو نداشته باشه؟

اینم عکس پارامترهایی که استفاده شده:
http://up.toca.ir/images/h95kyd9b4mktp7csvm7b.jpg

ممنون

زکریا69 ۰۳-۲۲-۱۳۹۲ ۱۰:۱۷ بعد از ظهر

سلام. من یک شبه عصبی با سه لایه دارم و 7 ورودی و 20 خروجی که از از تولباکس متلب استفاده کردم . از الگوریتم trainrp برای اموزش شبکه اسفاده کردم. وقتی خروجی میگیرم از نظر شکل ظاهری طیف مورد نظرم درسته ولی مشکلی که هست اینه که ، ورودی هایی که میدم و میخوام خروجی اونو (یعنی مجهول مسئله) بگیرم حدود 1e5 برابر ورودی هایی هست که برای آموزش استفاده شده و انتظار دارم خروجی مجهولی که میگیرم حدود 1e5 برابر داده های تارگت باشه ولی چنین چیزی مشاهده نمیشه. یعنی با اینکه ورودی من خیلی بزرگتره ولی خروجی که از شبکه میگیرم در حد همون داده های تارگت هست. میشه راهنمایی کنین مشکل ممکنه از کجا باشه؟ ممکنه از نحوه وزن دهی که داخل خود nntool هست باشه؟ چکار باید بکنم؟

سوال دیگه م اینکه وقتی یه شبکه آموزش میبینه به نظرم یه سری وزن داره که وقتی داده میدیم بهش و simulate میکنیم باید ثابت باشه، درسته؟ ولی وقتی یه بار ورودی میدم و خروجی میگیرم اگه این کاره دوباره انجام بدم ( بدون ابنکه دوباره شبکه آموزش ببینه) خروجی عوض میشه؟چرا؟!

مرسی از کمکتون



سلام ؛ اولا شما به سوال من جواب بدهید که منظور شما از این که 7 ورودی و 20 خروجی دادید یعنی چی؟ یعنی این که مجموعه داده های ورودی مسئله تون کلا 7 تا است یا نه 7 دسته ورودی دارین ؟
ثانیا اگر شما 7 دسته داده ورودی دارین و هر دسته داده ورودی خود مثلا شامل 60 داده باشد در این صورت برای دسته داده خروجی نیز 60 داده در زیر مجموعه آن به عنوان داده های خروجی می بایست قرار داشته باشد.
بعداز تشکیل ماتریس می بایست داده های trainو target و test مسئله را مشخص نمایید. از 60 تا مجموعه داده فوق تعداد داده های train و target مسئله می بایست به یک میزان انتخاب شوند و تعداد داده های test معمولا 20 تا 25 درصد مجموعه داده ها را شامل می شود.که هر یک را می بایست در ماتریس های جداگانه تعیین نمود. بعد از تشکیل ماتریس ها باید داده ها با توجه به نوع مسئله نرمالیزه شوند که دستور نرمالیزه کردن آن در بخش demo نرم افزار متلب در تولباکس شبکه های عصبی وجود دارد و در پایان اگر بعد از تست شبکه میزان خطای شبکه بالا بود باید نوع آرایش ماتریس ها را که قبلا ایجاد کرده بودید تغییر دهید(آرایش افقی یا قائم
در جواب سوال دوم باید بگویم که بله شما می بایست وزن دهی را انجام دهید. که با توجه به نوع داده ها باید مشخص گردند. موفق باشید

najme65 ۰۳-۲۳-۱۳۹۲ ۱۰:۱۵ قبل از ظهر

نقل قول:

نوشته اصلي بوسيله زکریا69 (پست 29205)
سلام. من یک شبه عصبی با سه لایه دارم و 7 ورودی و 20 خروجی که از از تولباکس متلب استفاده کردم . از الگوریتم trainrp برای اموزش شبکه اسفاده کردم. وقتی خروجی میگیرم از نظر شکل ظاهری طیف مورد نظرم درسته ولی مشکلی که هست اینه که ، ورودی هایی که میدم و میخوام خروجی اونو (یعنی مجهول مسئله) بگیرم حدود 1e5 برابر ورودی هایی هست که برای آموزش استفاده شده و انتظار دارم خروجی مجهولی که میگیرم حدود 1e5 برابر داده های تارگت باشه ولی چنین چیزی مشاهده نمیشه. یعنی با اینکه ورودی من خیلی بزرگتره ولی خروجی که از شبکه میگیرم در حد همون داده های تارگت هست. میشه راهنمایی کنین مشکل ممکنه از کجا باشه؟ ممکنه از نحوه وزن دهی که داخل خود nntool هست باشه؟ چکار باید بکنم؟

سوال دیگه م اینکه وقتی یه شبکه آموزش میبینه به نظرم یه سری وزن داره که وقتی داده میدیم بهش و simulate میکنیم باید ثابت باشه، درسته؟ ولی وقتی یه بار ورودی میدم و خروجی میگیرم اگه این کاره دوباره انجام بدم ( بدون ابنکه دوباره شبکه آموزش ببینه) خروجی عوض میشه؟چرا؟!

مرسی از کمکتون



سلام ؛ اولا شما به سوال من جواب بدهید که منظور شما از این که 7 ورودی و 20 خروجی دادید یعنی چی؟ یعنی این که مجموعه داده های ورودی مسئله تون کلا 7 تا است یا نه 7 دسته ورودی دارین ؟
ثانیا اگر شما 7 دسته داده ورودی دارین و هر دسته داده ورودی خود مثلا شامل 60 داده باشد در این صورت برای دسته داده خروجی نیز 60 داده در زیر مجموعه آن به عنوان داده های خروجی می بایست قرار داشته باشد.
بعداز تشکیل ماتریس می بایست داده های trainو target و test مسئله را مشخص نمایید. از 60 تا مجموعه داده فوق تعداد داده های train و target مسئله می بایست به یک میزان انتخاب شوند و تعداد داده های test معمولا 20 تا 25 درصد مجموعه داده ها را شامل می شود.که هر یک را می بایست در ماتریس های جداگانه تعیین نمود. بعد از تشکیل ماتریس ها باید داده ها با توجه به نوع مسئله نرمالیزه شوند که دستور نرمالیزه کردن آن در بخش demo نرم افزار متلب در تولباکس شبکه های عصبی وجود دارد و در پایان اگر بعد از تست شبکه میزان خطای شبکه بالا بود باید نوع آرایش ماتریس ها را که قبلا ایجاد کرده بودید تغییر دهید(آرایش افقی یا قائم
در جواب سوال دوم باید بگویم که بله شما می بایست وزن دهی را انجام دهید. که با توجه به نوع داده ها باید مشخص گردند. موفق باشید


این نمونه ای از آرایش شبکه:
http://up.toca.ir/images/lr2kjimkzn0omdb2r2x3.jpg
در عکس زیر هم پارامترهای آموزش مشخص شده که در قسمت max-fail ، 200 انتخاب شده که اینارم میاد برای داده های آموزش و اعتبار و تست تقسیم میکنه . درسته؟
http://up.toca.ir/images/h95kyd9b4mktp7csvm7b.jpg

ولی نمیدونم در قسمت های adapt، یا edit weight چه گزینه ای رو باید انتخاب کنم؟


زمان محلي شما با تنظيم 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.