Yapay Sinir Ağı Eğitim Veri Seti Oluşturmak – Matematiksel Model 2
Bu yazıda matematiksel Modeli verilmiş 2 girişli ve 1 çıkışlı sistem üzerinden veri seti oluşturma ve bu veri seti ile YSA eğitimi üzerinde durulacaktır. Denklem (1)’de X ve Y giriş, Z ise çıkışı göstermektedir.
[-1 +1] aralığında rast gele veri girişleri ve bu girişlere ait çıkış değerlerini oluşturmak için kullanılan MATLAB kodu ve örnek giriş çıkış veri seti grafiği aşağıda verilmiştir.
- function X = INPUT_SET(g_X, g_In, UPPER_LIMIT, LOWER_LIMIT)
- function Y = SQUARE_SUM_EQ(X)
Veri seti oluşturulması ve oluşturulan veri seti ile gerçekleştirilen YSA eğitimine ilişkin MATLAB kodları ve yukarıda gösterilen veri setine ilişkin sonuçlar aşağıda gösterilmiştir.
- g_In = 2;
- g_X = 100;
- UPPER_LIMIT = 1;
- LOWER_LIMIT = -1;
- X = INPUT_SET(g_X, g_In, UPPER_LIMIT, LOWER_LIMIT)
- Y = SQUARE_SUM_EQ(X)
- %axis([ LOWER_LIMIT UPPER_LIMIT min(Y) max(Y)])
- grid on;
- %% Agırlıklar oluşturuldu
- g_Layer_Cell = 5;
- [w_1 b_1 w_2 b_2] = WEIGTH_CREATE(X, Y, g_Layer_Cell, n_X, n_Y);
- g_L = 0.5;
- g_ITER = 5000;
- for n_i = 1 : g_ITER
- for n_j = 1 : n_Samples
- [ol_out hl_out] = MLP(X(:, n_j), w_1, b_1, w_2, b_2);
- [w_1 b_1 w_2 b_2] = PARAM_UPDATE(w_1, b_1, w_2, b_2,...
- d_w_1, d_b_1, d_w_2, d_b_2, g_L);
- end
- end
- Y_TEST = SQUARE_SUM_EQ(X_TEST)
- E_n_t = 0;
- for n_j = 1 : n_Samples
- [ol_out(n_j) hl_out] = MLP(X_TEST(:, n_j), w_1, b_1, w_2, b_2);
- [error_t(n_j) E_n_t] = FITNESS_VALUE(E_n_t, Y_TEST(n_j), ol_out(n_j));
- end
- hold on;
- %axis([ LOWER_LIMIT UPPER_LIMIT min(Y) max(Y)])
- grid on;
- function [ol_out hl_out] = MLP(X, w_1, b_1, w_2, b_2)
- hl_sum = w_1 * X + b_1;
- hl_out = logsig(hl_sum);
- ol_out = hl_out' * w_2 +b_2;
- function [w_1 b_1 w_2 b_2] = PARAM_UPDATE(w_1, b_1, w_2, b_2,...
- d_w_1, d_b_1, d_w_2, d_b_2, g_L)
- w_1 = w_1 + g_L * d_w_1;
- w_2 = w_2 + g_L * d_w_2;
- b_1 = b_1 + g_L * d_b_1;
- b_2 = b_2 + g_L * d_b_2;
Bir cevap yazın