• Sonuç bulunamadı

8. SANTRĐFÜJ POMPALARDA YAPAY SĐNĐR AĞI UYGULAMALARI

8.2. Uygulamada Kullanılan Ağ

8.2.3. Levenberg - Marguardt metodu (LMM)

Temel olarak bu algoritma maksimum komşuluk fikri üzerine kurulmuş bir en az edilir. LLM’ de hedef parametre vektörü w’ nın, E(w) minimum iken bulunmasıdır.

LMM’nin kullanılmasıyla yeni vektör wk+1, farz edilen vektör w ’ dan hesaplanır. k veya tanımlama matrisidir. Levenberg – Marguardt algoritması aşağıdaki şekilde özetlenebilir.

1. Adım: E(wk) hesaplanır.

2. Adım: Küçük bir λ değeri seçilir (Örneğin; 0.01).

3. Adım: δwk için (JkTJk +λI)δwk =−JkT f(wk) hesaplanır.

4. Adım: E(wk +δwk) değeri hesaplanır.

5. Adım: Eğer E(wk +δwk)≥E(wk) ise λ 10 kat artırılır Eğer E(wk +δwk)≤E(wk) ise λ 10 kat azaltılır.

wk :wk ←wk +δwk güncelleştirilir ve 3. adıma gidilir.

Hedef çıkışı hesaplamak için bir MLP’nin LMM kullanarak eğitilmesi, ağırlık dizisi w ’ a bir başlangıç değerinin atanması ile başlar ve hataların karelerinin toplamı; 0

2

e ’nin hesaplanmasıyla devam eder. Her i e terimi, hedef çıkış (y) ile gerçek çıkış (yd) i2 arasındaki farkın karesini ifade eder. Bütün veri seti için e hata terimlerinin tamamının i2 elde edilmesiyle, ağırlık dizileri 1. adımdan 5. adıma kadar olan LMM adımlarının uygulanmasıyla adapte edilir (Sağıroğlu vd., 2003).

Backpropagation algoritması, Genelleştirilmiş Delta Kuralı ve Levenberg-Marguardt metodunun adımları ‘Matlab-Neural Network Toolbox-NNTool’ programına girdi ve hedeflerin girilmesi, ağ tipi, girdi aralığı, öğrenme fonksiyonu, performans fonksiyonu, ara katman nöron sayılarının belirlenmesi ve eğitim - test verilerinin tanıtılarak ağırlıklandırma işleminin yapılmasıyla program tarafından otomatik olarak hesaplanacaktır. η; öğrenme oranı, α ; momentum katsayısı ve diğer parametreler hazır olarak programın öngördüğü şekilde alınmıştır. Öğrenme katsayısı ağırlıkların değişim miktarını, momentum katsayısı ise ağın öğrenmesi esnasında yerel bir optimum noktaya takılıp kalmaması için ağırlık değerinin belirli bir oranda bir sonraki değişime eklenmesini sağlar.

8.2.4. Transfer fonksiyonunun seçimi

Girdi değerlerini bir algoritma ile gerçek bir çıktıya dönüştüren transfer fonksiyonu olarak doğrusal olmayan ve geri yayılım algoritmasında en çok kullanılan sigmoid transfer fonksiyonu kullanılmıştır. Uygulamada tüm ağ modellerinde birinci katmanda ve ara katmanda Tan-Sigmoid fonksiyonu (tansig(n)) kullanılmıştır (Şekil 8.1). Bu fonksiyon geniş girdi aralığını ele alabilmekte ve yumuşak bir geçiş sağlamaktadır.

Şekil 8.1. Tansig(n) fonksiyonu

Tüm ağ modellerinde çıkış katmanında ise Lineer transfer fonksiyonu’ (purelin(n)) kullanılmıştır (Şekil 8.2). Bu fonksiyon ise keskin bir geçiş sağlamaktadır (Tanrıkulu ve Nazlı, 2007).

