Friday, June 21, 2024

Hiç Bilmeyenler İçin Yapay Sinir Ağlarına Giriş

 Hiç Bilmeyenler İçin Yapay Sinir Ağlarına Giriş

Yapay sinir ağlarının temelinde yatan en önemli kavram modellemedir. İnternette aradığınızda karşınıza çıkan bütün Neural Networks örneklerinde bir model bölümü olduğunu göreceksiniz. Neural network’ler genellikle veri hazırlama, model oluşturma, modelin eğitilmesi ve sonuç alma (prediction) aşamalarından oluşur.

Model, gerçek dünyadaki bir sistemin veya sürecin matematiksel denklemlerle ifade edilmesidir. Yapay sinir ağlarını geliştiren öncülerden Geoffrey Hinton’ın Stanford’daki kursu, modellemeye bir örnekle başlar.

Örneğin, belirli büyüklükte bir ev almak istendiğinde, daha önce satılmış evlerin fiyatları listelenir ve iki boyutlu bir grafik üzerinde gösterilir. Bu grafikte her nokta, yatay eksende evin büyüklüğünü ve düşey eksende evin fiyatını temsil eder.

Büyüklük(ft2)    Fiyat(1000USD)

2104                      400

1600                      330

2400                      369

1416                      232

3000                      540

.                              .

.                              .

.                              .


Eğer bu noktaların çoğunu içine alan bir doğru çizebilirsek, istediğimiz fiyatı yatay eksende seçip o noktadan düşey bir doğru çizerek bu doğrunun kesişim noktasını bulabiliriz. Bu noktadan, yatay eksende seçtiğimiz ev büyüklüğünün fiyatını belirleriz. Örneğin, 3500 ft² büyüklüğündeki bir evin fiyatı yaklaşık 540 bin dolardır. Çizdiğimiz eğimli doğru, sistemin MODELİDİR ve bu doğru Y = aX + b şeklinde matematiksel olarak ifade edilir. Doğrunun şekli yani eğimi ve y eksenini kestiği nokta, a ve b parametreleri ile belirlenir.




Her bir noktanın, yani elimizdeki satış bilgilerinin, bu doğruya olan uzaklıklarını hesaplayarak çizdiğimiz doğrunun ne kadar gerçeğe yakın olduğunu, sistemimizin ne kadar doğru çalıştığını belirleriz. Amacımız bu toplam uzaklık değerini mümkün olan en küçük değere indirmektir. Bu doğrultuda, Y = aX + b şeklinde ifade ettiğimiz doğruyu biraz daha eğmek, dikleştirmek veya Y eksenini kaydırmak gibi değişiklikler yaparız. Her değişiklik sonrası, doğruya olan uzaklıkları hesaplayarak bu süreci tekrar ederiz. Amacımız, en uygun doğruyu bularak optimal sistemi elde etmektir.

Neural networks, gerçek dünyayı modellerken vektörlerden faydalanır. Vektör, matematik ve fizik gibi bilim dallarında yaygın olarak kullanılan, hem büyüklüğü (magnitude) hem de yönü (direction) olan bir niceliktir. Skaler niceliklerden (yalnızca büyüklüğü olan, örneğin sıcaklık veya kütle gibi) farklı olarak, vektörlerin yönü de önemlidir.

Örneğin, işsizlik konusunu modellemek istediğimizde, konunun sosyal, ekonomik, eğitimsel, teknolojik gibi her bir YÖNÜ bir vektör olarak seçilebilir ve bu vektörlerin büyüklükleri ağırlıklarına göre belirlenir. Bu tür bir modellemede vektörler, çeşitli özellikleri temsil eder. Örneğin, ev fiyatlarını modellerken, oda sayısını dikkate almak istiyorsak, model çıktımız [3500, 540, 5] gibi bir vektör olabilir. Burada, her bir değer, evin büyüklüğü, fiyatı ve oda sayısını temsil eder.

Neural networklerde model oluştururken her giriş değeri, bir yön ve büyüklük (ağırlık) ifade edecek şekilde vektörlerle temsil edilir. Modellemeye çalıştığımız konu çok boyutluysa, giriş değerlerimizi belirten vektörler de çok boyutlu olmalıdır.