ايجاد شبكه‌هاي عصبي با ابزار GUI مشاهده در قالب PDF چاپ فرستادن به ایمیل
نوشته شده توسط مجتبی آیتی نیا   
یکشنبه, 30 خرداد 1389 ساعت 12:13

به طور كلي در نرم‌افزار MATLAB به سه روش مي‌توان شبكه‌هاي عصبي را ايجاد كرد:

  1. كدنويسي
  2. استفاده از سيستم‌هاي بلوكي(Simulink)
  3. استفاده از محيط گرافيكي(GUI)

در اين نوشتار قصد دارم نحوه‌ي استفاده از GUI در جعبه‌ابزار شبكه عصبي را به دوستان معرفي كنم البته به دوستان توصيه مي‌كنم كه ابتدا با كدنويسي آشنا شوند زيرا ممكن است درجايي مجبور به نوشتن كد باشند مگر كساني كه شبكه عصبي، درس تخصصي آنها نبوده و فقط براي انجام قسمتي از پروژه‌شان مي‌خواهند از شبكه‌هاي عصبي استفاده كنند كه استفاده از GUI در اين مورد بسيار ساده و سريع است.

براي شروع nntool را در خط فرمان تايپ و اينتر كنيد و يا از مسير Start >> Toolboxes >> Neural Network >> Neural Network Tool استفاده كنيد پنجره‌اي مانند شكل زير مشاهده مي‌كنيد:

 

براي ايجاد يك شبكه جديد، روي دگمه New كليك كنيد همان‌طور كه مشاهده مي‌شود، ‌پنجره‌اي باز مي‌شود كه مي‌توانيد در آن پارامترهاي شبكه‌ي مورد نظرتان را وارد كنيد:

در تب Network شما مي‌توانيد تنظيمات مربوط به شبكه عصبي مورد نظرتان را وارد كنيد و در زبانه دوم يعني Data شما داده‌هاي خود را وارد مي‌كنيد. حالا براي مثال اول مي‌خواهيم با يك تك پرسپترون، گيت NAND دو ورودي را پياده‌سازي كنيم ابتدا نام شبكه مورد نظر را در قسمت Name وارد كنيد من نام NAND را وارد مي‌كنم سپس در قسمت Network Type نوع شبكه را Perceptron انتخاب كنيد پس از آن به تب Data رفته و در قسمت Name نام p و در قسمت Value مقدار [1 0 1 0;1 1 0 0] و در Data Type حالت Inputs را انتخاب كرده و به روي Create كليك كنيد ديالوگي مبني بر ذخيره ديتا مشاهده مي‌‌كنيد آن را Ok كنيد سپس براي ذخيره‌ي داده‌هاي تارگت مشابه حالت قبل عمل كنيد يعني در قسمت Name نام t و در قسمت Value مقدار [0 1 1 1] و در Data Type حالت Targets را انتخاب كرده و به روي Create كليك كنيد ديالوگ مشاهده شده را Ok كنيد. به تب Network بازگشته و داده‌هاي ورودي و تارگت را از منوي مقابلشان انتخاب كنيد براي ديدن ساختار شبكه، بر دگمه View كليك كنيد بصورت زير:

همان‌طور كه مي‌بينيد از تابع محدود كننده سخت نامتقارن استفاده كرده‌ايم تا خروجي‌هاي ما صفر يا يك شوند حالا براي ايجاد شبكه، Create را كليك، و ديالوگ پس از آن را Ok كنيد به پنجره اصلي بازگشته و در قسمت Networks به روي NAND كليك كرده و Open را بزنيد در پنجره باز شده به تب Train رفته و مقادير ورودي و تارگت را وارد كرده و براي شروع آموزش Train Network را بفشاريد همان‌طور كه مشاهده مي‌كنيد به پرفورمانس صفر رسيده‌ايم(اتفاقي كه در هيچكدام از مسائل واقعي كه ما با آن سروكار داريم، هرگز رخ نخواهد داد!) كه دليلش را هم احتمالا مي‌دانيد حال به پنجره اصلي بازگشته و مقادير خروجي و خطا را به ازاي داده‌هاي آموزشي مشاهده كنيد كه البته از پرفورمانس صفر مي‌توان حدس زد كه چه مقاديري به دست آمده است.

اكنون اگر بوسيله‌ي همين روش تابع XOR را پياده‌سازي كنيد نتايج وحشتناكي خواهيد گرفت.

براي مثال دوم مي‌خواهيم تابع سينوس را بوسيله‌ي يك شبكه عصبي MLP ، تقريب بزنيم براي اين منظور در پنجره مديريت شبكه و ديتا، New را كليك  كرده و مانند شكل زير عمل  كنيد:

شبكه را دو لايه قرار داده‌ايم كه در لايه اول ده نرون با تابع تبديل تانژانت سيگموئيد و لايه دوم كه همان لايه خروجي است را تابع تبديل خطي داده‌ايم(نرون‌هاي لايه خروجي برابر تعداد خروجي‌هاي شبكه مي‌باشد كه در اين مثال برابر يك است.)

البته من يادم رفت كه نحوه‌ي ايجاد داده‌ها را به شما بگم در اينجا ديگر نمي‌توانيد از روش قبل براي ايجاد داده‌هاي خود استفاده كنيد و بايد ديتا را يا از يك فايل mat بگيريد و يا از فضاي كاري متلب. دستورات زير را در خط فرمان تايپ و اينتر كنيد:

;p=0:0.1:4*pi

