اطلاعیه

Collapse
No announcement yet.

multivariable function approximation

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

    multivariable function approximation

    گه بخوایم یه تابع تک متغیر رو تخمین بزنیم به شبکه درست می کنیم و x و میدیم به ورودی و f(x) و میدیم به خروجی ... Ok ?
    هالا اگه تابع مون دو متغیره باشه چی؟ یعنی x1 , x2 ورودی و)f(x1,x2 ... خیلی سادستا .... اما من مخم الان کار نمی کنه ... :angry:

    net = newff([0,1],[10 1],{'tansig' 'purelin' },'traingdx'
    net = train(net,P,Y_train);
    این P , چه جوری بنویسم .... :angry:
    به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

    #2
    پاسخ : multivariable function approximation

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

    net=newff(minmax(p),[HL o],{'tansig' 'purelin'}); ok

    p: همون متغییر ورودی هست که باید به صورت ستونی باشه. یعنی اگه شما هر بار دو تا ورودی داری و مثلا هشت نمونه دارید ماتریس pآ‌ باید یه ماتریس با دو سطر و هشت ستون بشه.
    HL: تعداد نرون های لایه میانی.
    o: هم تعداد نرون های خروجی هست. دقت کنید اگه بیشتر از یک خروجی داشته باشید باید ماتریس Tآ‌ای که برای train میذارید ابعادش با این خروجی هماهنگ باشه.

    اگه مشکل حل نشد بگو یه نمونه برات بفرستم.
    موفق باشید.
    شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
    هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
    چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

    دیدگاه


      #3
      پاسخ : multivariable function approximation

      حل نشد ...
      منم اصلا حس فک کردن روشو ندارم :biggrin: :sad:

      clc,clear,close all

      X1 = linspace(0,0.5,100);
      X2 = linspace(0,0.5,100);
      Y1 = sin(2*pi*X1);
      Y2 = sin(2*pi*X2);
      Y_train = sin(2*pi.*X1).*sin(2*pi.*X2);

      % plot3(X1,X2,Y_train);
      % view(90,0);

      net = newff([0,1],[10 1],{'tansig' 'purelin' },'traingdx'
      net.performFcn = 'mse';
      net.trainParam.epochs = 250;
      net.trainParam.show = 20;
      net.trainParam.mc = 0.95;

      P = [X1;X2]; %input data date
      %Y_train; %target
      net = train(net,[X1(cnt);X2(cnt)],Y_train);
      C = sim(net,Y_train);
      plot
      figure,plot3(X1,X2,C),view(90,0)

      %test
      X3 = linspace(0.5,1,100);
      X4 = linspace(0.5,1,100);
      Y3 = sin(2*pi*X3);
      Y4 = sin(2*pi*X4);

      Y_test = sin(2*pi*X3).*sin(2*pi*X4);
      R = sim(net,Y_test);

      plot3(X3,X4,Y_test);
      view(90,0)

      figure,plot3(X3,X4,R);
      view(90,0)
      می دونی که کجاش مورد داره ؟
      اون طوریم که گفتی تست کرد ...
      ??? Error using ==> network.train
      Inputs are incorrectly sized for network.
      Matrix must have 1 rows.
      این اررور و میده ... که حقم داره ...
      به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

      دیدگاه


        #4
        پاسخ : multivariable function approximation

        سلام.
        ببینید خروجی این درسته؟
        فایل های پیوست شده
        شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
        هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
        چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

        دیدگاه


          #5
          پاسخ : multivariable function approximation


          بنظرت overfit می شه چرا ؟ :question:
          خطای train ام خیلی پاییه اما خطای test شدیدا بالا ه ... :angry:
          به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

          دیدگاه


            #6
            پاسخ : multivariable function approximation

            سلام.
            خب حالا قضیه فرق کرد.

            دقیق بگید میخواهید چی کار کنید شبکه قراره روی چی آموزش ببینه تا با هم خطای تست رو بررسی کنیم.
            موفق باشید.
            شأن انسان در ايمان و هجرت و جهاد است و هجرت، مقدمهآ‌ي جهاد فيآ‌سبيلآ‌الله.
            هجرت، هجرت از سنگينيآ‌هاست و جاذبهآ‌هايي كه تو را به خاك ميآ‌چسباند.
            چكمهآ‌هايت را بپوش، رهآ‌توشهآ‌ات را بردار و هجرت كن.

            دیدگاه


              #7
              پاسخ : multivariable function approximation

              همون طور که که تو تاپیک ه قرار تابع و تقزیب بزنه (آ‌تابع و یاد بگیره دیگه)
              به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

              دیدگاه


                #8
                پاسخ : multivariable function approximation

                این دیگه چشه ؟؟!!!!!!!!!!!!! :angry: :angry: :angry: :angry: خطای train شدیدا بالاه ... اه

                clc,clear,close all

                P = [254, 153, 136, 149, 54, 42,57,58,51,65,81,113,112,101,98];
                T = [108, 94, 99, 85, 121, 168,127,89,89,40,50,86,102,152,180];
                date = 1:16;
                %plot(date,Data_min,'r'

                net = newff(minmax(P),[5 5 1],{'tansig' 'tansig' 'purelin'},'traingd'
                net.performFcn = 'mse';
                net.trainParam.epochs = 200;

                net = train(net,P,T);

                S = sim(net,254)
                به دلیل رعایت نکردن قوانین ، امضا ویرایش شد.

                دیدگاه

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