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

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

mghasemi ۰۶-۱۱-۱۳۸۷ ۰۳:۱۵ بعد از ظهر

کار با toolbox شبکه های عصبی در MATLAB
 
با سلام
من باید برای پایان نامه ام که در حوزه مدیریت مالی است با شبکه های عصبی کار کنم. نیاز به کمک و مشورت فردی دارم که قبلا با نرم افزار MATLAB کار کرده باشد. با وجود مطالعه کتاب های مختلف هنوز دقیقا نمی دانم چگونه از این Toolbox استفاده کنم.:(

Siavash ۰۶-۱۱-۱۳۸۷ ۰۵:۵۲ بعد از ظهر

از اين Toolbox به دو صورت مي تونيد استفاده كنيد:
يكي با استفاده از GUI يا محيط گرافيكي nntools كه به راحتي توش ورودي، نوع لايه ها و تعداد نورون ها، نوع آموزش و ... رو تعيين مي كنيد و با زدن يك دكمه شبكه شروع به يادگيري مي كنه و مي تونيد در همون محيط شبكتون رو تست كنيد.

روش دوم به اين صورت هست كه شما با نوشتن M فايل از اين Toolbox استفاده مي كنيد كه به نظر روش مناسب تري هست. چون مي تونيد يك تابع درست كنيد كه به شما با دادن ورودي ها بصورت مستقيم خروجي بده! پس خروجي گرفتن از اون راحت تر هست اما پياده سازي و ساخت شبكه سخت تر هست چون محيط گرافيكي وجود نداره.

به جز Matlab نرم افزار هاي ديگه اي مثل JOONE و AForge.Net هم هست.
كه خاصيت اولي تبديل ساده ي اون به فايل هاي جاوا هست.
و دومي هم به زبان C# نوشته شده و كدباز هست و مثال هاي خوبي در ارتباط با شبكه هاي عصبي داره...

moin_zeddot ۱۰-۱۴-۱۳۸۷ ۱۱:۲۱ قبل از ظهر

من سوالم با تاپیک فرق داره خواستم الکی تاپیک درست نکنم. می خواستم بپرسم که فرض کنید من می خوام یه نرون شبیه سازی کنم.
1. چجوری می شه که یه نرون 3 تا ورودی داره و 2 تا خروجی؟ من تو تمام مقالاتی که خوندم نتونستم بفهمم. چون اصولا نرون یه تابع سیگما داره که یه خروجی می ده و یه تابع فعال سازی که اونم یه خروجی میده. اگه ممکنه کمی توضیح بدین یا لینکی بزارین که کمک کنه. مرسی
2. بعدا می پرسم

moin_zeddot ۱۰-۱۴-۱۳۸۷ ۰۱:۲۶ بعد از ظهر

وبلاگتون رو دیدم...
لطفا یک مثال کامل و به زبان c یا هر چیزی که دوست دارین بزنین.

Siavash ۱۰-۱۶-۱۳۸۷ ۰۳:۳۳ قبل از ظهر

دوست خوب،
شما درست مي گيد، خروجي يك نرون يك عدد هست اما اين يك مقدار به تمام خروجي ها فرستاده مي شن...
يعني اگر مقدار خروجي عدد n شد، به تمام نرون هاي لايه ي بعدي كه با اين نرون ارتباط دارند مقدار n به عنوان ورودي فرستاده مي شه.
براي مثال فكر كنم فريمورك AForge.net كه در همين انجمن معرفي شده بد نباشه... همينطور مي تونيد در سايت pscode.com در مورد شبكه هاي عصبي (Neural Network) يا Perceptron سرچ كنيد.

moin_zeddot ۱۰-۲۳-۱۳۸۷ ۰۲:۴۰ بعد از ظهر

سوال
 
ممنون از کمکتون! اون منابعی رو که معرفی کرده بودین خوندم . فقط یه سوال برام مونده. لزوم وجود hidden layers چیه؟ چون من هر برنامه ای که می نویسم اصلا خروجی اش ربطی به تعداد hidden layers نداره. البته خودم فکر می کنم چون تعداد خروجی هام 1 است این طوری می شه. درسته؟ اگر تعداد خروجی ها بیشتر از 1 باشد باید hidden layer باشه؟؟ گیج شدم لطفا راهنمایی کنین در مورد تعداد hidden layers

Siavash ۱۰-۲۴-۱۳۸۷ ۰۸:۴۱ قبل از ظهر

همونطور كه مي دونيد قرار دادن Hidden Layer اختياري هست و در يك شبكه ي عصبي لزوماً لايه ي مياني نداريم. براي اينكه بهتر متوجه بشيد يك مثال خيلي ساده با پرسپترون مي زنم.
در صورتي كه اطلاعي از پرسپترون نداري مي توني به اين لينك مراجعه كني:
سیاوش محمودیان - بلاگ - مقدمه ای بر شبکه های عصبی

يك پرسپترون ساده بدون هيچ لايه ي مياني با دو ورودي و يك خروجي مي تونه فضا رو با يك خط راست به دو بخش تقسيم كنه! در لينك بالا مثال OR نشون داده شده. اما حالا فرض كن مي خواي فضا رو به يك خط شكسته به دو قسمت تقسيم كني! در اين صورت ديگه با يك پرسپترون نمي توني اين كار رو انجام بدي و بايد حتماً يك لايه اضافه كني. حالا اگر بخواي فضا رو با يك دايره به دو قسمت تقسيم كني (مثلاً داخل دايره خروجيش يك بشه و بيرون از اون صفر بشه) به خاطر پيچيده تر شدن مرز بين 1 و 0 باز بايد به تعداد لايه ها اضافه كني!
پس مي تونيم نتيجه بگيريم لايه هاي مياني بستگي به پيچيدگي تابعي داره كه مي خواي با توجه به ورودي ها ازش خروجي بگيري. مثلاً OR رو مي توني با يك لايه (يا بيشتر البته) شبيه سازي كني، اما در پردازش تصوير يك لايه پاسخ گو نيست! مثلاً مي خواي يك شبكرو طوري آموزش بدي كه اگر عكس صورت بود خروجي 1 داشته باشيم و اگر صورت نبود 0 داشته باشيم... درسته كه تعداد نرون هاي لايه ي خروجي 1 عدد هست اما با بدون لايه هاي مياني هيچ وقت نمي تونيم اين كار رو انجام بديم.
از طرف ديگه زياد كردن بيش از اندازه ي لايه هاي مياني باعث ايجاد خطا ميشه و ما همگرا به جواب نميشيم! پس معمولاً از تعداد لايه هاي كم شروع مي كنيم و در صورتي كه به جواب نرسيديم تعداد لايه ها و نرون هاي هر لايرو زياد تر مي كنيم.
در حال حاضر نرم افزار هايي مثل NeuroSolutions وجود دارند كه با توجه به ورودي ها و خروجي ها سعي مي كنند با بكارگيري الگوريتم ژنتيك بهترين تعداد لايه هاي مياني و تعداد نرون هاي اين لايه ها رو كه خطاي كمتري نسبت به خروجي ها دارند بدست بياورند!
اگر قسمتي هنوز برات گنگ بود حتماً بگو...

moin_zeddot ۱۰-۲۹-۱۳۸۷ ۰۳:۰۱ بعد از ظهر

q - learning
 
سیاوش جان شرمنده انقدر سوال می پرسم.
;):)یه سوال در مورد q learning داشتم.:D

