اطلاعیه

Collapse
No announcement yet.

کد کامل شبکه عصبی MLP

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

    #31
    پاسخ : کد کامل شبکه عصبی MLP

    نوشته اصلی توسط محمد نحوی
    سلام.
    مثل اینکه کدنویسی برا شبکه های عصبی و ... مشتری نداره .
    یه نکته ای رو بگم و اون اینکه اگه حجم اطلاعاتی که میخواهید به شبکه آموزش بدید زیاد باشه، مثلا در پروژه ای که ما روش کار میکردیم ابعاد ماتریس 20*6900 بود برای امکان استفاده از دستور newff نبود(با 4 گیگ رم) این برنامه اونجاها میتونه به داد آدم برسه.
    اگه کسی مایل بود کد رو کامل بررسی کنه و یه توضیحی براش بنویسه منم اگه چیزی بلد باشم بهش اضافه میکنم که انشالله یه چیز کاربردی از آب در بیاد
    سلام
    میشه توضیح بدید در کدتون چرا نرمالسازی کردید و اینکه چرا داده ها رو قاطی کردید تا شبکه بهتر آموزش ببینه چه تاثیری داره؟

    دیدگاه


      #32
      پاسخ : کد کامل شبکه عصبی MLP

      سلام.
      سوالات خوبی مطرح کردید ممنونم:
      1. علت اینکه داده ها رو نرمالیزه می کنن این هست که در غیر این صورت نورون های شبکه عصبی اشباع می شن. یعنی به سرعت خروجی آنها 1 یا 1- میشه بدون اینکه داده به نحوه صحیحی در اون تاثیر داشته باشه. ناحیه فعال یه نورون بین صفر تا 1 یا بین 1- تا 1 هست بنابراین باید داده ها رو در این محدوده نرمالیزه کنیم.
      2. علت اینکه داده ها رو بهم میزنیم این هست که فرض کنید شما اول تمام داده های کلاس 1 رو به شبکه آموزش بدید، شبکه بدون دیدن داده های کلاس های دیگه به راحتی با چند تا تغییر کوچیک میتونه این کلاس رو یاد بگیره بعد از اینکار داده های کلاس 2 رو به شبکه آموزش میدیم، با اینکار شبکه وزن هایی که برای کلاس 1 آموزش دیده بود رو تغییر میده تا شبکه 2 رو آموزش ببینه و .... . در نهایت احتمالا کلاس آخری که بهش آموزش مدید رو خوب یاد میگیره. برای اینکه این مشکل پیش نیاد داده ها رو بهم میزنن. یعنی مثلا 2 تا داده از کلاس 1 بهش میدن، 5 تا از کلاس 4 و ... تا شبکه همزمان تمام کلاس ها رو آموزش ببینه و بتونه اونها رو از هم تفکیک کنه.
      موفق باشید.
      شأن انسان در ایمان و هجرت و جهاد است و هجرت، مقدمهآ‌ی جهاد فیآ‌سبیلآ‌الله.
      هجرت، هجرت از سنگینیآ‌هاست و جاذبهآ‌هایی که تو را به خاک میآ‌چسباند.
      چکمهآ‌هایت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت کن.

      دیدگاه


        #33
        پاسخ : کد کامل شبکه عصبی MLP

        با سلام. :smile:

        سوالاتی داشتم، لطف می کنید اگه پاسخ دهید:

        1- روی پروژه ای دارم کار می کنم که با MLP پیاده سازی میشه، تو برون یابی نتایج مطلوب بدست نمیارم. شما چه تکنیک یا توصیه ای برای بهبود نتایج در برون یابی پیشنهاد می کنید؟ نتایج درون یابی ها قابل قبوله!

        2- در آزمایش هام استفاده از تابع newcf رو نسبت به newff مطلوب تر دیدم. شما در برنامتون از چه الگوریتمی استفاده کرده اید؟

        با تشکر :agree:

        دیدگاه


          #34
          پاسخ : کد کامل شبکه عصبی MLP

          نوشته اصلی توسط مجید رافعی
          با سلام. :smile:

          سوالی داشتم، لطف می کنید اگه پاسخ دهید:

          1- روی پروژه ای دارم کار می کنم که با MLP پیاده سازی میشه، تو برون یابی نتایج مطلوب بدست نمیارم. شما چه تکنیک یا توصیه ای برای بهبود نتایج در برون یابی پیشنهاد می کنید؟ نتایج درون یابی ها قابل قبوله!

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

          دیدگاه


            #35
            پاسخ : کد کامل شبکه عصبی MLP

            ... بعد هم داده ها رو باهم قاطی میکنه تا شبکه بهتر آموزش ببینه ...
            اگه اشتباه نکنم در فایل CMLP از دستور [P,T] = Combine_Data(P,T) برای این کار استفاده کردین ؛ من وقتی این دستور رو وارد برنامه نوشته شده ام می کنم ، متلب این ارور رو میگیره

            Undefined command/function 'Combine_Data'

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

            k_siroos@yahoo.com

            دیدگاه


              #36
              پاسخ : کد کامل شبکه عصبی MLP

              تابع فوق،جزء توابع تعریف شده در متلب نیست و باید توسط خودتون نوشته بشه
              (احتمالا در برنامه جناب نحوی نوشته شده و شما یادتان رفته این تابع را به شاخه Matlab در Mydocument بیاورید.)

              واسه اینکه هر تابعی اجرا بشه باید در شاخه
              C:/Mydocument/Matlab
              ذخیره شده باشه و عنوانcurrent directory نیز در برنامه متلب روی همون آدرس بالا تنظیم شده باشه.

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

              دیدگاه


                #37
                پاسخ : کد کامل شبکه عصبی MLP

                نوشته اصلی توسط امیر حسین وزیری
                تابع فوق،جزء توابع تعریف شده در متلب نیست و باید توسط خودتون نوشته بشه
                (احتمالا در برنامه جناب نحوی نوشته شده و شما یادتان رفته این تابع را به شاخه Matlab در Mydocument بیاورید.)

                واسه اینکه هر تابعی اجرا بشه باید در شاخه
                C:/Mydocument/Matlab
                ذخیره شده باشه و عنوانcurrent directory نیز در برنامه متلب روی همون آدرس بالا تنظیم شده باشه.

                وقتی همچین تابعی در برنامه وجود نداره،متلب Error می گیره.
                کاملا حق با شما بود ... مرسی از لطفتون . @};-
                شعله یک شمع با روشن کردن شمع دیگر خاموش نخواهد شد ...

                k_siroos@yahoo.com

                دیدگاه


                  #38
                  پاسخ : کد کامل شبکه عصبی MLP

                  سلام
                  لطفا اگه امکان داره در مورد این کد بیشتر توضیح بدبد.فایل KFData2 رو چطوری باید ایجاد کنیم؟ همینطور در مورد تعریف پترن و تارگت P,T توضیح بدید لطفا.
                  اگه بخوام تعداد زیادی تصاویر باینری رو به عنوان ورودی به این شبکه بدم تا آموزش ببینه چطوری باید واسش تعریف کنم؟ با تشکر.

                  دیدگاه


                    #39
                    پاسخ : کد کامل شبکه عصبی MLP

                    سلام
                    لطفا اگه امکان داره در مورد این کد بیشتر توضیح بدبد.فایل KFData2 رو چطوری باید ایجاد کنیم؟ همینطور در مورد تعریف پترن و تارگت P,T توضیح بدید لطفا.

                    ممنونم

                    دیدگاه


                      #40
                      پاسخ : کد کامل شبکه عصبی MLP

                      نوشته اصلی توسط naser1363
                      سلام
                      لطفا اگه امکان داره در مورد این کد بیشتر توضیح بدبد.فایل KFData2 رو چطوری باید ایجاد کنیم؟ همینطور در مورد تعریف پترن و تارگت P,T توضیح بدید لطفا.

                      ممنونم
                      در خطوط اولیه برنامه CMLP امده است :
                      load('KFData2'
                      این عبارت متغیر هایی که تحت عنوان KFdata2 هستند رو load میکنه،من فکر می کنم این متغیر باید شامل p(پترن)وt(تارگتها)باشه
                      این متغیر kfdata2 جزء متغیرهایی بوده که می بایستی در اون پوشه اصلی وجود داشته باشه همراه برنامه،که وجود نداره.
                      احتمالا جناب نحوی می خواستن این کد این قابلیت رو داشته باشه که هر کسی ورودی-خروجی هاشو در قالب متغیر kfdata2 ایجاد کنه و با run کردن برنامه سیر آموزش شبکه و ... طی بشه.
                      این نظر من بود که ممکن هم هست غلط باشه که خود جناب نحوی قطعا می تونن نظر نهایی رو در این باره بدن.
                      انجمن طراحی مدارهای مایکرویو(فرکانس بالا)(http://www.eca.ir/forum2/index.php?board=283.0)
                      انجمن شبکه های عصبی(http://www.eca.ir/forum2/index.php?board=207.0)
                      *****

                      دیدگاه


                        #41
                        پاسخ : کد کامل شبکه عصبی MLP

                        ممنونم

                        پس متغییر های PT و TT در این برنامه چی هستند؟

                        وقتی من T و p را برای برنامه معرفی می کنم و برنامه CMLP رو اجرا میکنم خطا میده متغییر PT تعریف نشده؟

                        دیدگاه


                          #42
                          پاسخ : کد کامل شبکه عصبی MLP

                          یعنی هیچکی نیست که بگه فایل KFData رو چطور باید ایجاد کرد؟ اگه تعداد دیتا های ورودی که مثلا از نوع تصویر باشند خیلی زیاد باشند این شبکه جواب میده؟

                          دیدگاه


                            #43
                            پاسخ : کد کامل شبکه عصبی MLP

                            سلام آقای نحوی
                            من این کدا رو دیدم اگه لطف کنید در مورد هر کدوم از این فایلا یه توضیخ یه خطی بدبد که کار هر کدوم چیه و ورودی ها و خروجی هاش چیند؟
                            lدر ضمن در مورد kfdata2 هم توضیح بدبد که چطور ایجادش میکنید , متغیر های PT,TT چیهستند اخه توی برنامه تعریف نشدند؟
                            میشه در مورد مبنای ریاضی نرمالسازی که انجام دادید توضیح بدبد" تا اونجا که من میدونم برای نرمال سازی داده ها باید اونا رو از میانگینشون کم وبر واریانسشون تقسیم کرد؟

                            دیدگاه


                              #44
                              پاسخ : کد کامل شبکه عصبی MLP

                              سلام
                              یه دو سالی بود که با شبکه عصبی کار نکرده بودم و بعد از مدت ها توی یه پروژه به یاد ایام جوانی دوباره اومدم سروقتش.
                              جناب نحوی کد تون رو دیدم تنها نقطه مبهم همون طوری که دوستان هم گفته بودند در فایل CMLP.m هست که نوع دیتا های ذخیره شده توسط دستور KFData2 مشخص نشده
                              در ادامه از دو متغیر p,t استفاده شده یعنی فقط این دو متغیر تعریف بشند کفایت می کنه که بقیه مراحل انجام بشه ؟؟

                              دیدگاه


                                #45
                                پاسخ : کد کامل شبکه عصبی MLP

                                چند تا چیز جدید هم فهمیدم
                                و اون اینکه متغیر های موجود در فایل KFData2 باید به این صورت باشند
                                T یا همون target که بردار هدف یا خروجی مورد نظر در اون ذخیره می شه
                                P که همون ماتریس ورودی هست
                                ‏‏TT که target test هست و باید تعدادی از دیتاها رو مثلا 10٪ رو برای تست شبکه و گرفتن نتایج خروجی استفاده کرد این ماتریس همون ماتریس خروجی تست هست
                                ‏TP و این ماتریس ماتریس ورودی تست هست
                                ولی بازم شبکه من یه خطا مبنی بر یکی منطبق نبودن اندازه ماتریس ها می ده علتش رو نفهمیدم ؟؟؟ :angry:

                                دیدگاه

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