Şekil 8.2. Purelin(n) fonksiyonu

8.3. Ağın Eğitilmesi

8.3.1. Eğitim ve test verilerinin belirlenmesi

Matlab’da yazılan programla (Ek-3) Excel dosyasındaki veriler Matlab metin dosyasına aktarılmıştır.

Eğitim sayısının ağın genelleştirme özelliğine büyük etkisi vardır. Ağın iyi bir genelleştirme yapabilmesi için eğitimde kullanılan verilerin yeterli olması gerekmektedir. Her ağ için 4 girdi ve 1 çıktı olmak üzere 5 adet parametre bulunmaktadır. Buna göre her ağ için 240 adet veri oluşturulmuştur. Her bir eğitim seti için verilerin % 80’i training, % 20 si ise validation değeri olarak ayrılmıştır. 240/5=48 adet veri validation (onay), geri kalan 192 adet veri de training (eğitim) verisi olarak kullanılacaktır. Bu çalışmada test işlemi bütün veriler üzerinden yapılmış ve verilerin tamamı ayrıca test seti olarak ağa gösterilmiştir.

Matlab’ da metin dosyasındaki verileri okuyup girdi ve hedef çıktı olarak ayıran programlar N ve H çıktı değerleri için ayrı ayrı yazılmıştır (Ek-4). Bu program Matlab çalışma sayfasında ‘run’ komutu ile çalıştırılarak verilerin sistem tarafından alınması sağlanır.

8.3.2. Ağın modellenmesi

Ağın eğitilmesinde ‘Matlab - Neural Network Toolbox-NNTool’ kullanılır. Burada veriler Matlab çalışma alanından getirilerek her bir ağ için ayrı ayrı yüklenir.

Bu kısımda inputs (girdi seti) bölümüne trainin (eğitim seti girdileri), validatein (onay seti girdileri) ve wholesetin (tüm veri seti girdileri /test verileri), targets (çıktı seti) bölümüne ise trainout (eğitim seti çıktıları), validateout (onay seti çıktıları) ve wholesetout (tüm veri seti çıktıları/test çıktıları) verileri yüklenir.

Yapay sinir ağlarında genelde kabul gören uygulama, gizli katman sayısının bir ya da iki olmasıdır. Đki katmanlı bir yapay sinir ağı karmaşık problemlere çözüm getirebilmesi ve genelde daha iyi bir performans göstermesine rağmen bu uygulamada girdi ve çıktı arasındaki ilişkinin fonksiyonel olarak tanımlanabilir olmasından ve iki katmanlı ağın öğrenmeyi yavaşlatacağından dolayı tek katmanlı bir ağ modeli yeterli ve uygun görülmüştür.

Pompa karakteristik eğrilerinden alınan veriler doğrultusunda her ağ için 4 adet giriş parametresi ve 1 adet çıktı olacaktır. Ara katman nöron sayısı deneme-yanılma yolu ile N çıktılı ağ modelleri için 16, H çıktılı ağ modelleri için ise 32 olarak belirlenmiştir.

Ağın modellenmesi için ‘New network’ seçeneği ile yeni bir ağ oluşturulur.

‘Create A New Network’ bölümünde;

Network Type: Feed- forward backprop Input ranges: Get from wholesetin Training Function: TRAINLM

Adaption Learning Function: LAERNGDM Performance Function: MSE

Number of layers: 2 Properties of Layer 1

Number of neurons : 16 ; N-çıktı ise , 32 H-çıktı ise Transfer Function: TANSIG

Properties of Layer 2 Number of neurons: 1

Transfer Function: PURELIN

olarak girilir.

‘Create’ seçeneği ile girdi katmanında 4 nöron, TANSIG transfer fonksiyonunun kullanıldığı ara katmanda; N çıktı ise; 16, H çıktı ise; 32 nöron bulunan, çıktı

katmanında 1 nöronun bulunduğu PURELIN fonksiyonu kullanılan ve ağ bağlantıları tam bağlı olan yapay sinir ağı modeli oluşturulur.