ببینید وقتی می خوایم agent رو train کنیم، ابتدا با یه ماتریس صفر Q شروع می کنیم . و agent رندوم یه سری action انتخاب می کنه تا به هدف برسه. حالا ممکنه که اصلا به هدف نرسه اونوقت چی ؟ episode تموم می شه؟ تکلیف update شدن ماتریس Q چی می شه؟
لطفا کمک کنین...

moin_zeddot ۱۲-۱۰-۱۳۸۷ ۰۷:۴۸ قبل از ظهر

کیسی نبود کمک کنه؟

davod61 ۰۵-۱-۱۳۸۸ ۱۲:۵۳ قبل از ظهر

سلام
آیا کسی از ژنتیک الگوریتم برای اپتیمم کردن شبکه عصبی استفاده کرده می تونه یک راهنمایی برای کد نویسی به من کنه با تشکر

michel ۰۸-۲۲-۱۳۸۹ ۰۸:۳۸ بعد از ظهر

سلام
این مورد مشکل من هم هست. ممنون میشم اگر مطلبی دارید در همین تاپیک قرار بدید

kia_lazio ۰۹-۹-۱۳۸۹ ۱۰:۱۶ بعد از ظهر

سلام خدمت همگی عزیزان.یه فایل آموزشی خوب در رابطه با آموزش جعبه ابزار شبکه های عصبی یا برنامه ریزی خطی در متلب رو میخواستم اونم به زبان فارسی. ممنون میشم کمکم کنید.


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