اطلاعیه

Collapse
No announcement yet.

کمک در مورد شبکه های عصبی

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

    کمک در مورد شبکه های عصبی

    سلام دوستان
    من شنبه در مورد شبکه های عصبی یه رائه دارم ولی تو چند جا گیر کردم .لطفا کمکم کنید
    اول این که کاربرد هر یک از این توابع فعال سازی کجاست.مثلا فرق تابعی که خروجی پیوسته بین -1و1 دراه با تابعی که خروجی بین 0و1 دراه چیه؟یا فرق این دو تا با تابع همانی(f(n)=n) چیه؟
    دوم این که چطوری یک شبکه رو طراحی می کنند؟منظورم اینه که چطوری تعداد لایه های پنهانی و تعداد نرون ها رو تعیین می کنند؟شانسی؟
    سوم این که یعنی چی پرسپترون فقط به مسائلی جواب میده که جدایی پذیر باشند؟
    پیشاپیش ممنون

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

    سلام
    توابع فعال سازی برای اینه که خروجی شبکه عصبی هر چه بیشتر به خروجی مورد نظر شما نزدیکتر بشه و اینکه کدوم تابع مناسبه و برای چی به درد می خوره جواب کلی اینه که با روش سعی و خطا انواع توابع را امتحان می کنند و اون تابعی که خطای کمتری را ایجاد میکنه در نظر می گیزن.
    اما میشه یه چیز دیگه گفت اینه که : فرض کنید خروجی شما طوریه که میخواهد 1 شی را از 3 شی تشخیص بدبد اونوقت الگوها را طوری قرار می دید و میگید که مثلا وقتی این ورودی ها بودند شما عدد 1 را بده ( شی اول) وقتی فلان ورودی ها بودند عدد 0 را بده ( شی 2) و بالاخره با این ورودی ها هم عدد (-1) را بده ( شی سوم) مثلا فرض کن میخوای یه شبکه طراحی کنی که یه میوه را ببینه و بگه که سیبه یا پرتقاله یا هلو ×
    در مورد توابعی که بین 0 و 1 هستند معمولا بیشتر در لایه های مخفی (میانی) استفاده میشن که باعث فعال شدن نرونهای بعد از خود شوند. (البته تابع سیگموئید معمولا برای خروجی بسیار مناسب است)

    2- همون که گفتید یعنی شانسی ( به عبارت دقیتر : روش سعی و خا)

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

    دیدگاه


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

      ممنون
      اون مشکلاتم حل شد.
      من تو متلب یک شبکه برای شبیه سازی تابع y=x^2 نوشتم ولی درست جواب نمیده
      a=[- 7 -6 - 5 -4 -3 -2 -1 0 1 2 3 4 5 6
      b=[49 36 25 16 9 4 1 0 1 4 9 16 25 36 49]
      net=newff(minmax(a),[27 12 1],{'tansig' ;purelin' 'purelin'})
      net=train(net,a,b)
      اینو نوشتم بعد تو مرحله آموزش هم هم گرا شد. با صد بار آموزش.خطاش هم شد 2e-25 نمودارشم یکنواخت شد یک سعمی رو به پایین
      ولی وقتی اعداد صحیح رو میدی درست جواب میده. ولی وقتی اعداد اعشاری میده جواباش خیلی پرته مثلا
      k=[2.5]
      m=sim[net,k]
      اینو نوشتم m رو 9.4 داد :angry: :angry: :angry:
      چراااااااااااااااااااااااااا؟؟
      چیکار کنم درست شه؟

      دیدگاه


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

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

        می تونی یه حلقه for بنویسی و گام اونو مثلا 0.2 انتخاب کنی و بردارهای a , b را با اون حلقه بسازی بعد آموزش انجام بدی.

        راه دوم اینه که برنامه زیر را که خیلی راحته دانلود کنی و شبکه را با این آموزش و پیکر بندی کنی.

        http://www.tek271.com/documents/software/other/nuExpert/nuExpert-1.0.zip

        فقط یاد باشه فریم ورک هم باید نصب بشه تا کار کنه.

        موفق باشی.

        دیدگاه


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

          سلام
          آقا دستت درد نکنه.گام رو .2 کردم(البته بدون for(درست شد
          الان مثل هولو تا 5 رقم جواب میده
          نتیجه اخلاقی این که تعداد مثال ها باید خیلی زیاد باشه

          دیدگاه


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

            نوشته اصلی توسط hadi_sl66
            سلام
            آقا دستت درد نکنه.گام رو .2 کردم(البته بدون for(درست شد
            الان مثل هولو تا 5 رقم جواب میده
            نتیجه اخلاقی این که تعداد مثال ها باید خیلی زیاد باشه
            خواهش میکنم زکات علممون ( البته بسیار نا چیز ) را دادیم. زکوه العلم نشره

            دیدگاه

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