اطلاعیه

Collapse
No announcement yet.

آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

Collapse
این موضوع برجسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    #16
    پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

    نوشته اصلی توسط shahre ghashang
    به نام خالق هستی بخش

    ىوستان کسی اءلاعی ىاره که مثلا می شه با شبکه های عصبی استنتاج کرى یا نه؟ یا بشه تصمیم کرفت
    ترکیب منطق فازی با شبکه های عصبی
    neurofuzzy systems
    اسمش که خیلی جذابه
    :rolleyes:
    http://www.eca.ir/forum2/index.php?topic=36764.0
    انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
    انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
    *****

    دیدگاه


      #17
      پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

      به نام خالق هستی بخش


      ممنون دوست عزیز به خاطر پاسختون
      البته منظور بنده بیشتر استنتاج با شبکه عصبی به تنهائی بود و نه در ترکیب با سایر زمینه ها.آیا خود شبکه قابلیت استنتاج رو داره یا نه

      دیدگاه


        #18
        پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

        نوشته اصلی توسط امیر حسین وزیری
        دوستان بعد از چند روز سعی و تلاش و نوشتن چند تا برنامه شبکه عصبی با متلب(استفاده از تولباکس) برای شبکه های Feed forward multi layer N.N و Hopfield به این نتیجه رسیدم که انتخاب اینکه زبان برنامه نویسیتون با تولباکس متلب باشه یا نه،کاملا بستگی به پروژه تون داره:

        پروژه های عصبی که واسه رشته های دیگه هستن (مثلا عمران،شیمی،...) کاملا با تولباکس متلب جواب میدن.
        همچنین پروژه هایی که پردازش تصویر دارن هم متلب خوبه.
        ولی وقتی شما یه کم دقیق تر می شین و خلاصه می خواین جد در جد شبکه رو تحلیل کنین بهتره که از C++ استفاده کنین.

        میرم رو Open Source ها کار کنم ببینم چی میشه،
        اگه کسی از دوستان تجربه برنامه نویسی با C++ رو داره و از کدهای اوپن سوروس استفاده کرده،لطفا مارو از تجربه و نظرش بی نصیب نذاره.
        هر ساختاری که تا حالا برای شبکه های عصبی تعریف شده با متلب قابل پیاده سازیه. تولباکس ساختن شبکه متلب که بیشتر از 4 تا سیستم با 2 -3 نوع سل پرسپترون و.. روبیشتر نداره اما میشه ساختار های پیچیده تر و حتی با سل های جدید رو با کد نویسی تو متلب ساخت. چندین روش train به صورت پیشفرض در اختیار میگذاره. میشه شبکه های رو به هم لینک کرد و از همه جالبتر قابلیت کنترل real-time رو به سادگی با همین شبکه ها روی برد هایی مثلا ezkf2812 داره و دمه دسته.در هر صورت همش یه سری عملبات ریاضی رو یه سری ماتریسه و با هرچیزی میشه پیادش کرد ، هرکی یه جور نظری داره.
        Gracias A La Vida
        [glow=red,2,300]ساخت فرز CNC[/glow]
        http://www.eca.ir/forum2/index.php?topic=56308.0
        http://up9.iranblog.com/images/4xd21f8vemt8g46011fx.jpg
        زمین سفت است و آب شلست و هوا نرم است و همه چیز عالیست در این حوالی...

        دیدگاه


          #19
          پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی &

          نوشته اصلی توسط shahre ghashang
          به نام خالق هستی بخش


          ممنون دوست عزیز به خاطر پاسختون
          البته منظور بنده بیشتر استنتاج با شبکه عصبی به تنهائی بود و نه در ترکیب با سایر زمینه ها.آیا خود شبکه قابلیت استنتاج رو داره یا نه
          استنتاج رو که فقط مغز انسان داره. اما کلا روش کارش بیشتر شبیه استقرا هست. مثلا یه سیستم داری 100 تا ورودی داره 10 تا خروجی. 1 میلیون ورودی مختلف دادی و این 10 خروجی رو ثبت کردی .میشه مثلا با شبکه های عصبی این سیستم رو مدل کرد که با اون ورودی ها به همون خروجی ها همگرا بشه.
          در هر صورت میشه شبکه خودش خودش رو ترین کنه.(آموزش بده= ماتریس وزن ها رو تغییر یا گسترش بده)
          فعلا شبکه های عصبی قابلیت شرطی شدن رو دارند اما قابلیت حل مسئله رو ندارند. شرطی یعنی با اعمال یه ورودی مشخص نتیجه رو ثبت کنه و خودش خودش رو ترین کنه.
          اما حل مسئله مثل اینه که یه ورودی بهش بدی و نتیجه خروجی اصلی (مثلا A) که موفقیت یا شکست باشه منوط به ایجاد خروجی یا خروجی های درست (Bوcو...)باشه. البته اینم مهمه که در نظر داشته باشی سیستم نمیفهمه آیا A درسته یا غلط! در هر صورت با یه سری خروجی واسط bوcو..حتما A یه میزانی داره اما درست میتونه نباشه. :read:
          Gracias A La Vida
          [glow=red,2,300]ساخت فرز CNC[/glow]
          http://www.eca.ir/forum2/index.php?topic=56308.0
          http://up9.iranblog.com/images/4xd21f8vemt8g46011fx.jpg
          زمین سفت است و آب شلست و هوا نرم است و همه چیز عالیست در این حوالی...

          دیدگاه


            #20
            پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

            امیر جون دستت درد نکنه بعد از سالها سختی کشیدن یک چیزی از شبکه عصبی فهمیدم کاش که زودتر اینها رو میدیدم دمت گرم :wow:

            دیدگاه


              #21
              پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

              با سلام آیا می شود مثلا بردار ورودی و هدف را به شبکه عصبی داد و مثلا یکسری داده های کلاس 1 داخ داده های کلاس 2 باشند که با خط نتوان جدا کرد و با بیضی و منحنی بایستی جدا کرد آیا مطلب اینکار را انجام می دهد و با منحنی محدوده کلاس یک و دو را جدا می کند چطوری می شود اگر کسی برنامه ای چیزی دارد خواهشا توضیح دهد که من خیلی الاف آنم با تشکر زیاد از همه :biggrin:

              دیدگاه


                #22
                پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                نوشته اصلی توسط mahdifarahani2007
                با سلام آیا می شود مثلا بردار ورودی و هدف را به شبکه عصبی داد و مثلا یکسری داده های کلاس 1 داخ داده های کلاس 2 باشند که با خط نتوان جدا کرد و با بیضی و منحنی بایستی جدا کرد آیا مطلب اینکار را انجام می دهد و با منحنی محدوده کلاس یک و دو را جدا می کند چطوری می شود اگر کسی برنامه ای چیزی دارد خواهشا توضیح دهد که من خیلی الاف آنم با تشکر زیاد از همه :biggrin:
                یکی از خصوصیات شبکه های عصبی پیش بینی توابع غیر خطی است.
                مطالعه ی راهنمای تولباکس شبکه عصبی متلب که چندین جای این انجمن لینک دانلودش رو گذاشتم بهتون توصیه میکنم.
                انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                *****

                دیدگاه


                  #23
                  پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                  سلام
                  چندتا سوال راجع به شبکه عصبی ومتلب داشتم ممنون می شم اگه دوستان عنایت کنند
                  اول اینکه تعداد لایه ها و نرون ها رو از کجا می تونیم مشخص کنیم
                  مثلا وقتی در یک مسئله 1 ورودی و 1 خروجی داریم که رابطه ورودی و خروجی یه منحنی هست چه فرقی با یه مسئله با 7 ورودی و 1 خروجی داره هر کدوم چند تا نرون داشته باشند و چند تا لایه خوبه
                  البته یه جا خوندم که بهتره تعداد سلول های لایه مخفی از رابطه2 /(مجموع ورودی ها +خروجی ها) بدست بیاداین رابطه درست هست ؟؟؟
                  یه سوال دیگه این که توی تولباکس متلب نتونستم شبکه عصبی چند لایه پرسپترون ایجاد کنم میشه یه راهنمایی کنید دستور newff شبکه feed forward از نوع back propagation هست و دستور newp تک لایه هست اگه ممکنه یه راهنمایی بکنید

                  دیدگاه


                    #24
                    پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

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

                    دیدگاه


                      #25
                      پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                      سوالات قبلیم رو که کسی جواب نداد :cry2:
                      حالا بگذریم چه طوری می شه وزن ها رو از یک شبکه آموزش دیده استخراج کرد .

                      دیدگاه


                        #26
                        پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                        سلام دوست گرامی
                        جواب سئوالات قبلی شما به نوعی در پاسخ به سئوالات بقیه دوستان داده شده است.
                        بهترین رفرنس برنامه نویسی شبکه عصبی ، راهنمای تولباکس شبکه عصبی متلبه که در چند جای انجمن لینک دانلودش رو قرار دادم.
                        در این رفرنس جواب تک تک سئوالات شما دوستان عزیز نظیر :
                        1-چه طوری می شه وزن ها رو از یک شبکه آموزش دیده استخراج کرد
                        2-اگه یه برنامه آموزش and باشه خیلی خوب می شه
                        3-سوال دیگه این که توی تولباکس متلب نتونستم شبکه عصبی چند لایه پرسپترون ایجاد کنم میشه یه راهنمایی کنید دستور newff شبکه feed forward از نوع back propagation هست و دستور newp تک لایه هست اگه ممکنه یه راهنمایی بکنید.

                        وجود داره در ضمن من خودم در پست های شبکه عصبی انجمن جواب همه سئوالات رو دادم ، فقط باید وقت بذارید و بخونید و پیدا کنید.
                        یادتون هم نره که حتما راهنمایی که گفتم رو بخونید. جواب سئوال آخر شما :

                        برای مثال وزن ورودی یک به نرون لایه یک در صورتی که اسم شبکه با net ساخته شده باشد به این صورت است:
                        net.IW{1,1}
                        از راهنمایی که گفتم می تونید کامل ترشو بخونید.

                        دستور newff هم یه شبکه چند لایه با تعداد نرون و خصوصیات مورد نظر شما ایجاد می کنه ولی دستور newp فقط یه پرسپترون (یعنی فقط یه نرون) یه لایه ای می سازه که فقط به درد مسایل ساده می خوره ، این هم توضیح کاملش ، قثط کافیه تایپ کنید:
                        help newp





                        انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                        انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                        *****

                        دیدگاه


                          #27
                          پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                          جناب وزیری ممنون از راهنمایی هاتون ولی شرمنده باز هم یک شبکه Feed forward درست نشد نمی دونم مشکل از عدم تعریف درست شبکه است یا علت دیگه ای داره فکر کنم دفعه قبل مشکل رو درست توضیح ندادم به خدا این هلپ رو روزی ده بار می خونم ولی اونچیزی که می گه با عملش زمین تا آسمون فرق داره الان می گم چرا
                          شبکه پرسترون رو فهمیدم و یه شبکه تک لایه بدون لایه خروجی هست که کلا هیچ بریم سراغ همون newff یک شبکه با یک لایه مخفی یک نرونه می سازیم نوع تابع هم Tansig خوب پس شبکه یک لایه تک نرون ورودی خطی داره یک لایه تک نرون تانژانت هیپربولیک و یک لایه تک نرون خطی به عنوان خروجی این دستورشه
                          net = newff(P,T,[1],{'tansig'});
                          خوب حالا شبکه باید آموزش ببینه درسته اینم دستورش
                          net = train(net,P,T);
                          خوب حالا میام دستی تمام مشخصات شبکه رو می دم تمام بایاس ها رو 0 می کنم با این دستور
                          net.b={0; 0}
                          و تمام وزن ها رو 1 می کنم با این دو دستور
                          net.iw{1,1}=1 ویت لایه ورودی
                          net.lw{2,1}=1 ویت لایه خروجی
                          غیر از اینا که دیگه چیزی نداریم درسته بقیه وزن ها خالی هستند.خوب حالا بریم سر تست شبکه اصلا احتیاجی به ترین نبود ولی حالا بگذریم
                          ما یه عدد مثلا 0.1 رو می دیم به شبکه با این دستور
                          Y = sim(net,0.1);
                          قاعدتا باید جواب یک عدد باشه که در Y ذخیره می شه خوب حالا بریم ببینیم عدد درسته یا نه
                          ما یه 0.1 رو به عنوان ورودی دادیم بهشخوب یک ویت 1 روش اثر می کنه تانژانت هایپربولیکش گرفته می شه Tanh(0.1) یه بایاس 0 هم هست که وقتی روش اعمال می شه تغییری ایجاد نمی کنه خوب جواب این عبارت که یک عدد هست مثلا 0.0997 با یک ویت 1 و یک بایاس 0 به لایه خروجی میره که همین نتیجه باید مقدار عددی Y برابر باشه که نیست اصل مشکل من همین جاست ؟؟
                          راستش من اینا رو باید بتونم استخراج کنم که روی یک شبکه سخت افزاری اجراشون کنم.
                          اینم فایل متلبش اگر می خواین
                          http://www.4shared.com/file/bRQSYm2g/test.html
                          اشکال کار من کجاست ؟؟؟؟؟؟؟؟

                          دیدگاه


                            #28
                            پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                            سلام دوست گرامی

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


                            من خودم هیچ وقت از دستورات NEWFF,NEWP استفاده نمی کنم
                            همیشه به صورت مجرد یه شبکه می سازم و بعد خصوصیاتشو تعیین می کنم
                            فکر میکنم این بهترین روشه

                            فصل 12 راهنما
                            انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                            انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                            *****

                            دیدگاه


                              #29
                              پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                              سلام خدمت همه دوستان
                              جناب وزیری باز هم ممنون بابت راهنمایی هاتون در های یه دنیای دیگه رو روی من باز کردید الان دو روزه دارم ور می رم تا از این کد ها سر در بیارم یه شبکه به همون صورت خودم ساختم البته با کمک کد هایی که نوشته بودین و با کلی دردسر تونستم ترین شبکه رو هم انجام بدم دقیقا یه شبکه با یک لایه مخفی تانژانت هیپربولیک ودو لایه خطی ورودی و خروجی و جواب های شبکه درست در اومد تمام مشخصات شبکه رو هم مثل دستور newff تنظیم کردم ولی شبکه ای که من درست می کنم اگر چه دقیقا از لحاظ مشخصات مثل شبکه newff هست ولی جواب دو شبکه کاملا متفاوت هست شبکه من درست روی خروجی شبکه کاملا فیت نمیشه ولی با دستور newff این شبکه کاملا فیت می شه علتش رو نفهمیدم الان دارم تولباکس newff رو می خونم که ببینم چه تفاوتی با شبکه من داره
                              نتایج رو در اختیار دوستان می ذارم

                              دیدگاه


                                #30
                                پاسخ : آموزش مقدماتی برنامه نویسی شبکه عصبی با متلب

                                سلام من یه کد ساده میخوام از مطلب.داده هایی رو به شبکه بده و آموزش بده <من تازه کارم >

                                دیدگاه

                                لطفا صبر کنید...
                                X