8.3.3. Ağ bağlantılarının ağırlıklandırılması ve ağın eğitilmesi

Girdi katmanı ile ara katman ve ara katman ile çıktı katmanı arasındaki bağlantıların ağırlıklandırması işlemi ‘Network/Data Manager’ bölümünde

Initialize

‘Initialize Weights’

seçeneği ile yapılır. Bu işlem her defasında ağırlık ve bias değerleri yeni başlangıç değerlerine çekilir.

Ağın eğitim ve test verileri işleminin girilmesi de yine ‘Network/Data Manager’

bölümünde gerçekleştirilir.

Train

Training Info Training Data Inputs : trainin Outputs: trainout

olarak girilir.

Ağ eğitilirken hata oranında sapma olmaması için (overfitting) ;

Train

Optional Info Validation Data

Inputs : validatein Outputs: validateout

olarak girilir.

Ağın tüm veriler ile test edilerek genelleştirilmesi için;

Train

Optional Info Test Data

Inputs : wholesetin Outputs: wholesetout

olarak girilir.

‘Train’ bölümündeki ‘Train Parameters’ seçeneğindeki parametreler programın öngördüğü şekilde değiştirilmeden kullanılmıştır.

Ağın eğitilmesi işlemi ‘Train’ bölümündeki ‘Train Network’ seçeneği ile yapılır.

Bu işlem sırasında beklenilen hata oranının çok üstünde değerler alınıyorsa bağlantılar yeniden ağırlıklandırılarak işlem tekrarlanır. Eğer sorun yine de çözülemiyorsa ara katman nöron sayıları değiştirilebilir.

8.3.4. Ağ grafiklerinin elde edilmesi ve sonuçlar

Eğitim işlemi tamamlandıktan sonra mavi ile gösterilen training (eğitim) eğrisi, yeşil ile gösterilen validation (onay) eğrisi ve kırmızı ile gösterilen test eğrilerinden oluşan ortalama hata grafikleri elde edilmiştir (Ek-5). Bu hata grafiklerinde düşey eksen hataların karelerinin ortalaması olan MSE (Mean Square Error) değerini ve yatay eksende epok (devir) sayılarını göstermektedir. RMSE (Root Mean Square Error) ile de hataların karelerinin ortalamasının (MSE) karekökü yani hata değeri elde edilir.

BNK 40-260 tipi santrifüj pompa

a) n, D, Q, H girdi - N çıktı modeli (p1n16);

MSE: 0.0338801 Epok: 66

MSE

RMSE = = 0.0338801=0.18

b) n, D, Q, N girdi - H çıktı modeli (p1h32);

MSE: 2.22516 Epok: 45

MSE

RMSE = = 2.22516= 1.49

BNK 50-200 tipi santrifüj pompa

c) n, D, Q, H girdi - N çıktı modeli (p2n16);

MSE: 0.0404777 Epok: 28

MSE

RMSE = = 0.0404777=0.2

d) n, D, Q, N girdi - H çıktı modeli (p2h32);

MSE: 0.499625 Epok: 25

MSE

RMSE = = 0,499625= 0.7

BNK 50-260 tipi santrifüj pompa

e) n, D, Q, H girdi - N çıktı modeli (p3n16);

MSE: 0.0296831 Epok: 14

MSE

RMSE = = 0.0296831=0.17

f) n, D, Q, N girdi - H çıktı modeli (p3h32);

MSE: 1.53299 Epok: 50

MSE

RMSE = = 1.53299= 1.28

BNK 80-200 tipi santrifüj pompa

g) n, D, Q, H girdi - N çıktı modeli (p4n16);

MSE: 0.0620212 Epok: 15

MSE

RMSE = = 0.0620212=0.24

h) n, D, Q, N girdi - H çıktı modeli (p4h32);

MSE: 0.0251071 Epok: 42

MSE