;(t=sin(p

به پنجره‌ي اصلي بازگشته و Import را كليك كنيد سپس داده‌هاي p و t را به ترتيب عنوان داده‌هاي ورودي و تارگت، Import كرده و سپس Close كنيد.

حال به پنجره‌ي تنظيمات بازگشته و داده‌هاي ورودي و تارگت را وارد كرده و شبكه را ايجاد كنيد. شبكه‌اي را كه با نام Sin ذخيره كرده‌ايد، باز كنيد و به تب Train برويد و پس از وارد كردن داده‌هاي ورودي و تارگت، به تب Training Parameters برويد همانطور كه ملاحظه مي‌كنيد در اينجا مي‌توانيد پارامترهاي زيادي را تغيير دهيد مثلا ممكن است در مساله‌اي خاص، پرفورمانسي برابر 0.001 كافي باشد كه مي‌توانيد در قسمت goal آن عدد را وارد كنيد و نيز تنظيمات ديگري از جمله زمان، تعداد مراحل آموزش و ...

 

 

مقادير را پيش‌فرض قرار داده و شبكه را آموزش دهيد:

 

اگر به مقاديري غير از آنچه در بالا آمده، رسيده‌ايد، تعجب نكنيد.

در تب View/Edit Weights مي‌توانيد تمام وزن‌ها و باياس‌ها را مشاهده كنيد به پنجره‌ي اصلي بازگرديد و Export را كليك كرده و شبكه و نيز داده‌هاي خروجي و خطا را به فضاي كاري متلب انتقال دهيد و كدهاي زير را اجرا كنيد:

(subplot(2,1,1

;(y1=sim(Sin,p

('plot(p,t,p,y1,'m

;([xlim([0 4*pi]);ylim([-1 1

;('(title('Network Output (Training Data

(subplot(2,1,2

;x=0:0.001:4*pi

;(y2=sim(Sin,x

('plot(x,sin(x),x,y2,'m

;([xlim([0 4*pi]);ylim([-1 1

;('(title('Network Output (Test Data

همان‌طوري كه مشاهده مي‌شود شبكه با ده نرون به خوبي آموزش ديده و براي داده‌هاي تست نيز خروجي مناسبي داريم.

(توجه كنيد كه در شكل، منحني‌هاي خروجي و تارگت روي هم افتاده‌اند)

 

نكته: توجه كنيد كه تابع سينوس يكي از ساده‌ترين توابع است و آن را مي‌توانيد با تعداد نرون‌هاي كمتري(حتي دو سه نرون) با تقريب نسبتا خوبي پياده‌سازي كنيد. درواقع بسته به خودتان است كه چه ميزان دقت مورد نياز شماست. يكي از توابع سخت براي پياده‌سازي، تابع مربعي مي‌باشد كه دليل آن تغييرات شديد در لبه‌هاي بالارونده و پائين‌رونده‌ي آن است به عبارتي ديگر اگر شما مي‌خواهيد دو تابع سينوسي و مربعي را با دقت يكساني تقريب بزنيد، شما مجبور هستيد تا شبكه‌ي بزرگتري را براي تابع مربعي درنظر بگيريد اين تابع را خودتان پياده‌سازي كنيد تا درك بهتري از شبكه عصبي داشته باشيد.

اگر سؤالي داشتيد در بخش نظرات آن را مطرح كنيد.

نظر ها (223)
  • موج و ساحل
    سلام آفا مجتبي
    كارت خيلي خوبه
    تبريك ميگم
    ادامه بده
  • ناشناس
    :P لطفا" با برنامه نويسي هم آموزش بدين
  • moj1001
    سعي مي‌كنم كه سر فرصت با برنامه‌نويسي هم آموزش بدم.
  • ناشناس
    سلام
    من یه شبکه عصبی پرسپترون از طریق کد نویسی برای کنترل پسورد طراحی کردم ولی نمیدونم نمونه های پسورد را برای آموزش چطوری به شبکه بدم.
    مثلا پسورد fAr12@g بعنوان یک پسورد strong میباشد.

    ممنون
  • صانع
    دمت داغ
    پهلون دست درست
    به درد من كه خيلي خورد
  • shahram  - neural net
    salam
    mamnoon az matalebe mofidetoon
    man chanta mushkel daram dar murede sakhte shabake ba matlab
    mishe telphoni ba ham harf bezanim agar vaghtesho dashtin
    manoon misham
    lotfan be mail bezanid
    sh.rezaeii@yahoo.com
    bazam mamnoon
  • saeed  - تشکر
    سلام دوست گرامی از راهنمایی ها که برای دوستان مبتدی مثل من گذاشتین واقعا ممنونم...اما اگه امکانش هست در مورد شبکه های هاپفیلد هم یک مثال بگذارید چون شدیدا نیازمندش هستم و در واقع روند انجام پروژه ام به تعویق افتاده است. پیشاپیش سپاسگذارم. (ssm3500@yahoo.com)
  • saye  - aneural netwok
    سلام،خسته نباشد و خدا قوت
    ميشه كدنويسي تو مطلب براي شبكه عصبي مصنوعي رو با مثال y=sinx بنويسيد تو سايت يا ايميل كنيد. من تو مطلب مبتدب هستم براي پروژه ام نيازش دارم.
    ممنون ميشم كمكم كنيد
  • moj1001
    سلام ممنون
    با دستور newff مي‌توني اين‌كار رو انجام بدي. يه سرچ توي help بزن ساختارش رو متوجه مي‌شي.
  • saye  - neural network
    سلام مجدد
    همون طور كه دفعه پيش خدمتتون عرض كردم،من كلا تو برنامه نويسي و مطلب مبتدي هستم،خواستم شما بازدن مثالي مثل y=sinx راهنماييم كنيد.
    پروژه ام روي شبكه هاي عصبي تو مطلب هست،الان هم چند وقته دنبالش هستم يادبگيرم. اگر شما جزوه اي يا چيزي در مورد nntool مطلب داريد،كه كامل ياد داده باشه(به زبان فادرسي) ممنون ميشم كمكم كنيد.
    با تشكر :evil:
  • saye  - re: neural network
    سلام،يه مشكلي برام تو nntool مطلب پيش اومده! ميشه لطف كنيد راهنماييم كنيد.
    من داده هايي رو تو excel دارم،دو ستون به عنوان ورودي،يه ستون به عنوان خروجي.اينها رو وارد مطلب كردم؛به اين شكل:تو خط فرمانinput رو تايپ كرده و علامت كروشه گذاشتم،بعد داده ها رو از excelكپي كرده و pasteكردم،در نهايت با بستن كروشه وگذاشتن علامت (،)و(;)به خط بعدي رفته وoutput رو به همين ترتيب وارد كردم وقتي شبكه رو ايجاد ميكنم و بعد از انجام مراحل لازمtrain رو ميزنم آموزش نميبينه و پيغام زير تو صفحه اصلي مطلب ظاهر ميشه:
    ??? Insufficient number of outputs from right hand side of equal sign to satisfy assignment.

    Error in ==> nntool at 681
    [errmsg,errid] = me.message;

    com.mathworks.jmi.MatlabException: Insufficient number of outputs from right hand side of equal sign to satisfy assignment.
  • moj1001
    سلام
    داده‌هاتو بصورت سطري وارد كن نه ستوني!
    در ضمن نيازي به كپي پست نيست! فايل اكسلت رو در دايركتوري جاري متلب قرار بده و از كد زير استفاده كن:
    کد:
    xlsread('data.xlsx')
    input=mydata(:,1:2);
    target=mydata(:,3);

    بعد براي سطري كردن هم:
    کد:
    input=input';
    target=target';

    موفق باشي
  • ناشناس
    سلام.می خوام یک شبکه عصبی در محیط متلب برای یک متغییر وابسته به سه پارامتر دیگر طراحی کنم.کمک کنید(نوع شبکه و روش آموزش)
  • رضا  - تشکر
    واقعا من از شما متشکرم کارتون خداپسندانه است.
  • جودی  - XOR in Matlab
    سلام
    مرسی از آموزش خوب تون.میشه برای گیت XOR هم راهنمایی کنید که چه جوری رسم کنیم تو نرم افزار matlab?
    با تشکر
  • moj1001
    سلام
    بايد يك شبكه دو لايه ايجاد كني مثل شبكه اي كه براي تابع سينوس ايجاد كردم.
  • جودی  - XOR in Matlab
    سلام
    مرسی از آموزش خوب تون.میشه برای گیت XOR هم راهنمایی کنید که چه جوری رسم کنیم تو نرم افزار matlab?
    با تشکر
  • مسعود  - سلام و خسته نباشيد
    من قرار يك موتور القايي را با شبكه عصبي تعيين خطا كنم توي كجاي آموزش شبكه عصبي بايد تغييرات بدم تا بتونم شبكه آن قسمت و پارامتر ورودي را كه باعث ايجاد آن خطا شده رو برام تعيين كنه!خيلي ممنون
  • ناشناس  - شبكه عصبي
    ممنون به خاطر مطالبي كه در مورد شبكه هاي عصبي گذاشتيد.مي خواستم بدونم مي تونيد يك مثال بهتري رو انجام بدين وبه صورت pdf يا odc قرار بدين.
    باز هم تشكر مي كنم.javascript:JOSC_emoticon(":P")
  • احد  - مشکل ترینینگ
    سلام
    دستت درد نکنه از آموزشت. من یه مشکلی داشتم. همین مشکل رو یکی از دوستان هم در پستهای بالایی نوشتن ولی جوابشو ندادین. یک ورودی به صورت ماتریس 8 در 36 هست و تارگت من هم یک ماتریس 8 در یک هست. وقتی که ورودی و تارگت رو وارد میکنم و ترینینگ رو میزنم ایراد زیر رو میده.
    ??? Insufficient number of outputs from right hand side of equal sign to satisfy assignment.

    Error in ==> nntool at 681
    [errmsg,errid] = me.message;

    com.mathworks.jmi.MatlabException: Insufficient number of outputs from right hand side of equal sign to satisfy assignment.

    میشه راهنمایی کنی؟
    ممنون
  • moj1001
    سلام
    ورودي رو بصورت 36 در 8 و خروجي رو بصورت 1 در 8 وارد كن.
  • aamm  - سوال تشخيص خطا
    سلام من جواب نگرفتم براي تشخيص خطاي يك سيتم با شبكه عصبي بايد مدل خطا دار را به شبكه آموزش دهيم تا شناسايي بشه يا نه چون من مي خوام بدونم كدوم قسمت وبه چه ميزاني داراي اختلال است! ممنون از آموزشتون
  • moj1001
    سلام
    تشخيص خطا!
    منظورت رو متوجه نشدم؟
  • aamm
    با عرض سلام مجدد تشخيص خطا با استفاده از شبكه عصبيfault detection ابتدا مدل درست كاركرد رفتار يك سيستم رو به شبكه عصبي آموزش ميدن بعد وقتي رفتار واقعي رو بهش ميدن با اولي مقايسه مي شه ودر صورت اختلاف بعنوان خطا ميگيريم حالا اگر بخواهيم تعيين كنيم كدوم پارامتر باعث ايجاد اين خطا و به چه درصدي در ايجاد خطا نقش داشته بايد چكار كنيم من تازه با شبكه عصبي آشنا شدم لطفا اگر راه ديگري بوسيله شبكه عصبي براي اين كار به نظرتون ميرسه بگين ممنون!
  • moj1001
    سلام
    اينكه كدوم پارامتر باعث خطا شده رو جوابي براش ندارم
  • ناشناس
    تابع sim را چگونه بدست آوریم
  • aamm
    سلام آيا مي توان برنامه هاي شبكه عصبي را روي IC DSP ريخت آيا SUPPORT ميكنه ميشه لطفا يك سايتي براي اين كار معرفي كنيد ممون!
  • مجتبی
    سلام وقت بخیر
    می شود بگویید چگونه از این روش در طراحی یک کنترل کننده استفاده کنیم
  • gozal  - تشکر
    سلام دمتون گرم این مطالب خیلی به دردم خورد.@@@
  • سجاد  - سوال
    سلام مهندس
    من میخوام با سه تا داده یه داده رو پیش بینی کنم.
    با mlp هم میخوام انجامش بدم. یعنی سه تا ورودی دارم و یه خروجی. با روشی که شما فرمودین میشه انجام داد از قسمت nntoo ؟ اگه تعداد نمونه ها زیاد باشه مشکلی پیش نمیاد؟ بعد از این که داده های ورودی و خروجی رو برای آموزش به شبکه دادم و شبکه آماده شد کجا باید داده های ورودی رو برای پیش بینی خروجیم وارد کنم؟
    خیلی تابلو که من هیچی از شبکه و متلب سر در نمیارم :oops: البته رشته من چیز دیگه ایه تو یه قسمت از پایان نامه نیاز به این مورد پیدا کردم
    لطفن کمک کنید :?:
  • moj1001
    سلام
    آره ميشه.
    تعداد نمونه‌‌ها زیاد باشه فكر نكنم مشکلی پیش بیاد فقط اگه داده‌هات پراكندگي زيادي دارند بايد شبكه‌ات به اندازه‌اي باشه كه بتونه خودش رو با داده‌ها تطبيق بده.
    شبكه رو كه سيو كردي هم مي‌توني با ابزار nntool و هم از طريق دستور sim خروجي شبكه رو بدست بياري.
  • سجاد
    سلام مهندس جان
    مهندس من یه شبکه رو درست کردم به روش mlp که فرمودید.
    3 پارامتر 132 نمونه را برای ورودی دادم 1پارامتر و 132 نمونه رو واسه هدف تعریف کردم. بعد 3پارامتر از 132 نمونه دیگه رو دادم و با سیمولیشن 132 داده رو گرفتم. ولی داده هایی رو که به من داده از نظر ضریب همبستگی و میانگین و واریانس با داده های واقعی خودم نمیخونه. چیکار باید بکنم . تعداد لایه 2 بود و تعداد نرون 10.
    یه مشکلی هم داشتم وقتی تعداد لایه 3 و تعداد نرون 20 بود اصلا ترین نمیکرد.
    کجای کارم گیر داره که داده هام اینقدر با هم متفاوت میشه
  • moj1001
    سلام
    گفتم ممكن هست پراكندگي داده‌هات زياد باشه. براي همين شبكه نتونه خودش رو تطبيق بده!
    تعداد لايه‌ها رو همون دو بزار و تعدا نرون‌ها رو بطور پيوسته زياد كن ببين چه تغييراتي حس مي‌كني.
  • ناشناس
    سلام
    برای اینکه یه برنامه m فایل که الگوریتم pso را پیاده سازی کرده با benchmark ها تست کنم باید چطوری عمل کنم
    من کلا در مورد نحوه استفاده از benchmarkها اطلاعاتی ندارم
    ممنون
  • ناشناس
    مهندس من هنوز به نتیجه نرسیدم
    داده های من دمای مینیمم و ماکزیمم و بارندگی هستن و خروجی هم دبی (آبدهی رودخانه ست)
    داده های قبل هم بر داده های بعدی تاثیر میزارن
    با این تفاسیر چه تغییراتی رو اعمال کنم که نتیجه بگیرم

    در ضمن تا همین جاش هم کلی کمک کردین من کلا از شبکه سر در نمیاوردم ولی الان کلی جلو افتادم دستت درد نکنه اگه کارت به هیدرولوژی افتاد ایشالا جبران کنیم :D
  • moj1001
    سلام
    فكر كنم بايد از شبكه‌هاي بازگشتي استفاده كني.
  • ناشناس
    سلام
    من تو یه مقاله خوندم روش شبکه پرسپترون چند لايه با الگوريتم (BP (Back Propagation نتایج خوبی میده ولی توی آموزش شما قسمت Network Type نتونستم همچین روشی رو پیدا کنم،
  • moj1001
    شبکه پرسپترون چند لايه با الگوريتم (BP (Back Propagation همون چيزي كه در مثال گفتم ولي بعيد مي‌دونم با اين شبكه بتوني جواب بگيري چون اين شبكه بدون فيدبك هست.
  • ناشناس
    باز نتیجه نگرفتم. میشه یه مقدار درباره Network Type توضیح بدین. راستی من یکی از ورودی هام تاثیر مستقیم تری روی خروجی داره ، جایی رو نباید تنظیم کنم.
  • moj1001
    از شبكه Layer Recurrent استفاده كن.
  • maryam
    سلام و وقت بخیر.
    مرسی از مطالب مفید تون.
    ببخشید یک سوال دارم .ماتریس ورودی من 220 سطر و 15 ستون و تارگت 220 سطر و دو ستون داره .وقتی در شبکه این ها رو انتخاب می کنم ،این پیغامو میده eceed dimension
    میشه لطفاً راهنمایی کنید.
    بسیار ممنون
  • moj1001
    سلام - ممنون
    داده‌هات رو بصورت 15 سطر و 220 ستون براي ورودي و 2 سطر و 220 ستون براي تارگت وارد كن.
  • ناشناس
    مهندس کجا میشه به داده های ورودی وزن داد، میخوام یکی از داده ها رو که تاثیرش خیلی بیشتره نسبت به دوتای دیگه، وزن بیشتری بدم شاید جواب بده.
    یه سوال دیگه هن داشتم:
    من 143 نمونه رو با هم به شبکه میدم (یعنی 143 ستون و 3 ردیف، واسه ورودی) و 143 نمونه رو واسه هدف گذاشتم (143 ستون و 1 ردیف)اینجوری درسته یا من باید هر کدام از نمونه ها رو جدا جدا به شبکه بدم؟
    ممنون از راهنمای هاتون
  • moj1001
    سلام
    يعني چي؟! وزن رو به داده كه نمي‌دن! وزن و باياس در طي آموزش شبكه ايجاد مي‌شه.
    طريقه دادن ورودي و تارگت رو در نظرات قبلي توضيح دادم.
  • elmaes
    سلام
    مرسی بابت مطالب مفیدتون .
    من به شدت نیازمند راهنماییتون هستم .مرسی
    شیکه آموزش داده شده ولی چطور می تونم یک نمونه رو تست کنم ببینم خوب جواب میده یا نه؟
    مرسی هم توی nf tool , و هم nntool این مشکلو دارم .
    خیییلی ممنون
  • moj1001
    سلام - ممنون
    شبكه‌ت رو سيو كن بعد با استفاده از دستور sim اون رو تست كن.
  • elmaes
    سلام،
    بسیار ممنون از اینکه سوالات رو می خونید وجواب میدید.من به شدت گیر کردم.
    میخوام شبکه رو برای شناسایی مکان آسیب یک سازه اموزش بدم.(پیش بینی x,y)
    به نظر شما استفاده از شبکه back propagation مفید است؟
    لطفاً اگر توضیحی در مورد مسئله من دارین ،ممنون می شوم که بگید و یا اگر لینکی هست برای استفاده بفرمایید.
  • moj1001
    سلام - خواهش مي‌كنم
    بايد ببيني رياضيات مساله به چه صورت است يعني پارامترهاي ورودي‌ت به چه صورت تغيير مي‌كنند و آيا برهم تاثير دارند و ديگر شرايط كه برای شناسایی مکان آسیب یک سازه نياز است. چون من از عمران سر در نمي‌يارم نمي‌تونم بيشتر از اين كمكت كنم.
  • mahdi  - سلام
    واقعا خدا قوت خیلی کمکم کردی به کارت ادامه بده موفق باشی
  • فاطیما  - سلام
    سلام
    من یک پروژه تشخیص بیماری با شبکه عصبی دارم
    که یک ماتریس تقریبا 600در40 ورودی داره
    که بایستی داده ها را نرمال کنم و بعضی از داده ها رو هم در بعضی ستون ها قبل از شروع به کار به صفر تبدیل کنم
    میخوام از nntool برای انجام پروژه استفاده کنم
    میشه لطفا بفرمایید بعد از خواندن اطلاعات از فایل اکسل به چه طریق نرمال سازی ورودی ها و تغییر مقدار به صفر را انجام دهم و سپس خروجی را تعریف نمایم
    مرسی
  • moj1001
    سلام
    براي نرمال‌سازي داده‌ها از دستور normc استفاده كن
  • فاطیما  - hi
    برای این پروژه 3 تا خروجی دارم چطوری این 3 تا خروجی را با ورودی های داده شده در nntool مشخص کنم ؟
    یعنی بایستی بین بیماران تشخیص دهد که با توجه به ورودی ها بیماری 1 را دارد یا 2 را یا سالم هستش
  • moj1001
    سلام
    اين ديگه تقريبا بستگي به خودت داره. يه بردار به صورت [a0 a1 a2] براي خروجي تعيين مي كني و شبكه رو طوري آموزش مي‌دي كه هر وقت داده‌هاي مربوط به سالم بودن بيمار اومد خروجي a0 بشه و همين‌طور الي آخر.
  • آرمان
    سوالی ندارم فقط تشکر :shock:
  • فاطیما  - hi
    برای نرمال سازی داده ها مشکلی ندارم
    چون میخوام داده ها یا صفر بشن یا 1 که براش یه فرمولی نوشتم
    مشکل برای این هستش که 3 تا خروجی دارم؟

  • حسین  - تست شبکه عصبی
    سلام مهندس عزیز

    من قبلا هم از شما کمک گرفته بودم.
    اما اینبار،من یه برنامه پردازش تصویر دارم و یک دیتابیس 70 نایی عکس.شبکه را آموزش دادم و سیمولیت کردم.
    حالا چطور باید یه عکس به شبکه بدم تا ببینم شبکه درست آموزش دیده، آیا امکان این هست که خودم شبکه رو تست کنم.
    ممنونم.
  • moj1001
    سلام دوست عزيز
    چرا امكانش نباشه!؟
    شما در ابتدا بايد معيين كني كه اندازه تصاوير آموزش داده شده به شبكه چقدر است سپس در يك برنامه جنبي مانند Paint يه تصوير به همان اندازه توليد كني و به شبكه بدي.
    فقط توجه داشته باش كه قبلا از دادن تصوير به شبكه بايد يه سري عمليات روش انجام بدي.
  • حسین
    ابعاد تصویری که به شبکه دادم 384*512 .
    و برای تست یک تصویر با همین ابعاد دارم، اما متفاوت.
    حالا با چه دستوری شبکه رو تست کنم؟
    لطفاً راهنمایی کنید.
  • moj1001
    ابعاد تصويرت خيلي بزرگه!
    حواست باشه كه شبكه‌ات رو بايد به همان اندازه بزرگ تهيه كني.
    براي شبيه‌سازي هم كه در آموزش توضيح دادم با استفاده از دستور sim.
  • حسین
    مهندس عزیز من فایل رو آپلود کردم، اگر براتون امکان پذیر هست نگاه کنید.
    http://s1.picofile.com/file/7305461826/Mfile2.zip.html

    سپاسگذارم.

  • moj1001
    اگه مشكلت حل نشد بگو تا كمكت كنم.
  • ناشناس
    عالی بود، ممنون
  • فریده
    سلام دوست عزیز من می خوام یک یکسوساز تک فاز طراحی کنم اما نمی تونم خروجی یکسو شده رو به دست بیارم.امکان داره برام شبیه سازیش کنید؟ممنون می شم.
  • moj1001
    سلام
    مدارش رو برام ايميل كن.
  • حسین
    سلام مهندس عزیز

    دستور mean(a) عملکردش برام روشنه
    اما در این حالت >>>> mean(a,2) چه اتفاقی می افته؟

    سپاسگذارم
  • moj1001
    سلام
    خروجي اين دستور يه بردار ستوني كه ميانگين سطري a رو برمي‌گردونه.
  • ناشناس  - سوال
    با تشکر از توضیحات
    من شبکه رو با nntool ساختم بعد آموزش میدم ولی:
    1-ماتریس های تست کجا باید وارد شن.
    2-چه جوری خطا کم میشه؟
    3-خطا چه جوری حساب میشه؟
    لطف می کنین.
  • moj1001
    سلام
    1- توضيح دادم در آموزش، با استفاده از دستور sim البته پس از ذخيره كردن شبكه در فضاي كاري متلب.
    2- اينكه خطا چه جوري كم ميشه خب روش‌هاي زيادي هست و پارامترهاي مختلفي در اون دخيلند. و بستگي به ديتاهاي ورودي هم داره كه چه تصميمي بگيري خب ولي معمولا با افزايش تعداد نرون‌هاي لايه مياني، افزايش تعداد لايه‌ها، كاهش پراكندگي داده هاي ورودي در صورت امكان، استفاده از ديگر شبكه‌هاي عصبي و ...
    3- تارگت منهاي خروجي.
  • mahsa  - راهنمایی
    با سلام
    من واسه پروژه ام نیاز به کمک دارم؛در مورد شبکه عصبی هستش که باید کامل یادش بگیرم و کنفرانس بدم باید یه شبکه عصبی رو با سیمولینک شبیه سازی کنم؛راستش اطلاعاتم در این زمینه خیلی کمه لطفا منو راهنمایی کنید,ممنون میشم.
  • moj1001
    سلام
    اگه ميخاي كامل ياد بگيري كه بهتره از منابع انگليسي كه بهترينشون همون هلپ متلب است استفاده كني البته يه كتاب هم در سايت معرفي شده كه ترجمه هلپ متلب است.
  • مسعود
    سلام ممنون از آموزشتون من شبكه را با nntool آموزش دادم و save هم كردم ولي دستور sim خطا ميده ميشه لطفا sim رو كامل توضيح بديد از help چيز زيادي نفهميدم ! خيلي ممنون
  • ناشناس
    سلام! يك خطايي كلي ميده معلوم نميكنه مشكل از كجاست
    Command syntax error see SIM command for details
  • moj1001
    سلام
    احتمالا دستور رو اشتباه به کار گرفتی.
    فرمت دستور به قرار زیر است:
    کد:
    sim(net,data)

    که net همون شبکه سیو شده و data داده هایی مورد نظر شما می باشد.
    موردی هم که مهمه اینکه سایز داده هایی که جهت تست به شبکه میدی با لایه ورودی شبکه همخوانی داشته باشه.
  • ناشناس
    سلام ممنون از كمكتون !من حدود 7تا پارامتر ورودي دارم كه بايد در3 سطح ضعيف متوسط و زياد مقدار دهي كنم حتما بايد 3تا شبكه جدا با nn tool براي مقادير ضعيف متوسط زياد براي هر حالت طراحي كنم نميشه اين 3 حالت مقدار اين7تا ورودي رو توي يك شبكه nn tool طراحي كرد.اگر امكان اين كار توي يك شبكه باشه خروجيها رو چطور بايد تفكيك كرد خيلي ممنون !
  • moj1001
    سلام
    چرا نمیشه، یه شبکه ایجاد کن با 3 خروجی!
  • ناشناس
    سلام !ببخشيد من متوجه نشدم با 3خروجي يعني چي! در انتخاب پارامترها بعنوان target (خروجي)هر پارامتري رو ميشه انتخاب كرد ولي من فقط برام يك خروجي مهمه كه در 3 مقدار ورودي (ضعيف متوسط زياد ) ببينم چه تغييري ميكنه .چون در خروجي پارامترها منحصر به فرد اند واز يك پارامتر بيشتر از يك بار بعنوان خروجي نميشه استفاده كرد .يعني من بايد براي هر مقداري از ورودي يك پارامتر متفاوتي رو بعنوان خروجي در نظر بگيرم ميشه يك توضيح مختصري بديد (تشكر از راهنمايي هاتون)
  • moj1001
    سلام
    صورت مساله رو کامل توضیح بده تا بتون کمکت کنم. پارامترهات چه هستند؟
  • ناشناس
    سلام خيلي ممنون از توجهتون!
    من بايد با استفاده از مدل رياضي موتور القايي شبكه عصبي رو آموزش بدم ابتدا همه پارامترهاي ورودي مثل(جريان ولتاژورودي ومقاومت روتور و استاتورو...)را در حالت عادي به مدل مقداردهي ميكنم بعد خروجي موتور رو كه ماكزيمم توان گشتاور خروجيTs است رو اندازه گيري مكنيم اين به حساب ميشه حالت عادي موتور بعد يك پارامترمثلا جريان ورودي رو صفر ميذاريمifl=0 اين هم به حساب ميشه آموزش خطاي مدارباز به شبكه براي 6تا پارامتر ديگه هم مينطور مقدامعمولي (نرمال) و مقدار غيرنرمال بعنوان خطا ميدهيم.يعني من لازم دارم براي هر پارامتر حدود دو سه مقدار بدم بعد خروجي هركدوم رو جدا داشته باشم وليي nntool خروجيهاش منحصربه فرد لطفا يك توضيح مختصري بفرماييد ممنون
    (شرمنده از اينكه طولاني شد)
  • moj1001
    سلام
    از اینکه nntool خروجی هاش منحصر به فرد هست منظورت رو نگرفتم! در nntool مثل کدنویسی میتونی خروجی های متفاوت داشته باشی.
    در ضمن شما میخای موتور رو با شبکه عصبی کنترل کنی یا پیادی سازی کنی؟
  • ناشناس
    سلام!من ميخوام پياده سازي كنم.
    من مدل رياضي موتور رو دارم بعد در حالتهاي مختلف سيستم موتور رو(با داده هاي ورودي-خروجي) به شبكه آموزش ميدم.اين حالتهاي مختلف يعني حالت نرمال(وقتي مقدار پارامترهاي ورودي مناسب)و حالت خطا(وقتي مقدارپارامترهاي ورودي نامناسب )بعد از آموزش اگر شبكه ورودي رو گرفت بگه حالت نرمال يا خطا!(نوع خطارو هم بگه).براي منحصر بفردبودن خروجي منظورم اين كه خروجي موتوركه در اينجا توان Tm باشه فقط با دادهاي (مثلا نرمال) ميشه آموزش دادواين خروجي رو نميشه با (دادهاي خطا دار)آموزش داد.(به يك خروجي فقط يكبار ميشه پارامتر ورودي نسبت داد)ولي من لازم دارم اين خروجي توانTM رو با چند حالت نرمال و خطا و..بدست بيارم يعنيTm1 براي نرمال و Tm2براي خطاو.. ميخواستم بدونم همه اين حالتها رو دريك nntool ميشهپياده كرد يا بايد براي هر حالت يك nntool تعريف كنم.
    باز هم خيلي ممنون!
  • aasetayesh
    یه سوال؟ بین شبکه عصبی و الگوریتم ژنتیک بطور کلی کدوم پرکربردتره؟
  • moj1001
    سلام
    هرکدوم کاربرد خودش رو داره بستگی داره که بخای چه کاری انجام بدی.
    مثل این میمونه که بگی خیار خوشمزه تره یا گوجه!
  • ناشناس
    سلام!
    من شبكه ام رو با داده هاي ورودي-خروجي آموزش دادم حالا با دستور sim ميخوام شبكه رو امتحان كنم اين data يعني داده هاي ورودي كه با اين دستور خروجي سيستم رو به من ميده .حالا من چطوري ميتونم يك خروجي بدم و شبكه به من ورودي مربوط به اون خروجي رو بده!(باsimميشه يا دستور ديگه اي براي اين كار هست) تشكر.
  • ناشناس  - ممنون - سوال
    سلام مطلبتون خیلی مفید بود ممنون
    ببخشید من نمی نفهمیدم چطورحین طراحی شبکه تعداد نرون ها و لایه ها رو مشخص کنم
    مثلاً می خوام یه شبکه 3 لایه با فرضاً 4 نرون ورودی و 6 نرون لایه پنهان و یک نرون خروجی ایجاد کنم، چکار کنم؟
  • moj1001
    سلام
    ببین تعداد نرونهای لایه خروجی بستگی به تعداد خروجی ها داره.
    تعداد نرونهای لایه پنهان هم میتونی در فیلد تعیین شده وارد کنی.
    اگه هم میخای تعداد لایه ها رو افزایش بدی خب در فیلد مربوطه باید عدد مربوطه رو بدلخواه افزایش بدی.
  • ناشناس
    سلام!
    خروجي شبكه عصبي (بصورت كد)را ميشه به بلوك selectيا switchوصل كرديا حتما بايد از nntool(بلوك)استفاده كرد ممنون!
  • moj1001
    سلام
    خروجی شبکه رو میتونی از فضای کاری متلب بوسیله بلوک From Workspace به محیط سیمولینک انتقال بدی.
  • احسان  - سلام
    خیلی ممنون از متلبتون.
    من مشکلم اینه که داده های Training و validation و test هام جداست و هر کدوم رو نمیدونم کجا باید وارد کنم.جاهاش رو اگه میشه بهم بگین.مرسی
  • moj1001
    سلام
    تو nntool ندیم به چه صورت میشه این کار رو انجام داد ولی میتونی از طریق کدنویسی یا ابزاری مثل nprtool استفاده کنی.
  • احسان  - ممنون
    ببینین من 130 تا داده دارم 6 ورودی و دو خروجی میخوام 100 تاش رو بزارم واسه ترینینگ و 15 تا 15 تام واسه ولیدیشن و تست.اگه میشه کدهاش رو یا یک فایلی آموزشی در مورد این واسم بزارین ممنون
  • moj1001
    یه روش اینه که nprtool رو اجرا کنی و بعد از وارد کردن داده های ورودی و خروجی درصد داده های تست و ترین و ولید و مشخص کنی.
    به عکس زیر نگاه کن:
    http://s3.picofile.com/file/7369501933/mn.png
  • احسان  - سلام
    ممنون.این رو میدونم ولی اون یه صورت رندوم میگیره من نمیخوام به صورت رندوم بگیره می خوام 100 تای اولش مثلا ترینییگ باشه و 15 تا بعدش ولید و 15 تا بعدش تست
  • moj1001
    فکر کنم با دستور divideind بتونی تفکیک قائل بشی.
  • ناشناس
    سلام!
    ميخواستم بدونم ميشه كد nntool رو داشته باشيم يعني اين هم مثل simulink block قسمت generate matlab code رو داره يا نه! ااگر داره قبل از مقداردهي input & target بايد اين كار رو كرد يا بعدش ! ميشه كمي توضيح بدين!
    ممنون!
  • aasetayesh
    با سلام و تشکر از زحماتتون. لطفا بگید برای پیاده سازی تابع Sin با شبکه عصبی به صورت کدنویسی از چه توابعی باید استفاده کرد. فقط اسم توابعو بگید کافیه. فرصت کمی دارم. لطفا کمکم کنید.
  • aasetayesh
    اگه شبکم mlp(multi layer perceptron) باشه باید از دستور newff استفاده کنم یا newp یا چیز دیگه؟ بازم ممنون
  • ناشناس
    سلام!
    ميشه لطفا يك شبكه ساده چند ورودي چند خروجي رو مثال بزنيد تا من از روي اون مقداردهي ها رو ياد بگيرماگر مثال كاملتري داريد ميشه برام ايميل كنيد ممنون!abbaspourmasoud@yahoo.com
  • ناشناس
    سلام!
    بعداز كلاس بندي با nctool چطوري بايد اونرو امتحان
    كنيم ! متشكر از زحماتتون.
  • moj1001
    سلام
    شبکه رو سیو کن بعد با دستور sim شبکه رو شبیه سازی کن.
  • aasetayesh
    سلام. می خوام دو تا عسکو مقایسه کنم که آیا یکی هستن یا نه. می تونم برا اینکار از شبکه عصبی استفاده کنم؟ اینکارو که کردم میزان خطاش خیلی زیاده
  • moj1001
    سلام
    بله میشه
    نه خطاش تا حد صفر هم میتونه پایین بیاد!
  • امین
    سلام
    من میخوام برای پیش بینی هزینه های تعمیر و نگهداری تراکتور از شبکه عصبی استفاده کنم به این صورت که داده های 10 سال رو دارم و میخوام داده سال های اینده رو برام پیش بینی کنه که البته داده هام به صورت سری زمانی هستند چطور میتونم این کار رو تو مطلب انجام بدم؟
  • moj1001
    سلام
    من اول یه سوال ازت دارم این داده ها رو از کجا گیرآوردی؟؟!! :!:
    برای راهنمایی، شما رو به خواندن کتاب مبانی شبکه های عصبی نویسنده محمدباقرمنهاج دعوت می کنم.
  • ناشناس
    سلام این داده ها رو برای پایان نامه کارشناسی ارشدم از یه شرکت کشت و صنعت نیشکر جمع اوری کردم و قبلا از طریق تحلیل رگرسیون یه مدل ریاضی واسه پیش بینی هزینه های تعمیر و نگهداری سال های اینده بدست اوردم و الان به خواست استاد راهنمام باید همین کار رو از طریق شبکه عصبی هم انجام بدم
  • m.s.m
    سلام لطف می کنید به من روش دادن مقادیر ورودی واستفاده از فایل ایکسل به عنوان database درمتلب رابگویید همراه با کد آن ممنون از لطف شما
  • borna  - سلام
    من می خواستم از روش رولینگ ویندو برای آموزش شبکه MLP استفاده کنم ممنون میشم اگر بنده را راهنمایی کنید.
  • نجمه
    سلام
    من برای آموزش شبکه عصبی یه فایل ورودی با ابعاد 7*150 دارم برای تارگت هم 150*111 . وقتی تو صفحه داده هاوارد میکنم این خطارو میده:
    data is not e legal value
    چون ابعادش زیاده این خطارو میگیره؟ چه جوری داده ها رو بهش بدم؟راه دیگه ای هم هست؟
  • moj1001
    سلام
    داده ها رو بصورت زیر وارد کن:
    input:150*7
    output:150*111
  • نجمه
    سلام.
    مسئله من 7 تا ورودی داره و 111 تا خروجی که برای آموزش شبکه میخوام 150نمونه رو واردکنم. برای ورودی یه ماتریس 150*7 و برای تارگت یه ماتریس 150*111 وارد میکنم .تو نمایش شبکه تعداد ورودی ها رو درست نشون میده و تعدا خروجی ها در output رو هم درست نشون میده و تو output layer 110تا نشون میده! میشه راهنمایی کنین چرا اینطوریه؟
  • نجمه
    ممنون از وقتی که گذاشتین.
    مشکلم اینه که توی 110، outlayer تا نشون میده!
  • moj1001
    منظورت اینه که توی لایه خروجی می نویسه 110؟
    خب این مسلمه چون تعداد خروجی هات 110 تاست.
    اگه نه که سوالت رو واضح مطرح کن.
  • نجمه
    ببخشین اینقد وقتتونو میگیرم.

    تعداد خروجی هایی که میخوام داشته باشم 111 تاست. برای تارگت هم ماتریس 150*111 رو تعریف کردم.( تعداد نمونه ها برای آموزش شبکه 150 تاست) وقتی شبکه رو نشون میده برای output ، 111 تا رو نشون میده( که درسته) ولی برای outputlayer ، 110 تا نشون میده. توی عکسی که شما گذاشتین درسته( دو تا 111 پشت سر هم) ولی برای من اون لایه رو 110 نشون میده! ( یعنی 110و 111) مگر نباید هردو تا یکی باشن؟!
  • moj1001
    خواهش میکنم
    بله باید دو تا 111 نشون بده شاید داده هات رو درست تعریف نکردی! با دستور size اندازه داده ها رو بدست بیار ببین درست هستند یا نه.
  • نجمه
    چک کردم. اندازه ها درسته ولی بازم اشتباه نشون میده.

    ممنون که جواب سوالامو دادین. خیلی سوال کردم ببخشید.
  • نجمه
    خیلی ممنون. لطف کردین
  • moj1001
    اگه میخای داده هات رو با دستور save تو یه فایل mat ذخیره کن و آپلودشون کن تا بررسی کنم ببینم مشکل کجاست.
  • نجمه
    این فایلش. ممنون
    http://ifile.it/jqbgzfo/matlab1.mat
  • نجمه
    ممنون از پیگیریتون.یه فکری میکنم براش.
    تشکر
  • moj1001
    پیشنهاد میکنم از سمپل های کمتری استفاده کنی یا از چند شبکه برای پیاده سازی بهره بگیری. البته ارور out of memory رو میتونی با روشهایی از قبیل افزایش حافظه Ram و ... از بین ببری.
  • نجمه
    سلام.ببخشید میشه یه سوال دیگه بپرسم؟
    بعد از آموزش شبکه باید اونو تست کرد، درسته؟تو نسخه های قبلی متلب گزینه testو validation هست ولی تو متلب 2012که نیست.از adapt باید استفاده کرد یا نه؟ یا اینکه کلا بعد از آموزش شبکه ورودی بدیم و اون خروجی که نمیدونیم رو simulateکنه؟
  • moj1001
    سلام
    ببین شما شبکت رو که آموزش دادی حالا میتونی اون رو با هرنوع داده ایی تست کنی چه داده آموزش، چه داده ولید، چه داده تست و چه هر نوع داده دیگری...
  • aasetayesh
    با سلام وتشکر از زحمات بی دریغتون
    ببخشید سوالمو اینجا مطرح کردم آخه تو پست مربوطه جواب نمی دن.
    شما در مورد فشرده سازی تصویر با تبدیل موجک صحیح و رمزگذاری زیگ زاگ چیزی می دونید. ممنون میشم راهنمائیم کنید.
    یا می دونید تو متلب برا رمزکذاری از چه دستوری استفاده میشه؟
  • moj1001
    سلام - ممنون
    متاسفانه فشرده سازی کار نکردم.
  • نورا  - شبکه عصبی مصنوعی mpl دسته بندی حملات در سیستم تشخی
    سلام خسته نباشید
    من یه پروژه دارم: طراحی شبکه عصبی مصنوعی mpl برای دسته بندی حملات در سیستم تشخیص نفوذ
    که 5 تا کلاس خروجی داره و dataset نرمال شده
    نمی تونم تشخیص بدم ورودی ها چیه که باید به یکی از خروجی ها بره ، میشه کمکم کنید :(
  • moj1001
    سلام - ممنون
    منظورت چیه که نمی تونی تشخیص بدی ورودی ها چیه؟
    کاملتر توضیح بده!
  • fazli86m
    سلام سایتتون خیلی عالیه
    من می خوام بدونم چطوری یه شبکه را آموزش میدن
    مثلا یه عدد از یه تصویر بگیره و اونو تشخیص بده
    ممنون میشم اگه فایلی دارید که توش آموزش داده باشه برام بفرستید
  • nora
    entekhab=[10 100 150 1000 1250 1500 2000 2250 25000 30000];
    p=p(:,entekhab);
    net=sim(net,p);
    [i,j]=max(net);

    answer=zeros(5,10);
    for z=1:10
    answer(j(z),z)=1;
    end
    answer
    in chan khat yani chiiii?
  • limu
    خرابتم مجتبی !!!!!!!!
    بهترین راه آموزش مثاله 8) 8)
  • ناشناس  - تست شبكه عصبي
    سلام!
    من شبكه رو طراحي و train كردم حالا با دستور sim
    ميخوام تست كنم .شبكه رو براي كار كلاس بندي ميخوام كه به سه كلاس دسته بندي كنه. داده هام 100تايي هستندبخاط همين براي target ماتريس t را يك ماتريس يك سطر و 300ستوني تعريف كردم كه 100تاي اول رو 1 100تاي دوم رو 2 و100تاي سوم رو 3 گذاشتم .بعد از دستور sim انتظار داشتم 3 عدد بين 1تا 3 بده كه هركدوم كه به مقدار تعريف شدش نزديك تر بود بعنوان همون كلاس بشناسه ولي در خروجي يك عددي مثل 5و6ويا-17و.. مياد الان بايد چكار كنم كه اين كلاس بندي رو انجام بده!
    ممنون!
  • moj1001
    سلام
    اگه داده های ورودی بین 0.5 تا 3.5 هستند و میخای بین 1 تا 3 قرارشون بدی میتونی از تک پرسپترون استفاده کنی.
  • ناشناس
    سلام! شرمنده من متوجه جوابتون نشدم داده هاي ورودي
    دماست كه رنج بين 90تا 170 داره و قراره در 3 كلاس 1و2و3 طبقه بندي بشه من براي اين كار در ماتريس target كه بصورت[1,2,3](كه البته براي هر عدد 100تا داريم)هست بعد از دستور sim بجاي اينكه يك عددي بين 1تا3 بعنوان خروجي بوده اعداي مثل 5يا 6 يا حتي 16- ميده لطفا براي طبقه بندي داده ها راهنمايي كنيد
    ممنون!
  • moj1001
    بر چه اساسی میخای طبقه بندی شون کنی؟
  • ناشناس
    سلام ممنون از توجهت !
    ببينيد من خودم طبقه بندي رو دارم انجام ميدم و بازاي 100تا داده اول در ماتريس ورودي در ماتريس تارگت متناظر با اون وروديها عدد1 ميذارم و بازاي 100تا داده دوم عدد 2و همينطور براي كلاس 3 و بعد از آموزش اگر ورودي با دستور simبه شبكه بدم عددي كه به من ميده اگر نزديك به يكي از اعداد 1تا 3 باشه بگه اين ورودي مربوط به اون كلاسه .
    ممنون
  • moj1001
    از چه شبکه ای استفاده کردی؟
  • ناشناس
    سلام
    perceptron دولايه(ورودي خروجي)
  • moj1001
    خب به چه پرفورمانسی رسیدی؟
    اگه پرفورمانست خوب نیست باید تعداد نرون هات رو زیاد کنی!
  • ناشناس
    سلام!
    اگر منظورتون نمودار train, output كه تطبيق خوبي دارن ونمدارشون شبيه هم و برهم منطبقه ولي مشكل اينجاست كه بعد از دستور sim خروجي كه ميده اصلا در رنج مقادير target كه براش تعريف شده نيست ميخوام بدونم يك دستوري مثل نرمال سازي يا چيزي شبيه به اون لازمه كه نتيجه خروجي در رنج اعداد 1تا3 باشه يا مشكل چيز ديگه اي! مثلا يك جور ديگه اين كلاس بندي رو انجام بدم !
    باز هم خيلي ممنون
  • moj1001
    خیر اگه شما موقع آموزش براش تعریف کردید که به ازای فلان داده های ورودی، خروجی 1 بشه و ... نیازی به نرمال سازی نیست.
    شما بهم بگو پرفئمانست چند شده تا راهنماییت کنم
  • ناشناس
    سلام
    با [performance 13.5[.0909و بعد از دستور sim عدد7.54- رو ميده
  • moj1001
    سلام
    پرفورمانست شده 0.0909؟ درسته؟
    بعد اومدی عدد 13.5 رو امتحان کردی به عنوان ورودی، خروجی شده 7.54-؟
    خب عدد 13.5 جزء داده های آموزش بوده یا نه؟
    تو رنجشون چی؟
    به تمامی سوالات جواب بده.
  • ناشناس
    سلام
    performance=13.5
    بعد 10تا دما كه از 110تا 120درجه بود رو بعنوان ورودي به شبكه دادم وبعد از دستور sim خروجي 7.54- رو نشون ميده.اون .0909 هم توي كادر سبز رنگ جلوي پرفرمنس كه دائم تغيير ميكنه بعداز اتمام train نشون داد.اين 10تا دما (110تا120) هم جزو داده هاي آموزش نبوده ولي در رنج دادهاي آموزشي بوده چون رنج اين داده ها از 100 تا 130 هست
    ممنون!
  • moj1001
    سلام
    خب پس پرفورمانس نهایی شده 0.09 که پرفورمانس خوبی نمی تونه باشه.
    ببین با افزایش تعداد نرون ها میتونی به پرفورمانس بهتری برسی.
    بهرحال چیز دیگه ای به ذهنم نمی رسه ولی قاعتا با همین پرفورمانس هم نباید ایقدر خطا داشته باشه.
  • ناشناس
    با عرض سلام !
    ميخواستم بدونم بهترين شبكه براي دسته بندي داده هايي
    كه از يك سيستم غير خطي بدست ميان چيه! و پارامترهاش تو چه رنجي باشه بهتره. خيلي ممنون از كمكتون
  • moj1001
    سلام
    شبکه پرسپترون دو لایه با تابع تبدیل سیگموئید در لایه نهان و تابع تبدیل خطی در لایه خروجی و تعداد کافی نرون در لایه میانی میتونه شبکه خوبی برای تقریب داده های غیرخطی باشه.
  • zahra  - mlp
    سلام
    من این روش که گفتید رو امتحان کردم ولی به نتیجه ای شما رسیدید نرسیدم . بشدت به شبکه پرسپترون 3 لایه نیاز دارم
    لطفا بگید چکار کنم
  • moj1001
    سلام دوست عزیز
    کدوم روش منظورتونه؟
    به کدوم نتیجه من نرسیدی؟
  • ایمان  - شبکه های عصبی
    سلام
    بنده در حد مبتدی هستم ولی در نهایت اعتماد به نفس یه موضوع برا پایان نامه برداشتم که هیچ ازش سر در نمیارم میخواستم لطف کنید برام بفرستید چطوری میتونم موفق باشم موضوعم" پیش بینی دبی هفتگی رودخانه با استفاده از شبکه های عصبیه"
    یه سری اطلاعات 15 ساله هم گیر آوردم ولی برا شروع و ادامه کارم دچار اشکال شدم ممنون میشم کمکم کنید اگه لطف کردید بیزحمت به این ایمیل جوابش رو برام بفرستید
    imanadere@yahoo.com
    ممنون
  • moj1001
    سلام
    دچار چه مشکلی شدی؟
    یه مقاله برات میل کی میکنم رات میندازه.
  • ali  - دمت گرم
    آقا حقیقتش من خیلی دنبال مطلبی گشتم که به دردم بخوره.فقط همین به درد من خورد.ساده و بسیار مفید.ممنون و خسته نباشی
  • iman  - پیش بینی بار الکتریکی با شبکه عصبی
    سلام دوستان.اگه کسی از دوستان تو این زمینه کار کرده یا مطلب داره به من ایمیل بزنه.متشکرم
  • aasetayesh
    آقا یکی به داد من برسه هرجا کامنت میذارم هیشکی جواب نمیده :cry: :cry: :cry: . من می خوام برنامه ایی بنویسم که قسمت چشم و ابرو را از بقیه قسمت های صورت جدا کنه. از دستور imcrop نمی تونم استفاده کنم. باید بطور خودکار در هر تصویری بتونه اینکارو انجام بده.
  • yousef toomari
    سلام کسی از دوستان میتونه بنده رو در پایان نامم که موضوش در خصوص پیش بینی بازار بوسیله شبکه های عصبی دینامیکی (NARX) هستش کمکم کنه بند از لحاظ حتی تدریس خصوصی آماده همکاری هستم .با آرزوی موفقیت و سربلندی برای تمامی دوستان عزیز
  • rezash  - help
    سلام مهندس
    من میخوام یک سیستم که چهار ورودی و چهار خروجی داره رو با شبکه های عصبی آموزش بدم. میخواستم لطف کنید منو راهنمایی کنید که بهتره از کدوم نوع شبکه عصبی استفاده کنم (ff یا cf) و اگه ff بهتره، Network type چی باشه و اینکه چند لایه باشه؟ واقعا ممنونم
  • moj1001
    سلام
    نوع شبکه بستگی به این داره که میخای با داده هات چه کار کنی؟ تقریب تابع، طبقه بندی و ...
  • rezashb  - help
    اشتباه گفتم. سیستم چهار ورودی و دو خروجی داره. ببینید من یک عملگر دارم که با اعمال چهار ولتاژ بین 0 تا 5 ولت به چهار پایه، عملگر در دو جهت (دو درجه آزادی) جابجایی تولید می کنه. حالا من یه تعداد از داده های ورودی و خروجی نظیرشونو دارم و میخوام کل فضا رو با شبکه عصبی به سیستم آموزش بدم. یعنی اینکه یه کدی داشته باشم که جابجایی مطلوبم رو بهش بدم و اون ولتاژ مناسب چهار پایه رو به من بده. خیلی لطف میکنید کمکم کنید.
  • moj1001
    خب میتونی از شبکه MLP استفاده کنی.
    تعداد نرون هات هم بستگی به پراکندگی داده هات و یه سری عوامل دیگه ای داره که بهتره از تعداد نرون کم شروع کنی و تا جایی که به تقریب دلخواهت رسیدی تعداد نرون ها رو افزایش بدی.
  • elham
    سلام
    من باید بااستفاده از تولباکس دو ورودی تعریف کنم مرحله اول باید بهشون آموزش بدم بعد با این آموزش دو ورودی دیگه با مقدار دو برابر اولی باید به خروجی برن.هیچی سر در نمیارم لطفا راهنماییم کنین
  • moj1001
    سلام
    متوجه نشدم چی گفتی؟
  • elham8881
    باید با استفاده از تولباکس در شبکه های عصبی دو تا ورودی تعریف کنم اینا به خروجی میرن مثلا دو مقدار مساوی 150
    بعد باید یه جوری از قسمت train استفاده کنیم که دفعه بعد بتونه دو مقدار مثل دو ورودی با مقدار 300 رو به خروجی ببره.ممنون میشم اگه کمکم کنید.
  • moj1001
    والا اگه فهمیدم چی گفتی!
    ببین اگه مساله شما دو ورودی داره و یه خروجی خب اول داده های ورودی و خروجی رو آماده میکنی بعد با استفاده از تولباکس این داده ها رو به شبکه میدی.
    خود شبکه متوجه میشه که داده ها ورودی شما دوتا و خروجی شما یکی هست و کاری لازم نیست که شما انجام بدی.
    بعد شبکه رو آموزش میدی.
  • مصطفي
    سلام من يه كار تحقيقاتي كردم كه ميخوام از طريق نرم افزار متلب (شبكه عصبي)داده هاي خروجيم رو بررسي كنم و ميزان تاثير هر يك از پارامتر هاي اوليه رو در نتايج حاصل بدست بيارم.تعداد پارامتر هاي اوليه 5 تاست و نتايج خروجي هم 4 تا هست.آيا ميتوم از اين روش استفاده كنم
  • moj1001
    سلام
    بله، اگه بین داده های ورودی و داده های خروجی شما رابطه ای وجود داشته باشه میتونید با شبکه عصبی اون رابطه رو تخمین بزنید.
  • ابراهیم  - ابراهیم
    با عرض سلام و خسته نباشید
    در nntool بعد از آموزش شبکه، چجوری بفهمیم که شبکه از کدام داده ها برای آموزش و صحت سنجی و آزمون استفاده کرده؟ در nftool بعد از ذخیره شبکه در قسمت info این امکان فراهم شده است.
    ممنون
  • mahla  - hopfiel
    سلام ببخشید میشه یک مثال در مورد شبکه هاپفیلد برام بذارید. ممنون میشم از لطفتون.
  • ناشناس
    با سلام
    فرض کنید یک ماتریس 7*30 داشته باشیم که 7 خصوصیت اعضای یک فامیل 30 نفره را نشان می دهد.
    اگر بخواهیم از 10 ستون این ماتریس بعنوان ترین استفاده کنیم و بقیه ستون ها ماتریس را چک کنیم این کار چگونه انجام می شود؟
  • moj1001
    سلام
    اگه ماتریس p ورودی شما باشه:
    کد:
    p(:,1:10)
  • abbas
    سلام
    خسته نباشد
    من درباره شناخته واریته های گندم با شبکه عصبی کار میکنم
    من تمام ویژگی ها رو را از عکسها در آوردم
    تقریبا ۶۰ ویژگی در دستم دارم (ویژگی های ظاهری )
    و در بین دانه ها ۶ واریته وجود داره
    حالا میخواهم به این دادهها شبکه عصبی بنویسم
    چند تا سوال دارم
    ۱- آیا باید دادهها رو نرمالیزه کنم یانه .
    ۲- از کدام شبکه عصبی باید استفاده کنم
    ۳-من در هر عکس ۱۰۰ دانه گندم در واریته های مختلف دارم میخاهم در آخر شبکه عصبی به من تعداده هر گندم از هر واریته را بدهد باید چی کار کنم .
    اگر امکان داشته باشد یک مثال از این شبکه عصبی به من بنویسید
  • moj1001
    سلام
    1-هیچ بایدی وجود نداره اما اگه نرمال کنی در به اشباع نرفتن نرونها و آموزش بهتر شبکه کمک کرده ای.
    2-معمولا MLP جواب خوبی میده.
    3-منظورت رو نفهمیدم.
  • alibakhtiari20
    سلام.خسته نباشی.من از آموزش شما استفاده کردم.واقعا جای تشکر داره.ولی من دیتاهام صفر و یک نیست ولی جواب صفر و یک بهم میده.میشه بگی چکارش کنم؟شما گفتی از تابع محدود کننده سخت نامتقارن استفاده کردی ولی من نمیخوام اینکارو کنم.میشه راهنماییم کنی؟ممنونم ازت
  • moj1001
    سلام
    اگه خروجی هات محدود نیست در لایه خروجی از تابع خطی استفاده کن(purelin).
  • مرتضی  - تشخیص تغییرات محیطی و مرکزی با کمک شبکه عصبی
    سلام و ممنون از اینهمه لطف بی دریغ:
    قرار است که سیگنال های فشار و جریان هوایی (شامل 100 دیتا پوینت)دستگاه تنفس را برای شبیه سازی تغییرات مقاومت راه های هوایی مرکزی (مجاری بزرگ) و محیطی (مجاری ریز)از طریق شبکه عصبی شبیه سازی کنم. خروجی بایستی به صورت [0 , 1 , 1-] باشه. اگه ممکنه مراحل پیاده سازی رو راهنمایی کنید یا اگه زحمتتون نمیشه برام ایمیل کنید. بنده رشتم فیزیولوژیه زیاد منابع اطلاعاتی قابل اطمینانی ندارم. با تشکر
  • moj1001
    سلام
    خب مطلب فازسی هست اگه بگردی پیدا میکنی.
    حالا من نمی تونم کامل بهت توضیح بدم.
    برای حل اینجور مسائل میتونی از شبکه mlp استفاده کنی و برای تابع تبدیل خروجی هم از تانژانت هایپربولیک استفاده کنی.
  • نسرين
    سلام
    واقعاً ممنون
    فقط من يه مشكل دارم
    ميخوام از اين شبكه توي simulink استفاده كنم
    شبكه اي كه خودم ساختم 3 تا ورودي داره نميدونم چه جوري بايد اينكارو بكنم
    اگه راهنمايي كنيد خيلي لطف بزرگي به من كرده ايد
    با تشكر
  • fateme
    سلام
    تشکر از مطالب خیلی خوبتان
    من یک مشکلی با شبکه عصبی دارم. و آن این است که من می خواهم شاخص قیمت سهام را با استفاده از شبکه عصبی پیش بینی کنم. و برای ورودی از داده های روزانه 5سال گذشته شاخص قیمت استفاده می کنم. ولی برای داده ی هدف با مشکل مواجه شدم. اصلا داده هدف را چه باید وارد کرد؟ما که هنوز تخمینی نزدیم که، داده هدف را براساس داده خروجی تعیین کنیم!
  • moj1001
    سلام
    داده هدفت میشه همون شاخص قیمت سهام در 5 سال گذشته.
  • fateme
    ممنون از راهنماییتان
  • ناشناس
    سلام خسته نباشید.می خواستم ببینم برای پیش بینی سری با استفاده ازnarx چهکار میشه کرد؟
  • moj1001
    سلام
    برای سری زمانی میتونی از ابزار ntstool استفاده کنی.
  • fateme
    فکر کنم این دستور tstool است.
  • sara
    سلام.من دو تا تمرین در رابطه با شبکه عصبی داشتم ممنون می شم اگه راهنماییم کنید.1)طراحی شبکه هاپفیلد برای شناسایی و تفکیک اگو های + - * ^ / با یک شبکه 10*10 برای نمایش عملگر ها.
    ,2) و ان یکیش هم طراحی یک شبکه پیشرو برای تقریب مناسب و هم زمان توابع عضویت فازی همون شکل Fuzzy logic temperature
    که متوازی الاضلاع اول از 2 شروع شده تا 8 و متوازی الضلاع دوم هم از 6 شروع شده.1 ورودی و بایاس و خروجی مقادیر متوسط و زیاد اعداد هستند.خواهش می کنم کمکم کنید. :evil: :cry:
  • sara
    سلام اگه میشه راهنماییم کنید.این دستور شبکه دو لایهادالاین است برای تبدیل به 1 لایه چه تغییری باید پیدا کند؟
    n=input('epochs=');
    w=zeros(size(t,1),size(x,1));
    Lr=input('learning rate=');
    goal=input('goal=');
    for j=1:n
    dw=zeros(1,size(x,1));
    for i=1:length(t);
    y=w*x(:,i);
    e(:,i)=t(i)-y;
    dw=dw+Lr*e(i)*x(:,i)';
    er(i)=e(i)^2 ;
    end
    w=w+dw;
    mse=sum(er)/length(t);
    if mse
  • علی  - ویونت
    سلام
    من با شبکه های عصبی مبتنی بر موجک کار می کنم می خواستم بپرسم برای اینکه من در شبکه تابع ویولت به جای تابعی مثلا زیگمویید استفاده کنم چکار باید انجام دهم
  • جواد  - کمک
    سلام دوستان
    من یه پروژه کلاسی دارم که قراره پرسپترون And رو با متلب انجام بدم (البته از متلب اصلا سر در نمی یارم)اگه کسی میتونه لطف کنه کدشو برام بزاره یا به ایمیلم بفرسته یکمی هم توضیح بده ممنون میشم
    در ضمن من با این سایت تازه آشنا شدم واقعا آموزشهاتون عالیه :?:
  • eng91
    با سلام
    من شبکه ای را با تولباکس کار کردم و نتایج مناسبی هم گرفتم حالا می خواستم نمودار های Regression، Training state و Performance که تولباکس نشون میده رو save کنم که در پایان نامه ام استفاده کنم ولی گزینه save نداره. چطوری میشه این نمودارها رو با کیفیت save کرد. خودم وقتی نتونستم از print script صفحه کلید استفاده کردم ولی کیفیتش خوب نیست.
    لطف کنید راهنمایی کنید.
  • moj1001
    سلام
    میتونی رسم کنی با دستور plotregression , plottrainstate . plotperform.
  • صادق
    سلام
    اول از مطالب عالی تون تشکر میکنم.
    من به کمک توضیحات شما یه شبکه عصبی ساختم.اما چند تا سوال دارم:
    1- اون تب simulate در کنار تب train چه کاربردی داره؟
    2- چطوری میتونم وزنهای شبکه عصبی رو عوض کنم؟
    3- چطوری بفهمم شبکه ای که ساختم به درد میخوره ؟من از نمودار ها چیزی سر در نمیارم
    (training state, performance,regression)
    ببخشید طولانی شد.
  • moj1001
    سلام
    1-برای تست شبکه هست
    2-وزنهای شبکه و تو تغییر نمی ده بلکه طی آموزش تغییر میکنه
    3-هرچی اون دایره های سیاه رنگ در نمودار regression بیشتر روی خط قرار بگیرند بهتره.
  • amirdada
    سلام اقا مجتبی میخواستم سایز عکس رو با nntool کم کنم راهنماییم میکنید؟
  • moj1001
    سلام
    یعنی چی؟
    میخای ورودی یه عکس باشه و تارگت همون عکس با رزولوشن کمتر؟
  • ناشناس
    سلام
    در جواب سوالم گفتید که:
    سلام
    میتونی رسم کنی با دستور plotregression , plottrainstate . plotperform.

    لطفا بیشتر توضیح می دهید.
  • moj1001
    به هلپ متلب مراجعه کن انقدر تنبل نباش.
  • amirdada
    سلام
    میخوام با یه شبکه 2لایه ورودی 512*512 رو بگیره بعد خروجی همون عکس با همون سایز باشه ولی در خروجی لایه میانی اندازه عکس مثلا 256*256 باشه
    من ورودی خروجی رو درست کردم ولی نمیدونم چطور باید از لایه میانی خروجی گرفت
    ممنون میشم اگه کمکم کنید
    باتشکر
  • ناشناس
    سلام
    تنبل نیستم مهندس جان. چون از تولباکس استفاده کردم کد ننوشتم. آخر کار شبکه و خطاها را میشه save کرد ولی فقط نمودار های Training state و Performance را نشون میده.
    هلپم دوباره گشتم ولی پیدا نکردم.
    اگه زحمتی نیست بگید که بعد آموزش شبکه مناسب این شبکه دخیره کنم و دستور رسم را بزنم؟ این کار که می کنم ارور میده. روندش چه طوریه؟
  • moj1001
    وقتی شبکه رو سیو کردی:
    کد:
    plotregression(targets,outputs)


    که outputs همون خروجی شبکه هست
  • ناشناس
    سلام
    ببخشید اگه سولات من خیلی سادست. نمودار رسم میشه ولی بازهم گزینه save نداره، اینجا باید چکرد؟
  • moj1001
    چرا داره!
    کد:
    load simplefit_dataset
    net = newff(simplefitInputs,simplefitTargets,20);
    [net,tr] = train(net,simplefitInputs,simplefitTargets);
    simplefitOutputs = sim(net,simplefitInputs);
    plotregression(simplefitTargets,simplefitOutputs);
  • ناشناس
    سلام !
    میخواستم با دستور newff تمام پارامترها و متغیرهای nntool رو بنوسیم یعنی از gui به کدm-file تبدیلش کنم خیلی این کاررو لازم دارم .کاملترین دستوری که دیدم مثلا
    net=newff([0 5],[2 1],{'tansig','logsig'},'trainrp

    بوده مثلا جای mse باید کجا باشه یا چطور مثل nntool هرچقدر که متغیر خواستیم بعنوان target بدیم به شبکه خیلی ممنون میشم اگه کمک کنید
    خیلی ممنون!
  • moj1001
    سلام
    به هلپ متلب مراجعه کنی تمام موارد رو میتونی پیدا کنی:

    کد:
    net.trainParam.goal=mse
  • bahar  - دسته بندي ارقام و تشخيص انها
    سلام.مرسي از سايت خوبتون.
    من مي خوام يگ برنامه با روش backpropagation بنويسم كه دسته بندي كند ارقام را.قصد دارد از softmax output استفاده وتنها يك لايه مخفي داشته باشد.
    اطلاعات داده هم به صورت زير است
    You will find that you now have four matrices. Each row of traindata represents an image of a handwritten 16 × 16 digit. There are 1000 rows which represent 100 ones followed by 100 twos etc. testdata is the same except it has 1000 rows for each digit class. Each row of traintargets contains nine 0’s and one 1. The 1 is at the position that corresponds to the class of the digit. The class zero is represented by a 1 in the tenth position. Use your generalization abilities to figure out what is in testtargets. خواهش مي كنم جواب راهنمايي تان را به ايميلم ارسال كنيد با تشكر.
  • bahar
    سلام خواهش مي كنم راهنمايي ام كنيد.فوري است.
  • sh  - پیش بینی
    سلام خسته نباشید من داده های 43 سال صنعت برق تحت 16 پارامتر به عنوان ورودی دارم بعد خروجی ام هم همون 43 سال مصرف برق هستش باشبکه پس انتشار خطا مدل سازی کردم جواب هم گرفتم یعنی خروجی و تارگت روی هم فیت شد ..............اما مشکل من اینه که باید 10 سال آینده رو پیش بینی کنم ..............الان نمیدونم باید این 16 تا ورودی واسه 10 سال آینده رو ندارم که ................ بعدشم اگه بخوام با ntstool پیش بینی کنم هرکدوم از این 16 تا رو نمیدونم چطوری اینکار رو بکنم .......تروخدا راهنمایی کنید
  • مرادی
    سلام. فدای تو داداش، عالی بود. انشاالله که خدا به شما عمر با عزت بدهد. بسیار ممنون و متشکر. موفق باشید. ارادتمند. مرادی
  • نوید
    سلام من ی سری داده ورودی (دبی رودخانه ) دارم و ی سری خروجی هم دارم (دبی رسوب رودخانه)
    حالا میخوام با شبکه عصبی ی مدل پیدا کنم که دبی رسوب رو پیش بینی کنه
  • ناشناس
    سلام
    وقتی با استفاده از تولباکس شبکه را ایجاد می کنم و می خواهم simulation را انجام بدم این خطا را می دهد: too many output arguments
    دلیل چیه؟
  • moj1001
    سلام
    داده هات رو ترانهاده کن.
  • ناشناس
    سلام كسي هست نمونه كد براي Optimiztion داده ها داشته باشه ؟
  • محمد
    سلام.
    ممنون از مطالب مفیدتون.
    من یک سوال داشتم:
    من باید یک شبکه ی MLP طراحی کنم که بتواند 10 ورودی بگیره و آنها را به صورت مناسبی طبقه بندي کنه. البته در matlab.این ورودی ها شامل 10 نمونه (اعداد 0 تا 9) هستند که هر کدوم از اون اعداد در یک ماتریس 7*5 قرار گرفتن (به ازای خانه های روشن اعداد مشخص میشوند)
    سوالم اینه که ورودی ها چند تا هستند و خروجی ها چند تا ؟ و اینه رو چطور میتونم در متلب نشون بدم؟
    با تشکر.
نوشتن نظر
Your Contact Details:
نظر:
[b] [i] [u] [url] [quote] [code] [img]   
:D:):(:0:shock::confused:8):lol::x:P:oops::cry:
:evil::twisted::roll::wink::!::?::idea::arrow:
Security
کد آنتی اسپم نمایش داده شده در عکس را وارد کنید.
آخرین بروز رسانی در دوشنبه, 16 مرداد 1391 ساعت 02:49