اطلاعیه

Collapse
No announcement yet.

کمک در رابطه با عمومیت شبکه های MLP

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

    کمک در رابطه با عمومیت شبکه های MLP

    سلام به همه اساتید و دوستان عزیز ... :redface:

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

    به همین منظور نیاز به روشی برای بهبود عمومیت شبکه روی داده های آموزشی دارم ، می دونم که میشه از دو روش تنظیم و توقف زودرس استفاده کرد ولی نحوه اجرای این دستورات رو در متلب نمی دونم .

    لظفا من رو راهنمایی کنید ؛ مرسی
    شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

    k_siroos@yahoo.com

    #2
    پاسخ : کمک در رابطه با عمومیت شبکه های MLP

    1-ببینید Transfer function لایه خروجی تون چی هست؟اگه هر تابعی غیر از تابع Pure Lin هست،داده هاتونرو بین بازه ی [9.0 0.9-] بیارید.

    2-آیا از تعداد نرون های مناسبی در هر لایه استفاده کردید؟

    3-از چند لایه استفاده کردید ؟

    اینجور که معلومه شبکه شما صحیح آموزش نمی بینه،این سئوال های عمومی بود که به ذهنم میرسه.این سئوال ها هم یه کم تخصصی تره

    4- آیا تعداد داده هایی که استفاده کردید،زیاد نیست؟اگه بیش از حد زیاد باشه،شبکه بیشتر از اینکه به سمت یادگیری بره به سمت حفظ کردن رابطه میره.

    5-یه سری تابع PreProcessing وجود داره واسه پردازش اولیه داده ها،در
    www.mathworks.co.uk/access/helpdesk/help/pdf_doc/nnet/nnet.pdf
    تحت عنوان توابع Pre processing روی داده ها مطالعه کنید حتما.

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

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

    دیدگاه


      #3
      پاسخ : کمک در رابطه با عمومیت شبکه های MLP

      نوشته اصلی توسط k_siroos
      سلام به همه اساتید و دوستان عزیز ... :redface:

      من یک برنامه شبکه عصبی در متلب نوشتم و از دستور newff استفاده کردم ... به دلیل پراکندگی داده ها ، اونها رو بین 1- و 1 مقیاس بندی کردم ، ولی با وجود اینکه شبکه در طی آموزش به مقدار خطای mse ای مورد نظر مبرسه ، ولی در زمان شبیه سازی با داده های جدید خطاهایی در بعضی از داده ها دیده میشه ، یعنی شبکه به صورت صحیح همه ی داده های آموزشی رو پوشش نداده .
      دوست عزیز هر شبکهآ‌ای رو که پس از آموزش، با دادهآ‌های جدید تست میآ‌کنی، قطعا خطای بالاتری داره ولی این خطا(البته دادهآ‌های تست تو نباید خیلی از دادهآ‌های آموزشی دور باشن) باید خیلی کم باشه.
      مجتبی آیتی نیا
      https://telegram.me/universityprojects

      دیدگاه


        #4
        پاسخ : کمک در رابطه با عمومیت شبکه های MLP

        نوشته اصلی توسط امیر حسین وزیری
        1-ببینید Transfer function لایه خروجی تون چی هست؟اگه هر تابعی غیر از تابع Pure Lin هست،داده هاتونرو بین بازه ی [9.0 0.9-] بیارید.

        2-آیا از تعداد نرون های مناسبی در هر لایه استفاده کردید؟

        3-از چند لایه استفاده کردید ؟

        اینجور که معلومه شبکه شما صحیح آموزش نمی بینه،این سئوال های عمومی بود که به ذهنم میرسه.این سئوال ها هم یه کم تخصصی تره

        4- آیا تعداد داده هایی که استفاده کردید،زیاد نیست؟اگه بیش از حد زیاد باشه،شبکه بیشتر از اینکه به سمت یادگیری بره به سمت حفظ کردن رابطه میره.

        5-یه سری تابع PreProcessing وجود داره واسه پردازش اولیه داده ها،در
        www.mathworks.co.uk/access/helpdesk/help/pdf_doc/nnet/nnet.pdf
        تحت عنوان توابع Pre processing روی داده ها مطالعه کنید حتما.

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

        راستی منظورتون از روش تنظیم و توقف چیه؟
        میشه توضیح بدین؟
        سلام ، مرسی از توجهتون ...

        1- تابع انتقال لایه خروجی purelin هست
        2و3- کلا علاوه بر لایه ورودی و لایه خروجی ، یک لایه مخفی هم داره ، تعداد نرون های لایه مخفی از حدود 8 به بالا جواب میده ولی مطمئنا تو هر سعی و خطا با تعداد نرون های مختلف خطا تو یک سری از داده های بیشتره

        4- اتفاقا تعداد داده هام زیاده :mrgreen: ، حدود 8000 تا داده دارم . منظورتون رو از اینکه می خواد رابطه رو حفظ کنه متوجه نشدم

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

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

        k_siroos@yahoo.com

        دیدگاه


          #5
          پاسخ : کمک در رابطه با عمومیت شبکه های MLP

          نوشته اصلی توسط مجتبی آیتی نیا
          دوست عزیز هر شبکهآ‌ای رو که پس از آموزش، با دادهآ‌های جدید تست میآ‌کنی، قطعا خطای بالاتری داره ولی این خطا(البته دادهآ‌های تست تو نباید خیلی از دادهآ‌های آموزشی دور باشن) باید خیلی کم باشه.
          داده های تست در حقیقت بخشی از داده های استخراجی خودم هست و مربوط به خود سیستم مورد آموزش میشه که از بین داده های موجود به صورت رندم انتخاب کردم ... :nerd:
          شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

          k_siroos@yahoo.com

          دیدگاه


            #6
            پاسخ : کمک در رابطه با عمومیت شبکه های MLP

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

            دیدگاه


              #7
              پاسخ : کمک در رابطه با عمومیت شبکه های MLP

              راستی منظورتون از روش تنظیم و توقف چیه؟
              میشه توضیح بدین؟

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

              لطفا اگه اطلاعاتی در این رابطه دارین کمک کنید . مرسی ...


              لینک دانلود

              http://www.4shared.com/document/AHq-HQCJ/Regularization.html

              شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

              k_siroos@yahoo.com

              دیدگاه


                #8
                پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                نوشته اصلی توسط k_siroos

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

                لطفا اگه اطلاعاتی در این رابطه دارین کمک کنید . مرسی ...


                لینک دانلود

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

                دیدگاه


                  #9
                  پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                  نوشته اصلی توسط امیر حسین وزیری
                  میشه شماره صفحه اش رو در راهنمای شبکه عصبی متلب بگید.
                  تو این فایلی که من دارم (840 صفحه ای) ، صفحه 180 هست ؛ اگه پیدا نکردین با Early Stopping سرچ کنید ... مرسی
                  شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

                  k_siroos@yahoo.com

                  دیدگاه


                    #10
                    پاسخ : کمک در رابطه با عمومیت شبکه های MLP


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

                    دیدگاه


                      #11
                      پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                      نوشته اصلی توسط امیر حسین وزیری

                      توضیحات متلب در این باره رو در عکس بالا گذاشتم.
                      ***
                      اول از همه بگم که متلب از این تکنیک درهمه نوع آموزش با سرپرست استفاده می کنه.
                      ***
                      اما این که این روش چی هست؟
                      در این روش داده های موجود (ورودی-خروجی :برای شبیه سازی سیستم اصلی)به سه دسته تقسیم میشن:
                      1-مجموعه داده های برای آموزش شبکه
                      2-مجموعه داده برای اعتبار سنجی شبکه
                      3-موجموعه داده برای تست شبکه
                      طبق گفته راهنما:از دو دسته داده (مجموعه یک و دو)حین آموزش و دسته سوم بعد از آموزش استفاده میشه.
                      خطا به هنگام آموزش بر روی مجموعه اعتبار سنجی تست میشه،انتظار بر این است که در حین آموزش شبکه و یاد گیری شبکه ،خطا روی دسته دوم هم کم بشه ولی ممکنه که شبکه (overfit)بشه،که اینجا متلب با استفاده از خطای روی مجموعه اعتبار سنجی می فهمه و آموزش رو متوقف می کنه و کار اصلا به تست شبکه با مجموعه سوم نمی رسه.
                      بله ؛ این دقیقا همون فرآیند توقف زودرس هست .

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

                      همچنین نمی دونم چطوری اون دو تا ماتریس جدید val.p و val.t رو تعریف کنم ... آحه داده های من به صورت دسای وارد شده اند و فرم مشخصی مثل مثالی که ذکر شده ندارند .

                      در ضمن تو بخش آموزش شبکه ، از دوتا [] استفاده شده که دلیل استفاده از اونها رو نمی دونم .
                      شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

                      k_siroos@yahoo.com

                      دیدگاه


                        #12
                        پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                        طبق این چیزی که اینجا نوشته بود در شبکه هایی که از آموزش Back Prob استفاده میشه ،این روش اتوماتیک انجام میشه.
                        شما لازم نیست کاری کنی،فقط می تونی نوع انتخاب داده ها به این 3 دسته رو عوض کنی.
                        در ضمن در صفحه ی بعدیش 4 نوع دسته بندی برای این مجموعه ها اومده بود.
                        چیزی که من فهمیدم اینه که کاربرد مجموعه validation فقط همینه که اگه شبکه در حین آموزش overfit شد،آموزش رو متوقف کنه.
                        به نظر من،کاربرد خیلی خاصی از لحاظ بهتر کردن شبکه از لحاظ کارآیی نداره.
                        ***
                        حتما آخرین ورژن راهنما رو دانلود کنید.(940 صفحه است.)شاید این راهنمای شما ناقص تر از این جدیده باشه.
                        انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                        انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                        *****

                        دیدگاه


                          #13
                          پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                          نوشته اصلی توسط امیر حسین وزیری
                          طبق این چیزی که اینجا نوشته بود در شبکه هایی که از آموزش Back Prob استفاده میشه ،این روش اتوماتیک انجام میشه.
                          در ضمن در صفحه ی بعدیش 4 نوع دسته بندی برای این مجموعه ها اومده بود.
                          ***
                          حتما آخرین ورژن راهنما رو دانلود کنید.(940 صفحه است.)شاید این راهنمای شما ناقص تر از این جدیده باشه.

                          نمی دونم والا :sad:

                          شما لینکی برای دانلود آخرین ورژن دارید یا می دونید از کجا می تونم دانلود کنم ؟؟؟ :redface:
                          شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

                          k_siroos@yahoo.com

                          دیدگاه


                            #14
                            پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                            لینک :
                            www.mathworks.co.uk/access/helpdesk/help/pdf_doc/nnet/nnet.pdf
                            ***
                            جواب قبلیمو ویریایش کردم دوباره بخونش.
                            انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                            انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                            *****

                            دیدگاه


                              #15
                              پاسخ : کمک در رابطه با عمومیت شبکه های MLP

                              نوشته اصلی توسط امیر حسین وزیری
                              لینک :
                              www.mathworks.co.uk/access/helpdesk/help/pdf_doc/nnet/nnet.pdf
                              ***
                              جواب قبلیمو ویریایش کردم دوباره بخونش.

                              من با باز کردن فایل های pdf روی نت مشکل دارم ، اشکال از سیستم امه ، شما فایلش رو ندارین جای دیگه پلود کنین ؟؟؟ یا لینک دیگه ای ندارین ؟؟؟

                              یا حد اقل من بدونم چه نسخه ای هست و چاپ چه سالیه کفایت می کنه ... :redface:
                              شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

                              k_siroos@yahoo.com

                              دیدگاه

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