RMSE = = 0.0251071= 0.15

9. SONUÇ VE ÖNERĐLER

Yapay sinir ağının eğitilmesinde ağın modeli, öğrenme algoritması, transfer fonksiyonu, ara katman nöron sayısı gibi parametrelerin uygun olarak seçimi ve ağa sunulan örneklerin sayısının fazla olması ile eğitim ve test verilerinin artırılmasının ağın performansına etkisi büyüktür.

Santrifüj pompaların Hm= f(Q) ve N =f(Q) karakteristik eğrilerinden elde edilen veriler doğrultusunda Matlab programında; ağ tipi olarak; hatayı geriye yayma özelliği bulunan ve ağ parametrelerini yenileyebilen ileri beslemeli geri yayılım (backpropagation) algoritması, eğitim fonksiyonu olarak; kısa sürede daha az epokla sonuca ulaşan Levenberg-Marguartd, adaptif öğrenme fonksiyonu olarak; beklenen çıktı ile gerçekleşen çıktı arasındaki farklılığı azaltmak için yapay sinir ağının elemanlarının bağlantılarının ağırlık değerlerinin sürekli değiştirilmesi ilkesine dayanarak geliştirilen ve ağın ürettiği çıktı ile üretilmesi beklenen çıktı arasındaki hatanın karelerinin ortalamasını minimuma indirmeyi hedefleyen Genelleştirilmiş Delta Kuralı, performans fonksiyonu olarak Mean Square Error, transfer fonksiyonu olarak; geniş girdi aralığını ele alma özelliğine sahip ve yumuşak bir geçiş sağlayan Sigmoid fonksiyonu (girdi ve ara katmanda TanSigmoid, çıkış katmanında Purelin fonksiyonu) kullanılarak tek katmanlı bir ağ modeli oluşturulmuş, çok sayıda deneme yapılarak N çıktı modelli ağlarda ara nöron sayısı 16, H çıktı modelli ağlarda ise 32 olarak belirlenmiştir. Ağ verilerle eğitilmiş ve ağa sunulmayan veriler girilmesi durumunda oluşabilecek hataların karelerinin ortalamasını ise; N çıktı alınarak modellenen ağlarda sırasıyla;

0.0338801, 0.0404777, 0.0296831, 0.060212, H çıktı alınarak modellenen ağlarda sırasıyla; 2.22516, 0.499625, 1.53299, 0.0251071 olarak hesaplanmıştır.

Bu uygulamada yapay sinir ağı ile bir santrifüj pompanın tercih edilen çap değerleri doğrultusunda; 0-50 m³/s debi aralığında, pompanın basacağı yüksekliği ve gereken gücü yukarıda verilen hata aralıklarında hesaplayabileceği görülmüştür. Veri aralıkları genişletilerek çalışmalar yapılabilir.

KAYNAKLAR DĐZĐNĐ

Artificial neural network. (n.d.). Retrieved February 20, 2006 from http://en.wikiped ia.org/wiki/Artificial_neural_network.

Clarkson, T. (1999). Applications of neural networks in telecommunications.

Retrieved February 26, 2006, from http://www.erudit.de/erudit/events/tc-d/16_04_9 9/1_clarkson.pdf.

Çalışır, S., Şeflek, A. Y., Erkol, A. (1996). Sulama pompaj tesislerinde pompa seçimine etki eden faktörler. 29 Kasım 2007, http://www.khgm.gov.tr/kutuphane /Pompasecimi.h tm

Demuth, H., Beale, M., 2001, Neural network toolbox for use with matlab, The Math Works, Inc., 475 p.

Dimitriev, A., Minaeva, Yu., Orlov, Yu., Persiantsev, I., Suvorova, A., Veselovsky, I.

(2005). Artificial neural network applications to the space radiation environment modelling and forecasting. Retrieved March 2, 2006 from http://esa-spaceweather.Net/spweather/workshops/proceedings_w1/POSTER3/dmitriev29.pdf.

