اطلاعیه

Collapse
No announcement yet.

کمک در مورد شبکه عصبی و مفید بودن آن

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    کمک در مورد شبکه عصبی و مفید بودن آن

    سلام

    من در بخضی از پروژم نیاز به شبکه عصبی دارم...از شبکه ی عصبی کلیاتی شنیدم و یک بار هم - به اجبار و در یک زمان کوتاه - از شبکه ای که برای کلاس بندی داده ها نوشته شده بود استفاده کردم...با توجه به مبتدی بودنم خواهشمندم دوستان جواب سوالاتم رو بدن؟

    من در پروژم با آزمایش داده های زیادی رو به دست اوردم...ورودی آزمایش من حدود 10 متغیر و خروجی های من چهارتاست...حدود 100 بار این آزمایش رو انجام داده و 100 ست داده دارم...هدفم اینه از شبکه عصبی برای تخمین جواب داده هایی غیر از داده های آموزش داده شده به شبکه از شبکه استفاده کنم...

    1- آیا شبکه عصبی که نیاز دارم چیزی غیر از اون شبکه ای که برای کلاسه بندی استفاده کردم؟ اصولا برای هر نوع مسئله ای شبکه ای خاص وجود داره؟ برای پروژه ی من چه شبکه ای مناسبه؟

    2- آیا امکان این که شبکه عصبی یک رابطه و یک فرمول بین متغیر ها رو در نهایت در اختیار من قرار بده هست یا نه؟

    3-من در پروژه ی کلاس بندی داده ها رو بین -1 و 1 نرمال کردم آیا در هر شبکه ای نیاز به این کار است؟ به چه شکل این کار ممکنه؟ (اون بار رو با یه کد آماده این کار رو کردم ولی الان نمی دونم!)

    4- آیا شبکه عصب فقط قابلیت درونیابی داره یا برونیابی هم می تونه؟

    #2
    پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

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

    چه سئوالهای مفهومی قشنگی پرسیدین

    1- شبکه عصبی مورد نیاز شما Multi Layer Feed Forward Neural Network است ، یعنی یه شبکه عصبی چند لایه که در لایه اول مثلا 5 نرون،در لایه دوم 4 نرون،در لایه سوم هفت نرون و در لایه چارم ، چهار نرون وجود داره و از قانون Back propagation برای بدست آوردن وزن ها استفاده میشه.

    بسته به کاربرد شما نوع خاصی از شبکه عصبی استفاده میشه مثلا از کاربرد های شبکه هاپفیلد خاصیت حافظه انجمنی یا بهینه سازی مساله فزوشنده دوره گرد هست یا خاصیت MLFFNN دسته بندی ، درون یابی و ...

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

    3-بله برای اینکه شبکه اصطلاحا اشباع نشه باید داده هاتون در این بازه قرار بگیره ، دستورش در متلب هست ف یادم نمیاد ولی وقتی متلب می خواد داده ها رو به شبکه اعمال کنه فک می کنم خودش اتوماتیک این کار رو می کنه.

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

    دیدگاه


      #3
      پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

      خیلی ممنون...

      فکر می کنم شما جواب من رو بر اساس تولباکس متلب دادید...حالا یه چند تا سوال دیگه داشتم:


      1-فکر کنم منظور شما از شبکه MLFFB همونیه که توی کادر سبزه و تعداد لایه ها هم در کادر آبی مشخص میشه...درسته؟...شبکه هاپفیلد هم توی کادر سبز مشخص میشه؛ نمیشه که همزمان هم شبکه رو MLFFB و هم هاپفیلد قرار داد!...

      2-آیا شبکه MLFFB با MLP یکیه؟

      3- مقدار پارامترهای قرمز رو برای مثال من به چه شکل باید تغییر داد؟

      4-تعداد لایه ها (و هر پارامتر دیگه ای در شبکه عصبی) رو یا سعی و خطا باید مشخص کنم یا رابطه ی خاصی داره؟

      دیدگاه


        #4
        پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

        در جواب شما عرض کنم که نه ، من جواب شما رو بر اساس کد نویسی با دستورات متلب دادم .
        من برای نوشتن برنامه شبکه عصبی از کد نویسی در متلب استفاده می کنم و از کدهای تولباکس استفاده می کنم.
        نمونش رو اینجا توی این تاپیک می تونید بخونید:
        http://www.eca.ir/forum2/index.php?topic=37648.msg223477#msg223477
        و اما جواب سئوالا :
        1-بله منظورم از هاپفیلد و Feed Forward همونیه که گفتین ، من هم منظورم این نبود که همزمان هم هاپفیلد و هم FF میشه داشت.اصلا هاپفیلد به رد دسته بندی نمی خوره ، اون فقط یه مثال بود.

        2-چون از اون نوع کد نویسی استفاده می کنم ، درگیر این تعریفها نمیشم هیچ وقت.فکر می کنم MLP در هر لایه فقط یه پرسپترون(نرون) وجود داره ولی در MLFF در هر لایه بسته به نظر شما نرونهای مختلفی هست.

        3-برای رسیدن به وزن های درست شبکه ، شبکه با این پارامترهای آموزش می بینیه.
        برای فهم کارای اونها باید اصول آموزش شبکه عصبی رو از یه کاب رفرنس بخونین.
        GDM یعنی روش گرادیان نزولی.
        MSE یعنی میانیگین مجذور خطا.
        که هر از پارامتر های آموزش شبکه هستند.

        4-کاملا سعی و خطا ، البته یه قانونها و تقریب های سر انگشتی هست ولی همه تقریبیه.اصلش سعی و خطا است.
        ***
        در کل اگه حرفه ای می خواین کد نویسی کنین با متلب ، خوندن راهنمای کدهای تولباکس متلب رو توصیه می کنم.
        لینک دانلود کتاب راهنماش رو از سایت Mathwork می تونی پیدا کنین.
        انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
        انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
        *****

        دیدگاه


          #5
          پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

          ممنون...

          1-فایل راهنما رو دارم...ولی باید یه مطلبی رو برای هفته آینده آماده کنم...فرصت خوندن اون فایل 800 و خورده ای صفحه ای رو ندارم...

          2-من شبکه Cascade Feed Forward رو هم امتحان کردم...به نظرم رسید که این شبکه جواب های بهتری نسبت به FF میده...آیا این شبکه هم برای پیش بینی مناسب هست؟

          3-اگر ممکنه یک راهنمای کلیدی بکنید...مثلا چه شبکه ای, چه تابع تبدیلی, چه تعداد لایه و چه مقادیری رو برای min_grad, mu, max_fail و ... انتخاب کنم تا سریعتر به جواب مطلوب برسم...

          4-شکل نمودار خطای من اینجوریه:


          -آیا این یه نمودار مطلوبه؟چرا حالت training سریعا نزول می کنه و اون دو تا نه؟ هر چقدر هم پارامترها رو تغییر می دم فایده ای نداره؟ آیا لازمه که اون دو تا هم سریع نزول کنن و آیا اصلا نزول سریعشون معیاری برای جواب مطلوب هست؟

          -در هنگام اجرا شبکه سریعا به مقدار max_fail میرسه و ادامه روند متوقف میشه...چرا؟

          دیدگاه


            #6
            پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

            2- در مورد cascade FF اطلاعاتی ندارم.

            3-تو پست قبلی گفتم شبکه Multi Layer feed forward به دردتون می خوره.تعداد نرون ، تعداد لایه و .... هم سعی و خطا.
            mu مثلا نرخ یادگیریه اون جوری که یادم میاد ، توی اون پی دی افی که وقت ندارین بخونین همه ی اینارو توضیح داده.

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

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

            دیدگاه


              #7
              پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

              سلام
              من یه پروژه دانشجویی دارم و می خوام یه شبکه عصبی رو تو متلب پیاده سازی کنم.
              می خواستم بدونم از دوستان کسی هست به من کمک کنه برای برنامه نویسی؟
              ممنون می شم .

              پیغام مدیر انجمن شبکه عصبی :
              سلام دوست گرامی ، خوش آمدید
              شما همین تاپیک رو در جای دیگری ایجاد کردید
              http://www.eca.ir/forum2/index.php?topic=100.msg225086#msg225086
              لطفا برای حفظ نظم انجمن ، تاپیک خود را فقط در یک جا که به موضوع شما مربوط است(انجمن عصبی) ایجاد کنید.
              لطفا سئوال خود را به صورت کاملا واضح و نه کلی در یک تاپیک جداگانه مطرح نمایید تا امکان کمک کردن به شما میسر گردد.
              متشکرم.

              دیدگاه


                #8
                پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

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

                1- چجوری می تونم مقادیر وزن ها در حالت مطلوب رو - که ذخیرشون کردم - در دفعه بعد به شبکه بخورونم؟...(این کار چجوری در تولباکس قابل انجامه؟)

                2- یک شبکه رو چجوری می تونم ذخیره کنم؟

                3-آیا این که شبکه در هر با اجرا یک جواب بده قابل قبوله؟ آیا چنین شبکه ای ارزش داره و از اون میشه در شناسایی پارامترهای یک شبکه استفاده کرد؟

                دیدگاه


                  #9
                  پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

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

                  دیدگاه


                    #10
                    پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

                    روشی که برای ذخیره کردن شبکه در تاپیک بالا گفتید شبکه رو ذخیره نمی کنه...فقط ماتریس ها و آرایه های ورودی و خروجی رو ذخیره می کنه...

                    لطفا یک روش برای ذخیره شبکه بگید...

                    من مقادیر وزن ها و بایاس های مطلوب رو ذخیره کردم...چجوری می تونم این مقادیر رو به عنوان مقدار اولیه به شبکه بدم؟...

                    دیدگاه


                      #11
                      پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

                      نوشته اصلی توسط mr_ghl
                      روشی که برای ذخیره کردن شبکه در تاپیک بالا گفتید شبکه رو ذخیره نمی کنه...فقط ماتریس ها و آرایه های ورودی و خروجی رو ذخیره می کنه...

                      لطفا یک روش برای ذخیره شبکه بگید...

                      من مقادیر وزن ها و بایاس های مطلوب رو ذخیره کردم...چجوری می تونم این مقادیر رو به عنوان مقدار اولیه به شبکه بدم؟...
                      خیر ! روش فوق همه ی وزن ها و بایاس ها و معماری شبکه و ... ذخیره می کنه.با دستور save ذخیره و با load لود میشه.
                      انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                      انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                      *****

                      دیدگاه


                        #12
                        پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

                        نوشته اصلی توسط امیر حسین وزیری
                        خیر ! روش فوق همه ی وزن ها و بایاس ها و معماری شبکه و ... ذخیره می کنه.با دستور save ذخیره و با load لود میشه.
                        نشدا!

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

                        می تونید امتحان کنید...با تولباکس البته...

                        دیدگاه


                          #13
                          پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

                          نوشته اصلی توسط mr_ghl
                          نشدا!

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

                          می تونید امتحان کنید...با تولباکس البته...
                          من منظورم کد نویسی بود.

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

                          دیدگاه


                            #14
                            پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

                            راه ذخیره شبکه در تولباکس رو پیدا کردم...جلوی چشمم بود و نمی دیدمش...باید در قسمت Export که میشه خروجی ها و خطا ها رو به Workspace فرستاد, شبکه رو هم انتخاب کنید و اون رو هم به Workspace بفرستید در آخر فایل رو کامل ذخیره کنید...بعدم هر موقع خواستید می تونید در همون تولباکس به عنوان ورودی ازش استفاده کنید...(گفتم واسه بقیه)

                            ولی الان یه سوال دیگه داشتم...من یه شبکه رو اجرا کردم و نمودار performance و regression من به شکل زیره...سوالم اینه که آیا همچین شبکه ایه یک شبکه ی مطلوب هست یا معیار مطلوب بودن شبکه مورد دیگه ایه؟



                            دیدگاه


                              #15
                              پاسخ : کمک در مورد شبکه عصبی و مفید بودن آن

                              چرا فقط تا 6 تا epoch رفته جلو ؟
                              خودتون شرط epoch رو 6 گذاشتید یا خود نرم افزار بیشتر از 6 تا نمیره جلو ؟
                              انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                              انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                              *****

                              دیدگاه

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