Matlab Yapay Sinir Ağları Örneği 5- Adaline zaman serisi tahmini isimli bu örnek, yapay sinir ağı örnekleri serisinin 5.si olmuş oluyor. Bu örnekte geçmiş zaman serisi verilerine dayalı olarak zaman serilerinin uyarlanabilir tahmini için bir ADALINE yapay sinir ağı oluşturulacaktır.
Adaline yapay sinir ağı hakkında bilgi almak isteyen ziyaretçiler web sitesindeki "Adaline öğrenme kuralı algoritması" isimli paylaşıma bakabilir. Matlab ile yapılan bu çalışmada işlem basamakları aşağıdaki gibidir:
● Giriş ve çıkış verilerini tanımlanması
● Sinir ağı araç kutusu için verilerinin hazırlanması.
● ADALINE sinir ağının tanımlanması.
● ADALINE'ın uyarlamalı öğrenimi.
● Sonuçların çizdirilmesi.
-- Matlab'da giriş ve çıkış verilerinin tanımlanması:
close all, clear all, clc, format compact
% Zaman vektörünün segmentlerini tanımlar
dt = 0.01; % zaman adımı [saniye]
t1 = 0 : dt : 3; % ilk zaman vektörü [saniye]
t2 = 3+dt : dt : 6; % ikinci zaman vektörü [saniye]
t = [t1 t2]; % tam zaman vektörü [saniye]
% sinyal tanımlama
y = [sin(4.1*pi*t1) .8*sin(8.3*pi*t2)];
% sinyal çizdirme
plot(t,y,'.-')
xlabel('Time [sec]');
ylabel('Target Signal');
grid on
ylim([-1.2 1.2])
‘Yapay sinir ağı’, ‘yapay sinir ağları nedir’, ‘derin öğrenme nedir’, ‘deep learning nedir’, ’bulanık mantık nedir’, ‘fuzzy logic nedir’, ‘yapay sinir ağları uygulamaları’, ‘makine öğrenmesi’, ‘yapay sinir ağı algoritmaları’, ‘makine öğrenmesi ve derin öğrenme’, regresyon, ‘machine learning nedir’, matlab, ‘matlab örnekleri’, ‘matlab machine learning’, ‘artificial neural networks’
Yukarıdaki kodlar Matlab'da yazılıp çalıştırıldıktan sonra Şekil 1'deki görüntü çıkacaktır.
Şekil 1: Giriş ve Çıkış verilerinin çizdirilmesi
-- Sinir ağı araç kutusu için verilerinin hazırlanması:
İki temel tür girdi vektörü vardır: eşzamanlı olarak meydana gelenler (aynı zamanda veya belirli bir zaman dizisi olmadan) ve zaman içinde sıralı olarak meydana gelenler. Eşzamanlı vektörler için sıra önemli değildir ve paralel çalışan birkaç ağ varsa, ağların her birine bir giriş vektörü sunabilirsiniz. Sıralı vektörler için, vektörlerin göründüğü sıra önemlidir.
p = con2seq(y);
-- ADALINE sinir ağının tanımlanması:
% Ortaya çıkan ağ, hedefin gecikmeli değerlerini kullanarak hedef sinyalin sonraki değerini tahmin edecektir.
inputDelays = 1:5; % gecikmeli girişler kullanılacak.
learning_rate = 0.2; % öğrenme oranı
% Adaline sinir ağının tanımlanması
net = linearlayer(inputDelays,learning_rate);
-- ADALINE'ın uyarlamalı öğrenimi:
N adımlı bir giriş dizisi verildiğinde, ağ aşağıdaki şekilde güncellenir. Giriş sırasındaki her adım ağa birer birer sunulur. Sıradaki bir sonraki adım sunulmadan önce, ağın ağırlık ve bias değerleri her adımdan sonra güncellenir. Böylece ağ N kez güncellenir. Çıkış sinyali ve hata sinyali, yeni ağ ile birlikte döndürülür.
[net,Y,E] = adapt(net,p,p);
% ağ yapısını görüntüleme
view(net)
% son ağ parametrelerini kontrol edilmesi
disp('Adaptasyondan sonra ADALINE'ın ağırlıkları ve bias değerleri:')
net.IW{1}
net.b{1}
Matlab'da yazığımız bu kodlar çalıştırıldığında karşımıza aşağıdaki sonuçlar ve Şekil 2'deki model görüntüsü çıkacaktır:
‘Yapay sinir ağı’, ‘yapay sinir ağları nedir’, ‘derin öğrenme nedir’, ‘deep learning nedir’, ’bulanık mantık nedir’, ‘fuzzy logic nedir’, ‘yapay sinir ağları uygulamaları’, ‘makine öğrenmesi’, ‘yapay sinir ağı algoritmaları’, ‘makine öğrenmesi ve derin öğrenme’, regresyon, ‘machine learning nedir’, matlab, ‘matlab örnekleri’, ‘matlab machine learning’, ‘artificial neural networks’
Adaptasyondan sonra ADALINE'ın ağırlıkları ve bias değerleri:
ans =
0.7179 0.4229 0.1552 -0.1203 -0.4159
ans =
-1.2520e-08
Şekil 2: Adaline Sinir Ağı Modeli
-- Sonuçların Çizdirilmesi:
% sonuç vektörlerinin dönüştürülmesi
Y = seq2con(Y); Y = Y{1};
E = seq2con(E); E = E{1};
% yeni bir figür başlatma
figure;
% ilk grafik
subplot(211)
plot(t,y,'b', t,Y,'r--');
legend('Original','Prediction')
grid on
xlabel('Time [sec]');
ylabel('Target Signal');
ylim([-1.2 1.2])
% ikinci grafik
subplot(212)
plot(t,E,'g');
grid on legend('Prediction error')
xlabel('Time [sec]');
ylabel('Error');
ylim([-1.2 1.2])
‘Yapay sinir ağı’, ‘yapay sinir ağları nedir’, ‘derin öğrenme nedir’, ‘deep learning nedir’, ’bulanık mantık nedir’, ‘fuzzy logic nedir’, ‘yapay sinir ağları uygulamaları’, ‘makine öğrenmesi’, ‘yapay sinir ağı algoritmaları’, ‘makine öğrenmesi ve derin öğrenme’, regresyon, ‘machine learning nedir’, matlab, ‘matlab örnekleri’, ‘matlab machine learning’, ‘artificial neural networks’
Not: Sitede, yapay sinir ağı, yapay sinir ağları nelerdir, derin öğrenme nedir, deep learning nedir, bulanık mantık nedir, fuzzy logic nedir, yapay sinir ağları uygulamaları, makine öğrenmesi, yapay sinir ağı algoritmaları, makine öğrenmesi ve derin öğrenme, regresyon, machine learning nedir, matlab, matlab örnekleri, matlab machine learning gibi soruların cevaplarına yönelik içerikler yer almaktadır.