Dreyfus, G., 2005, Neural networks methodology and appplications, Springer-Verlag Berlin Heidelberg, 497 p.

Efe, M. ve Kaynak, O., 2000, Yapay sinir ağları ve uygulamaları, Boğaziçi University Library Cataloguing - In – Publication Data, 141 s.

Efe, Ö. M., Kaynak, O., Yu, X., Wilamowski, B. M. (2000). Gauss merkezcil taban fonksiyonlu sinir ağları ile doğrusal olmayan sistemlerin kayma kipli denetimi. 3 Mart 2006, http://onderefe.etu.edu.tr/PDF/tok2000.pdf.

Ergezer, H., Dikmen, M., Özdemir, E., (2003).Yapay sinir ağları ve tanıma sistemleri 23 Şubat 2006. http://www.elyadal.org/PiVOLKA/06/yapay.htm.

KAYNAKLAR DĐZĐNĐ (devamı)

Fırat, M. ve Güngör, M. (2004). Askı madde konsantrasyonu ve miktarının yapay sinir ağları ile belirlenmesi. 1 Mart 2006. http://e-imo.imo.org.tr/DosyaDizin/WPX/

Portal/Y ayin/td/Cilt15/15-3-3MahmutFirat.pdf.

Freeman, J. A. and Skapura, D. M., 1991, Neural networks algorithms, applications and programming techniques, Addison-Wesley Publishing Company, 401 p.

Galkin, I., (2003). Crash introduction to artificial neural Networks. Retrieved February 25, 2006 from http://ulcar.uml.edu/~iag/CS/Intro-to-ANN.html.

Göktepe, A. B., Ağar, E., Lav, A.H., (2005). Esnek üstyapılarda mekanik özelliklerin yapay sinir ağları kullanılarak geri hesaplanması. 4 Mart 2006, http://www.itu dergi.itu.e du.tr/tammetin/itu-d_2005_4_2_AB_Goktepe.pdf

Hamzaçebi, C., Kutay, F. (2004). Yapay sinir ağlarıile Türkiye elektrik enerjisi tüketiminin 2010 yılına kadar tahmini. 4 Mart 2006, http://www.mmf.gazi.edu.tr /journal/2004_3/227-234.pdf

Huang, W. and Murray C., (2003). Application of an artificial neural network to predict tidal currents in an inlet. Retrieved February 27, 2006 from http://cirp.

wes.army.mil/cirp/cetns/chetn-iv58.pdf.

Jepsen, M. T., (2006). Predicting to concrete durability by using artificial neural network. Retrieved February 27, 2006 from http://www.danishtechnology.dk /buildin g/5268.

Jules, K., Lin, P.P., (2002). Artificial neural network applications from aircraft design optimization to orbiting spacecraft on-board environment monitoring. Retrieved February 28, 2006 from http://gltrs.grc.nasa.gov/reports/2002/TM-2002-211811.pdf

Kalach, A.V., (2005). Application of neural Networks in multitouch-sEsitive Systems, for the detection of nitrohydrocarbons in the air. Retrieved March 3, 2006 from http://www.mdpi.org/sensors/papers/s5010097.pdf.

KAYNAKLAR DĐZĐNĐ (devamı)

Kartalapoulos, S. V., 1996, Understanding neural networks and fuzzy logic basic concepts and applications, IEEE Pres, 205 p.

Kaya, Đ., Oktay, S., Engin, O. (2005). Kalite kontrol problemlerinin çözümünde yapay sinir ağlarının kullanımı. 3 Mart 2006, http://fbe.erciyes.edu.tr/MKA-2005 /Dergi /2005-vol21-no-1-2/12-04-Mak-01.pdf.

Lisboa, P.J.G., (2001). Industrial use of safety-related artificial neural Networks.

Retrieved February 27, 2006 from http://www.hse.gov.uk/research/crr_pdf/2001 /crr013 27.pdf.

