پروژه بهینه سازی سری زمانی مکی گلس با شبکه عصبی ESN در متلب
در این پست پروژه بهینه سازی سری زمانی مکی گلس یا Mackey Glass با شبکه عصبی ESN را در محیط متلب آماده کرده ایم. سری زمانی مکی گلاس از سری های آشوبناک می باشد که از خود رفتار یکنوایی نشان نمی دهد. در ادامه به معرفی این شبکه عصبی پرداخته و قسمتی از کدهای پروژه به فیلم خروجی قرار داده شده است.
شبکه عصبی ESN :
شبکه عصبی ESN یا شبکه حالت اکو (Echo State Network) یک نوع شبکه عصبی بازگشتی یا RNN که مخفف شده Recurrent Neural Network است، می باشد که لایه های نهان شده متصل به نرون با تعداد اندک را شامل می شود. وزن نرون های نهان شده و اتصالات به صورت ثابت می باشد و تخصیص آن تصادفی است.
شبکه می تواند الگوی زمانی خاصی را تولید کنید زیرا وزن نرون های خروجی قابل آموزش می باشد. شبکه عصبی ESN به صورت غیرخطی می باشد و پارامتر های اصلی، وزن لایه های نهان شده است. همچنین با توجه به پارامتر های بردار، تابع خطا به صورت درجه دوم می باشد.
فیلم خروجی و قسمتی از کدهای پروژه بهینه سازی سری زمانی مکی گلس با شبکه عصبی ESN در ادامه مطلب.
قسمتی از کدهای پروژه بهینه سازی سری زمانی مکی گلس :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | % training ESN on Mackey Glass time series % seed random generator rand('state', sum(100*clock)); setpath; % unit counts (input, hidden, output) IUC = 0; HUC = 1000; OUC = 1; % initialize ESN weights % 1% of recurrent weights set from [-0.40, 0.40] % 100% of input weights (bias) set from [-0.20, 0.20] % 100% backward weights set randomly from [-1.00, 1.00] probInp = [ 1.00 ]; rngInp = [ 0.20 ]; probRec = [ 0.01 ]; rngRec = [ 0.40 ]; probBack = [ 1.00 ]; rngBack = [ 1.00 ]; % create input and output time series TAU = 17; % mild % TAU = 30; % wild if ~exist('MGS'); MGS = tanh(createmgdde23(6000, TAU, 1000)-1); end; |
تصویر خروجی 2:
در مورد شبکه عصبی ESN می خواستم بدونم بهش اشاره هم بشه کافیه ممنون میشم پاسخ بدید.
سلام برای سری زمانی که داده ها اموزش و ولید و تست به ترتیب باشن تصادفی نباشن باید از چه دستوری استفاده کنم ؟ ممنون