Öztemel, E., 2003, Yapay sinir ağları, Papatya Yayıncılık Eğitim Bilgisayar Sis. San. ve Tic. A.Ş., 232 s.

Pham, D. T., Xing, L., 1995, Neural networks for identification, prediction and control, Springer-Verlag NewYork, 240 p.

Pirim, H. (2007). Yapay zeka. 19 Şubat 2006. http://joy.yasar.edu.tr/makale/ilksayi/

yapayzekahp.doc.

Sağıroğlu, Ş., Beşdok, E. ve Erler, M., 2003, Mühendislikte yapay zeka uygulamaları-I:

Yapay sinir ağları, Ufuk Kitap Kırtasiye-Yayıncılık Tic. Ltd. Şti., 423 s.

Simpson, P. K., 1990, Artificial neural systems: foundations paradigms, applications and implementations, Pergamon Pres NewYork, 209 p.

Sözen, A., Arcaklıoğlu, E., Özalp, M., (2003). Doğal akışkan çiftlerinin pvtx özelliklerinin yapay sinir ağlarıyla belirlenmesi. 25 Şubat 2006. http://www.

atmosfer.itu.edu.tr/atmos2003/bildiriler/416.pdf.

KAYNAKLAR DĐZĐNĐ (devamı)

Sözen, A., Arcaklıoğlu, E., Özalp, M., Kanıt, E. G. (2003). Use of artificial neural networks for mapping of solar potential in Turkey. Retrieved March 13, 2006 from http://www.sciencedirect.com/science?_ob=ArticleURL&_udi=B6V1T-49D2D3V-1&_user=10&_coverDate=03%2F31%2F2004&-rdoc=1&-fmt=&-orig=search&_

sort=d&view=c&_acct=C000050221&-version=1&_urlVersion=0&_userid=10&

md5=fefc6cf52 3eef6ae03995733a3329b9b.

Stergiou, D. and Siganos, D. (1997). Neural networks. Retrieved February 20, 2006 from http://www.doc.ic.ac.uk/~nd/surprise_96/journal/vol4/cs11/report.html.

Stich, T. J., Spoerre, J. K., Velasco, T., (1999). The application of artificial neural networks to monitoring and control of an induction hardening process. Retrieved March 1, 2006 from http://www.nait.org/jit/Articles/stic0114.pdf.

Sungur, C., Bal, G. (2003). Yüksek güvenirlikli ve hassasiyetli bir santrifüj pompa deney standının bilgisayar kontrollü olarak geliştirilmesi. 29 Kasım 2007, http://w3.ga zi.edu.tr/web/gunbal/IATS_403.pdf

Şen, M., 2003, Santrifüj pompalar ve pompa tesisatları, Mas Pompa San. A. Ş., 249 s.

Şen, Z., 2004,Yapay sinir ağları ilkeleri, Su Vakfı yayınları, 183 s.

Tanrıkulu, H., Sazlı, M. H. (2007). Saldırı tespit sistemlerinde yapay sinir ağlarının kullanılması. 29 Kasım 2007, http://inet-tr.org.tr/inetconf12/bildiri/39.doc

Tektaş, M., Akbaş, A., Topuz, V. (2002). Yapay zeka tekniklerinin trafik kontrolünde kullanımı üzerine bir inceleme. 24 Şubat 2006. http://www.

trafik.gov.tr/ icerik/bildiriler/C4-7.doc.

Türe, M., Kurt, Đ. (2004). Hepatit A virüs enfeksiyonunun ileriye yönelik tahmin edilmesinde dört farklı zaman serisi yönteminin karşılaştırılması. 6 Mart 2006, http://bio2005.uludag.edu.tr/files/kitap-4.pdf.

KAYNAKLAR DĐZĐNĐ (devamı)

Viharos, Zs. J., Monostori, L., Vincze, T., (2001). Training and application of artificial neural network with incomplete data. Retrieved February 28, 2006 from http://www.digital-factory.sztaki.hu/download/cluster3/IEA_AIE_2002_VZS_

ML_FI NAL.pdf.

Wang, J.P., Chang, S.T., Jia, H.F., (2004). Application of Artificial Neural Network Technology in water color remote sensing inversion of inland water body using TM data. Retrieved March 3, 2006 from http://www.isprs.org/istanbul2004 /com4/papers/ 426.pdf.

Wang, K., Lei, B.(1999). B-spline neural network to extract fuzzy rules for a C.P monitoring. Retrieved 13.03.2006, http://www.springerlink.com/content/t327716 078751622/

Yao, X. (1999). Evolving artificial neural networks. Retrieved February 22, 2006 from http://www.cs.bham.ac.uk/~xin/papers/published_iproc_sep99.pdf

Yurtoğlu, H. (2005). Yapay sinir ağları metodolojisi ile öngörü modellemesi: bazı makroekonomik değişkenler için Türkiye örneği. 25 Şubat 2006, http://ekutup.

dpt.gov.tr/ekonomi/tahmin/yurtoglh/ysa.pdf.

Yüksel, Đ., 2000, MATLAB ile mühendislik sistemlerinin analizi ve çözümü, Uludağ Üniversitesi Güçlendirme Vakfı Yayın No: 167 VĐPAŞ A.Ş. Yayın Sıra No: 43, 294 s.

Zurada, J. M., 1992, Introduction to artificial neural systems, PWS Publishing Company, 683 p.

3000 200 10 62 15

BNK 50-200 Impeller N-9

1500 170 10 9,4 0,59

1500 260 60 16,75 6

3000 150 20 25,25 4,25

% learn N or H learnN = true;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% preprocessing data

data(:,1) = ( data(:,1) / 1500 ) - 1;

% learn N or H learnN = false;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% learn N or H learnN = true;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% preprocessing data

data(:,1) = ( data(:,1) / 1500 ) - 1;

% learn N or H learnN = false;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% learn N or H learnN = true;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% preprocessing data

data(:,1) = ( data(:,1) / 1500 ) - 1;

% learn N or H learnN = false;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% learn N or H learnN = true;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

% preprocessing data

data(:,1) = ( data(:,1) / 1500 ) - 1;

% learn N or H learnN = false;

% initilization

percentage = 0.8; % training data percentage l = length(data'); % length of data

trainend = round(l * 0.8); % index of last member of training set

% shuffling data set dataorder = randperm(l);

for i=1:l

shuffleddata(i,:) = data(dataorder(i),:);

end

% whole data set

% inputs / outputs if learnN

wholesetin = shuffleddata(:,1:4)';

wholesetout = shuffleddata(:,5)';

else

wholesetin = [shuffleddata(:,1:3) shuffleddata(:,5)]';

wholesetout = shuffleddata(:,4)';

end

% training set

trainin = wholesetin(:,1:trainend);

trainout = wholesetout(:,1:trainend);

% validation set

validatein = wholesetin(:,trainend+1:l);

validateout = wholesetout(:,trainend+1:l);

MSE (Hata)

Epok (Devir)

MSE: 0.0338801 Epok: 66

Mavi: Training (eğitim) eğrisi Yeşil: Validation (onay) eğrisi

Kırmızı: Test eğrisi

MSE (Hata)

( H a t a )

Epok (Devir)

MSE: 2.22516 Epok: 45

MSE (Hata)

( h a t a )

E p o k ( D e v i

Epok (Devir) MSE: 0.0404777

Epok: 28

MSE (Hata)

Epok (Devir)

MSE: 0.499629 Epok: 25

MSE (Hata)

Epok (Devir)

MSE: 0.0296831 Epok: 14

MSE (Hata)

Epok (Devir)

MSE: 1.53299 Epok: 50

MSE (Hata)

Epok (Devir) MSE: 0.0620212

Epok: 15

MSE (Hata)

Epok (Devir)

MSE: 0.0251071 Epok: 42