• Sonuç bulunamadı

1. GİRİŞ

1.4. Problem

Derin öğrenme mimarisi ile tanınan sistemlerin performansı son zamanlarda müthiş bir artış gösterdi(Goodfellow ve ark. 2016). Ancak bu mimarinin başarısının matematiksel sonucu tasvir edilememektedir(Goodfellow ve ark. 2016). Bu yüzen ideal mimariyi bulmak için birçok deneme yapılmalıdır. Bir yapay sinir ağı modeline yalnız bir tane sinir hücresinin eklenmesi veya çıkarılmasıyla parametreler, hata oranı ve hatta sonuç bile değişebilmektedir.

Bir yapay sinir ağına bunun gibi birçok sinir hücresi eklenebilir veya çıkarılabilir. Ancak en iyi tahmini yapabilmek, hatayı minimum seviyeye indiren modeli bulmak oldukça zordur. Bu problemin çözülmesiyle bu anlamda büyük bir aşama kaydedilecek ve birçok model denemek zorunda kalınmayacaktır. Çünkü sayısız yapay sinir ağı modeli oluşturulabilir.

Bu çalışmanın amacı bir ve iki gizli katmanlı yapay sinir ağı için ideal nöron sayısını bulmak için matematiksel bir inceleme yapmaktır.

3 1.5. Literatür Taraması

Derin öğrenmede yapay sinir ağı mimarisi, regularizasyon ve optimizasyon algoritması olmak üzere üç ana faktör vardır(Vidal ve ark. 2017). Bu faktörlerin hepsinin birleştiği nokta maliyet fonksiyonunun küçültülmesidir. Bir yapay sinir ağı mimarisinin tasarımının en önemli özelliği, verilen girdilere keyfi fonksiyonlarla yaklaşmaktır(Vidal ve ark. 2017). Ancak bu özellik yapay sinir ağı mimarisinin parametrelerine bağlıdır(Vidal ve ark. 2017). Yani ne kadar katman ve bu katmanlarda ne kadar nöron olduğuna bağlıdır.

Yapay sinir ağlarının matematiksel incelenmesi ile ilgili kaynaklar sınırlıdır. Problem henüz açık bir araştırma konusudur. Çalışmaların bir çoğu deneyseldir. İncelenilen bazı kaynaklar şunlardır; Benjamin D. Haeffele ve Ren´eVidal “Global Optimality in Neural Network Training” makalesiylekonveks olmayan yapay sinir ağları problemi üzerinde çalışmışlardır. Bazı koşullar altında yeterince geniş ağlar için herhangi bir lokal minimum noktasının bazı girdileri(entries) sıfır ise bu noktanın aynı zamanda global minimum olduğunu göstermişlerdir(Haeffele ve Vidal 2017). KenjiKawaguchi veLeslie Pack Kaelbling

“Elimination of AllBadLocalMinima in Deep Learning” makalesiyle nöron ekleyerek lokal minimumların elenebildiği ispatlanmıştır(Kawaguchi ve Kaelbling 2019). JeffHeaton

“IntroductiontoNeural Networks forC#” kitabında katmanlardaki gizli nöron sayısını belirlerken birçok metot olduğunu belirterek bunlardan üçüne değinmiştir(Heaton 2008).

Birincisi, gizli nöron sayısının girdi ve çıktı boyutu arasında olduğu, ikinci metot olarak gizli nöron sayısının girdi katmanıyla çıktı katmanının toplamının 2

3 ’ü kadar olacağı ve son olarak girdi boyutunun iki katından küçük olması gerektiğinden bahsetmiştir(Heaton 2008). Ariel Gordon, EladEban, OfirNachum, BoChen, HaoWu, Tien-JuYang ve Edward Choi

“MorphNet: Fast& Simple Resource-ConstrainedStructure Learning of Deep Networks”

makalesiyle performansı arttırmak adına yapay sinir ağılarının mimarisini otomatik olarak tasarlama ile ilgilenmişlerdir.

Yapay sinir ağları ile lojistik regresyon arasında bir benzerlikten söz edilebilir.

Lojistik regresyonda kullanılan çoğu fonksiyon yapay sinir ağlarında da kullanılmaktadır. Bu yüzden yapay sinir ağlarına giriş yapmadan lojistik regresyondan bahsedilmiştir.

4

2. LOJİSTİK REGRESYON

Lojistik regresyon bir sınıflandırma algoritmasıdır(Andrew 2017). Görüntü kümesi ayrık olan bir veri kümelerini kategorize etmek için kullanılır. İkili sınıflandırma ve çoklu sınıflandırma olmak üzere ikiye ayırabiliriz. Bu tezde ikili sınıflandırma ele alınacaktır.

2.1. İkili Sınıflandırma

Görüntü kümesi ayrık ve iki elemanı olan bir veri kümesini kategorize etmek için kullanılan bir algoritmadır. İkili denilmesinin sebebi görüntü kümesinin iki elemanlı olmasındandır. Genellikle pozitif sınıflar için “1”, negatif sınıflar için “0” değeri kullanılır(Andrew 2017). Örneğin, bir tümörün iyi huylu olup olmadığı, gelen bir e-postanın spam olup olmadığı gibi problemler ikili sınıflandırma algoritmasıyla öğrenilir(Andrew 2017).

x girdi, 𝑦̂ tahmin değeri ve w, b parametre olmak üzere Şekil 2.1’de ikili sınıflandırma algoritmasının bir gösterimi verilmiştir.

Şekil 2.1.İkili Sınıflandırma Algoritması İçin Bir Gösterim Kısaca lojistik regresyon algoritması şöyle işlemektedir;

İlk önce verilen veri kümesine göre başlangıç parametreleri atanır. Daha sonra verilerin girdileri teker teker işlem bloğuna girerek her bir veri için bir tahmin yapılır ve bu tahminler verilerin çıktıları ile karşılaştırılarak ne kadar hata yapıldığı bulunur. Hata değeri büyük ise parametreler güncellenip tekrar tahmin yapılır. Bu işlem hata değeri yeterince küçük oluncaya kadar devam eder. En son bulunan parametreler aranan parametrelerdir.

Böylece algoritma verilen veriyi öğrenmiş olur. Veri kümesinde olmayan bir veri bu algoritmaya girdiğinde, bulunan parametreler ile hangi kategoriye ait olduğuna dair bir tahmin yapılabilir. Sonuç olarak hangi kategoriye ait olduğu bilinmeyen bir veri kategorize edilmiş olur.

5

İkili sınıflandırma algoritmasının yakından incelenilmesi adına öncelikle ikili sınıflandırma hipotezinden bahsedilmiştir.

2.1.1. İkili Sınıflandırma Hipotezi

İkili sınıflandırmada hipotez; girdilerin işlem bloğuna girdiğinde çıktı yaklaşık olarak

“0” veya “1”değerlerini vermesidir. Bu hipotez için sigmoid fonksiyonu(2.1.2) kullanılır.

Sigmoid fonksiyonunun kullanılmasının sebebi hipotezi anlamlı kılmasıdır. Öyle ki sigmoid fonksiyonun görüntü kümesi (0,1) aralığındadır. Bu aralıkta aldığı değerler de olasılık olarak yorumlanır.

2.1.2. Sigmoid Fonksiyonu

𝜎: ℝ → (0,1) 𝑥 → 𝜎(𝑥) = 1

1 + 𝑒−𝑥

fonksiyonuna sigmoid fonksiyonu denir. 𝜎 sembolü ile gösterilir. Grafiği Şekil 2.2’de verilmiştir.

Şekil 2.2. Sigmoid Fonksiyonu Sigmoid Fonksiyonunun Türevi:

𝑑𝜎(𝑥)

𝑑𝑥 =𝑑[(1 + 𝑒−𝑥)−1]

𝑑𝑥 = (−1)(1 + 𝑒−𝑥)−2(−𝑒−𝑥) = 𝑒−𝑥 (1 + 𝑒−𝑥)2

= ( 1

1 + 𝑒−𝑥) ( 𝑒−𝑥

1 + 𝑒−𝑥) = 𝜎(𝑥) (1 − 1

1 + 𝑒−𝑥) = 𝜎(𝑥)(1 − 𝜎(𝑥))

6

Sigmoid Fonksiyonunun Olasılık Olarak Değerlendirilmesi:

Sigmoid fonksiyonu olasılık olarak

𝜎: ℝ → (0,1) (𝑤𝑥 + 𝑏) → 𝜎(𝑤𝑥 + 𝑏) = 𝑝(𝑦 = 1 | 𝑥 ; 𝑤)

şeklinde değerlendirilir. Örneğin σ(x) = 0.7 hesaplansın. O halde x girdisinin y = 1 olma olasılığı %70 olur denilir. Olasılık değerlerinin toplamı “1” olacağından,

𝑝(𝑦 = 0 | 𝑥 ; 𝑤) + 𝑝(𝑦 = 1 | 𝑥 ; 𝑤) = 1 , (𝟏) olur. (1)’den dolayı y = 0olma olasılığı

𝑝(𝑦 = 0 | 𝑥 ; 𝑤) = 1 − 𝑝(𝑦 = 1 | 𝑥 ; 𝑤)

olur. Yukarıda verilen örneğe göre 𝑝(𝑦 = 0 | 𝑥 ; 𝑤) = 0.3 olur. O halde x girdisinin y = 0 olma olasılığı %30 olduğu sonucuna varılır.

Sigmoid fonksiyonu ile yapılan tahminleri gerçek çıktılar ile karşılaştırıp yapılan hatanın hesaplanması için kayıp fonksiyonu(2.1.3.) kullanılır.

2.1.3. Kayıp(Loss) Fonksiyonu

Verilen bir veri kümesindeki her bir veri için yapılan hatayı hesaplayan fonksiyondur.Kayıp fonksiyonunun elde edilişi:

𝑦̂ = 𝜎(𝑤𝑥 + 𝑏) = 𝑝(𝑦 = 1 | 𝑥 ; 𝑤)olmak üzere, (1) Eğer 𝑦 = 1 𝑖𝑠𝑒𝑝(𝑦 = 1 | 𝑥 ; 𝑤) = 𝑦̂ olacaktır.

(2) Eğer 𝑦 = 0 𝑖𝑠𝑒𝑝(𝑦 = 0 | 𝑥 ; 𝑤) = 1 − 𝑦̂ olacaktır. Çünkü olasılıkların toplamı “1”‘e eşit olması gerekir.

(3) 𝑝(𝑦|𝑥) = 𝑦̂𝑦. (1 − 𝑦̂)1−𝑦

(3) denkleminde görüldüğü gibi (1) ve (2) satırları bir satırda yazılabilir. Çünkü y = 1 olduğunda (1) denklemi 𝑝(𝑦 = 1 | 𝑥 ; 𝑤) = 𝑦̂ ve y = 0 olduğunda (2) denklemi 𝑝(𝑦 = 0 | 𝑥 ; 𝑤) = 1 − 𝑦̂ elde edilmektedir.

(3) denklemiy = 1olduğunda 𝑝(𝑦 = 1 | 𝑥 ; 𝑤) = 𝑦̂ olduğundan hatayı aza indirmek için tahmin değerimizi maksimize etmemiz gerekmektedir. Aynı şekilde (3) denkleminden

7

y = 0olduğunda 𝑝(𝑦 = 0 | 𝑥 ; 𝑤) = 1 − 𝑦̂ olur ve verinin çıktısı 0 olduğundan hatayı aza indirmek için tahmin değerimizi yine maksimize etmemiz gerekmektedir ki olasılık “0” çıksın ya da sıfıra yaklaşsın. O halde hatanın minimum olabilmesi için (3) denklemi maksimize edilmelidir.

Problemin optimizasyon problemine dönüştürülmesi adına (3) denkleminin her iki eşitliğinin logaritması alınırsa

log 𝑝(𝑦|𝑥) = log(𝑦̂𝑦. (1 − 𝑦̂)1−𝑦)

= log 𝑦̂𝑦+ log(1 − 𝑦̂)1−𝑦) = 𝑦 log 𝑦̂ + (1 − 𝑦) log(1 − 𝑦̂)

denklemi elde edilir. Logaritma fonksiyonunun monoton artan özelliğinden bu denklem maksimize edildiğinde (3) denklemi ile aynı sonucu verir. Eğer eşitliğin sağ tarafını “-” ile çarpılır ve eşitliğin sağ tarafı minimize edildiğinde (3) denklemi maksimize edilmiş olacaktır.

O halde kayıp fonksiyonu,

𝐿(ŷ , y) = −[𝑦 log ŷ + (1 − 𝑦) log(1 − ŷ)]

olarak tanımlanır ve L harfi ile gösterilir[2].

Eğer 𝑦 = 0ise 𝐿(ŷ , y) = − log(1 − ŷ) olur ve Şekil 2.3’ de grafiği verilmiştir.Burada ŷ olabildiğince küçültülmelidir ki L fonksiyonu yani kayıp fonksiyonu küçük çıksın.

Şekil 2.3.y=0 için Kayıp Fonksiyonunun Grafiği

8

Eğer 𝑦 = 1ise 𝐿(ŷ , y) = − log ŷ olur ve Şekil 2.4’de grafiği verilmiştir. Burada da ŷ olabildiğince büyütülmelidir ki kayıp fonksiyonu küçük çıksın.

Şekil 2.4. y=1 için Kayıp Fonksiyonunun Grafiği

Şekil2.3 ve Şekil 2.4’den görülmektedir ki kayıp fonksiyonu konvekstir.

Hata değeri her bir örnek için ayrı olacaktır. O halde verilen {(𝑥(1), 𝑦(1)), (𝑥(2), 𝑦(2)), … , (𝑥(𝑚), 𝑦(𝑚))} veri kümesi için kayıp fonksiyonu,

𝐿(ŷ(𝑖), y(i)) = −[𝑦(𝑖)log ŷ(𝑖)+ (1 − 𝑦(𝑖)) log(1 − ŷ(𝑖))] , 1 ≤ 𝑖 ≤ 𝑚 , şeklinde hesaplanacaktır(Andrew 2017).

Veri kümesindeki her bir veri için bir hata değeri bulunur ve bu hata değerlerinin ortalaması algoritmanın maliyetini verir. Bu maliyet aşağıda maliyet fonksiyonu ile hesaplanmaktatır.

2.1.4. Maliyet(Cost) Fonksiyonu

Verilen veri kümesindeki her bir veri için yapılan hataların ortalamasını veren fonksiyondur. Kayıpların tüm veri kümesine yaymak ve ortalama bir hata oluşturmak için maliyet fonksiyonu,

𝐽(𝑤, 𝑏) = 1

𝑚∑ 𝐿(ŷ(𝑖), y(i)) = −

𝑚 𝑖=1

1

𝑚∑ [𝑦(𝑖)log ŷ(𝑖)+ (1 − 𝑦(𝑖)) log(1 − ŷ(𝑖))]

𝑚 𝑖=1

olarak tanımlanır(Andrew 2017).

9

Maliyet fonksiyonu ile verilen veriler için bir maliyet değeri bulunur. Maliyet fonksiyonu w ve b parametrelerine bağlı olduğundan öyle parametreler bulunmalıdır ki maliyet çok küçük olsun ve algoritma veri setini öğrenebilsin. Bu parametreler meyilli azalım yöntemi ile bulunur.

2.1.5. Meyilli Azalım(GradientDescent)

Meyilli azalım (gradientdescent) maliyet fonksiyonunu minimize etmek için kullanılan bir yöntemdir. Şekil 2.5’de maliyet fonksiyonunun temsili bir gösterimi verilmiştir.

Şekil 2.5.Maliyet Fonksiyonunun Temsili Gösterimi

Maliyet fonksiyonu konveks seçilmiştir. Bunun sebebi maliyet fonksiyonunun tek yerel minimumunun olmasıdır. Böylece nerede bir başlangıç noktası seçilirse seçilsin aynı minimum noktası elde edilecektir. Yukarıdaki kırmızı nokta başlangıç parametresi olarak seçilirse, meyilli azalım yöntemi maliyet fonksiyonuna uygulanarak maliyet fonksiyonunun minimum değeri alması için uygun parametreler hesaplanır.

Meyilli azalım yöntemini daha ayrıntılı incelemek adına maliyet fonksiyonu bir boyutlu olsun. Yani b parametresi devre dışı olsun. O halde fonksiyon J(w) olacaktır. Meyilli azalım yöntemi, w başlangıç noktası ve 𝛼(yeterince küçük pozitif bir sayı) adım büyüklüğü olmak üzere w’nin güncellemesi,

𝑤: = 𝑤 − 𝛼𝑑𝐽(𝑤) 𝑑𝑤

Başlangıç Noktası

Minimum

Değer

10 ifadesinin tekrar etmesiyle gerçekleşir. 𝑑𝐽(𝑤)

𝑑𝑤 ifadesi J(w)’ninw’ye göre türevidir. 1 ≤ 𝑖 ≤ 𝑚içinŷ(𝑖) = 𝜎(𝑤𝑥(𝑖)) olduğundan ve maliyet fonksiyonunun tanımından

𝑑𝐽(𝑤)

𝑑𝑤 = −1

𝑚∑𝑑𝐿(ŷ(𝑖), y(i)) 𝑑𝑤

𝑚

𝑖=1

olur.

J(w) fonksiyonu konveks olduğundan grafiği Şekil 2.6’daki gibi olacaktır. Başlangıç noktası w olmak üzere eğer başlangıç noktasını sağdan seçilirse, eğim sağa yatık olduğundan pozitif çıkacaktır. w noktasındaki eğim aynı zamanda türev olacağından 𝑑𝐽(𝑤)

𝑑𝑤 ifadesi de pozitif olacaktır.

𝑤 ≔ 𝑤 − 𝛼𝑑𝐽(𝑤)

𝑑𝑤 → w: = w − α(pozitif sayı) → 𝑤𝑎𝑧𝑎𝑙𝚤𝑟.

Bu işlem tekrar ettirildiği takdirde J(w) minimum değere yaklaşılacaktır. Şekil 2.6’de gösterilmiştir.

Eğer başlangıç noktasını soldan seçilirse, eğim sola yatık dolayısıyla eğim negatif olacaktır.

𝑤 ≔ 𝑤 − 𝛼𝑑𝐽(𝑤)

𝑑𝑤 → w: = w − α(negatif sayı) → 𝑤𝑎𝑟𝑡𝑎𝑟.

Bu işlem tekrar ettiği takdirde her adımda minimum değere biraz daha yaklaşmış olur.

Böylece J(w) değeri için minimum değer bulunmuş olacaktır. Şekil 2.6’de gösterilmiştir.

11 Şekil 2.6. Bir parametreli meyilli azalım

Sonuç olarak J(w) değerini minimum yapan w parametresi bulunmuş olur. Veri kümesi dışından bir girdi algoritmaya girdiğinde bulunan parametre kullanılarak tahmin yapılır ve bu veri kategorize edilir.

Meyilli azalım yöntemi en genel haliyle aşağıdaki gibidir:

𝑥(𝑖) = (𝑥1(𝑖), 𝑥2(𝑖), … , 𝑥𝑛(𝑖)) ∈ ℝ𝑛, 𝑦(𝑖) ∈ {0,1} , 𝑖 = 1,2, … 𝑚, olmak üzere {(𝑥(1), 𝑦(1)), (𝑥(2), 𝑦(2)), … , (𝑥(𝑚), 𝑦(𝑚))} , veri kümesi verilsin. O halde en genel meyilli azalım algoritması

𝑏 ≔ 𝑏 − 𝛼𝜕𝐽(𝑤1, 𝑤2, . . 𝑤𝑛, 𝑏)

𝜕𝑏

𝑤1 ≔ 𝑤1− 𝛼𝜕𝐽(𝑤1, 𝑤2, . . 𝑤𝑛, 𝑏)

𝜕𝑤1

𝑤2 ≔ 𝑤2− 𝛼𝜕𝐽(𝑤1, 𝑤2, . . 𝑤𝑛, 𝑏)

𝜕𝑤2

𝑤𝑛 ≔ 𝑤𝑛− 𝛼𝜕𝐽(𝑤1, 𝑤2, . . 𝑤𝑛, 𝑏)

𝜕𝑤𝑛 ifadeleri ile gösterilir.

Meyilli azalım yöntemini kullanabilmek için

w

Eğim Pozitif J(w)

w

Sol Başlangıç Noktası Sağ Başlangıç Noktası

Minimum Değer

12

𝜕𝐽(𝑤, 𝑏)

𝜕𝑤 ,𝜕𝐽(𝑤, 𝑏)

𝜕𝑏 ,

türevlerinin bulunması gerekir. Bu türevlerin bulunması için zincir kuralı(Goodfellow ve ark.

2016) kullanılacaktır. Geri yayılım(2.1.7) algoritması ile bu değerler bulunacaktır. Ancak geri yayılımdan önce verilen veri kümesi için bir tahmin yapılması gerekir. Bu tahmin ileri yayılım algoritması ile yapılır.

2.1.6. İleri Yayılım

İleri yayılım, girdinin algoritmaya girmesinden çıktının elde edilmesine kadar yapılan işlemlere denir. O halde ileri yayılım, n boyutlu her hangi bir 𝑥 = (𝑥1, 𝑥2, … , 𝑥𝑛) girdisi ve 𝑤 = (𝑤1, 𝑤2, … , 𝑤𝑛), 𝑏 parametreleri için

𝑧 = 𝑤1𝑥1+ 𝑤2𝑥2+ ⋯ + 𝑤𝑛𝑥𝑛+ 𝑏, ŷ = 𝑎 = 𝜎(𝑧),

şeklinde tanımlanır.

Şekil 2.7.İleri Yayılım Hesap Diyagramı

İleri yayılım Şekil 2.7’de olduğu gibi görselleştirilebilir. Bu görsele hesap diyagramı denir(Andrew 2017). Yapılan işlemlerin adımlarını görebilmeyi ve hesap yapmayı kolaylaştırır. Hesap diyagramına göre ileri yayılım soldan sağa doğru olan süreçtir.

İleri yayılım ile tahmin yapıldıktan sonra maliyet fonksiyonu ile hata hesaplanır ve meyilli azalım ile maliyet değeri minimize edilir. Ancak meyilli azalım algoritmasının

13

kullanılması için maliyet fonksiyonunun parametrelere göre türevleri bulunmalıdır. Bu işlemi geri yayılım algoritması yapmaktadır.

2.1.7. Geri Yayılım

Geri yayılım zincir kuralı(Goodfellow ve ark. 2016) kullanılarak maliyet fonksiyonunun her bir parametreye göre türevinin alınmasıdır. Boyutu n olan her hangi bir 𝑥 = (𝑥1, 𝑥2, … , 𝑥𝑛) girdisi ve 𝑤 = (𝑤1, 𝑤2, … , 𝑤𝑛), 𝑏 parametreleri için

𝑧 = 𝑤1𝑥1+ 𝑤2𝑥2+ ⋯ + 𝑤𝑛𝑥𝑛+ 𝑏, ŷ = 𝑎 = 𝜎(𝑧),

𝐿(𝑎, 𝑦) = −(𝑦 log(𝑎) + (1 − 𝑦) log(1 − 𝑎)), olsun.

Şekil 2.8.Geri Yayılım Hesap Diyagramı

Geri yayılım Şekil 2.8’de kırmızı oklar ile gösterilebilir. Bu şekil de geri yayılım için hesap diyagramıdır(Andrew 2017). Yapılan işlemlerin adımlarını görebilmeyi ve hesap yapmayı kolaylaştırır. Bu hesap diyagramına göre geri yayılım sağdan sola doğru kırmızı oklar ile gösterilmiş olan süreçtir. Geri yayılım, parametreleri güncellememiz için çok önemlidir. Burada “Zincir Kuralı” kullanılır(Goodfellow ve ark. 2016).

Zincir kuralı yöntemi ile 𝑎 = 𝑦̂ = 𝜎(𝑧) olmak üzere

𝜕𝐿(𝑎, 𝑦)

𝜕𝑤1 = 𝜕𝐿(𝑎, 𝑦)

𝜕𝑎 ∙𝜕𝑎

𝜕𝑧∙ 𝜕𝑧

𝜕𝑤1 = 𝑎 − 𝑦

𝑎(1 − 𝑎)∙ 𝑎(1 − 𝑎) ∙ 𝑥1 = 𝑥1(𝑎 − 𝑦),

14 ifadeleri aşağıdaki türevler kullanılarak elde edilir.

𝜕𝐿(𝑎, 𝑦) bulunabilir ve girdiyle ilgili bir tahminde bulunulabilir.

15

2.1.8. Lojistik Regresyon Algoritmasında Öğrenme

Bir veri kümesi verilsin. Bu veri kümesi için başlangıç parametreleri atanır. Daha sonra ileri yayılım ile tahmin yapılır. Yapılan tahminler için maliyet fonksiyonu kullanılarak hata hesaplanır. Hata değeri yeterince küçük değil ise veri kümesinin öğrenimi için aşağıdaki adımlar takip edilir;

 Geri yayılım,

 Meyilli azalım ile parametrelerin güncellenmesi,

 İleri yayılım,

 Maliyet fonksiyonu.

Yukarıdaki adımlar sırasıyla uygulanır. Maliyet fonksiyonu yeterince küçük oluncaya kadar adımlar başa dönülerek tekrar tekrar uygulanır. Bu tekrarların her birine epoch denir.

Öğrenim hata değeri yeterince küçük olunca kadar devam eder. Öğrenim tamamlandığında elde edilen parametreler istenilen parametrelerdir. Böylece algoritma verilen veriyi öğrenmiş olur.

2.2. İkili Sınıflandırma İçin Bir Örnek

İki girdiye sahip 500 tane veri kümesi alınsın(Smilkov ve Carter 2018). Verinin grafiği Şekil 2.9’daki gibidir.

Şekil 2.9.TensorflowPlayground Gauss Veri Kümesi

Verilen veri kümesi lojistik regresyon algoritması ile sınıflandırıldığında Şekil2.10’daki gibi sınıflandırılacaktır.

16 Şekil 2.10.Gauss Verisi İçin Lojistik Regresyon

Şekil 2.10’da görüldüğü gibi kolaylıkla verilen veri sınıflandırılmıştır.

2.3. XOR Problemi

XOR problemi yapay sinir ağları araştırmalarında kullanılan klasik bir sınıflandırma problemdir. Verilen iki girdi ile XOR probleminin çıktıları yapay sinir ağları kullanılarak tahmin edilir. XOR probleminin doğruluk çizelgesi aşağıda verilmiştir.

𝑥1 𝑥2 𝑦

0 0 0

0 1 1

1 1 0

1 0 1

Şekil 2.11’de XOR probleminin doğruluk çizelgesindeki değerlerinin grafiği verilmiştir. Bu grafikten görülmektedir ki bir doğruyla kırmızı ve mavi değerler birbirinden ayrılamaz.

17 Şekil 2.11.XOR Problemi

XOR problemi düzlem üzerine genişletilerek 𝑥(𝑖) = (𝑥1(𝑖), 𝑥2(𝑖)) ∈ ℝ2, 𝑦(𝑖) ∈ {0,1} , 𝑖 = 1, 2, … , 𝑚, olmak üzere {(𝑥(1), 𝑦(1)), (𝑥(2), 𝑦(2)), … , (𝑥(𝑚), 𝑦(𝑚))} m tane veri içeren bir eğitim kümesi verilsin. Bu eğitim kümesinin bir örneği Şekil2.12’de verilmiştir.

Şekil 2.12.XOR Probleminin Genişletilmesi

18

Şekil 2.12’de girdilere karşılık gelen kırmızı noktalar “1” çıktısını, mavi noktalar ise “0”

çıktısını temsil etmektedir. Yapay sinir ağları bu grafikte görülen kırmızı ve mavi renkteki verileri birbirinden ayırarak sınıflandırabilmektedir.

2.4. Lojistik Regresyon İle XOR Probleminin Sınıflandırılması

XOR problemi için tensorflow’un playground uygulamasından bir veri alınsın(Smilkov ve Carter 2018). Veri kümesi 500 veri içermektedir. Alınan veri kümesinin grafiği Şekil 2.13’deki gibidir.

Şekil 2.13.Uygulama İçin XOR Problemi Veri Kümesi Grafiği

Verilen veri kümesi lojistik regresyon algoritması ile sınıflandırıldığında Şekil 2.14’dekisonuç elde edilmiştir.

19 Şekil 2.14.XOR Veri Kümesi İçin Lojistik Regresyon

Şekil 2.14’de görüldüğü gibi lojistik regresyon XOR problemini sınıflandıramamaktadır.

Bu bölümde lojistik regresyon hakkında bilgiler verilmiş ve lojistik regresyonun sınıflandırdığı gauss verisi ve sınıflandıramadığı XOR verisi örnekleri ve sonuçları verilmiştir. Lojistik regresyon yapay sinir ağları için çok önemlidir. Yapay sinir ağlarında da benzer yöntemler kullanılacaktır.

20 3. YAPAY SİNİR AĞLARI

Yapay sinir ağları, insan beynine has bir özellik olan öğrenme yolu ile yeni bilgiler türetebilme, yeni bilgiler oluşturabilme ve keşfedebilme gibi yetenekleri, herhangi bir yardım almadan otomatik olarak gerçekleştirmek amacı ile geliştirilen bilgisayar sistemleridir[6].

Yapay sinir ağları; insan beyninden esinlenerek, öğrenme sürecinin matematiksel olarak modellenmesi uğraşı sonucu ortaya çıkmıştır(Öztemel 2016).

Yapay sinir ağları üç ana bölümden oluşur;

 Girdi Katmanı:

Yapay sinir ağına dış dünyadan girdilerin geldiği katmandır. Bu katmanda, girdi sayısı kadar hücre bulunmaktadır ve girdiler herhangi bir işleme uğramadan gizli katmana iletilirler.

 Gizli Katmanlar:

Girdi katmanından aldığı bilgiyi işleyerek bir sonraki katmana iletir. Gizli katman sayısı ve gizli katmandaki hücre sayısı ağdan ağa değişebilir. Gizli katmanlardaki hücre sayıları, girdi ve çıktı sayılarından bağımsızdır.

Çıktı Katmanı:

Gizli katmandan gelen bilgiyi işler ve girdi katmanına gelen girdiye uygun olarak üretilen çıktıyı dış dünyaya gönderir. Çıktı katmanındaki hücre sayısı birden büyük olabilir. Her bir çıktı hücresinin bir adet çıktısı vardır. Her bir hücre bir önceki katmandaki bütün hücrelere bağlıdır.

Yapay sinir ağları en genel gösterimi Şekil 3.1’de verilmiştir.

21 Şekil 3.1.Yapay Sinir Ağlarının Genel Bir Gösterimi

Şekil 3.1’deki kırmızı bloklara katman denir. Katman numaraları köşeli parantezler içinde tanımlanır. Şekildeki yapay sinir ağı L tane katmana sahip olduğundan L katmanlı yapay sinir ağı veya L-1 gizli katmanlı yapay sinir ağı olarak adlandırılır.

NOT: Girdi katmanı isimlendirmede sayılmaz(Andrew 2017).

Katmanlardaki yuvarlar ile gösterilenlere sinir hücresi veya nöron denir. Nöronların iç yapısında ise lojistik regresyona benzer işlemler olmaktadır(Andrew 2017). Nöron sayısı, katman sayısından bağımsızdır. 𝑟𝐿ile “L.” katmandaki nöron sayısı gösterilmektedir.

Yapay sinir ağlarında verilen problemin çözümü için kaç katman ve bu katmanlarda kaç tane nöron olacağı konusu şu an için karmaşık bir problemdir. Bu bölümde bir gizli katmanlı ve iki gizli katmanlı yapay sinir ağları incelenecektir. Böylece katman sayısı sabit tutularak yapay sinir ağının gizli katmanındaki ideal nöron sayısını bulmak amaçlanmaktadır.

Veri kümesi olarak XOR problemi ele alınacaktır. XOR problemi seçilmesinin sebebi lojistik regresyonun çözemediği ancak yapay sinir ağlarının çözdüğü bir problem olmasıdır(Andrew 2017).

22 3.1. Bir Gizli Katmanlı Yapay Sinir Ağları

𝑥(𝑖) = (𝑥1(𝑖), 𝑥2(𝑖), … , 𝑥𝑛(𝑖)) ∈ ℝ𝑛𝑣𝑒𝑦(𝑖) ∈ {0,1} , 𝑖 = 1,2, … 𝑚, olmak üzere {(𝑥(1), 𝑦(1)), (𝑥(2), 𝑦(2)), … , (𝑥(𝑚), 𝑦(𝑚))}, veri kümesi verilsin. Bu kümeye aynı zamanda eğitim kümesi de denir(Andrew 2017).

𝐿 = 2 ve 𝑟1 = 𝑟 nöron sayısı olmak üzere Şekil 3.2’de ikili sınıflandırma problemi için bir gizli katmanlı yapay sinir ağının en genel gösterimi verilmiştir.

Şekil 3.2.Bir Gizli Katmanlı Yapay Sinir Ağı

Bir gizli katmanlı yapay sinir ağı için başlangıç parametreleri 𝑤𝑟[1] = (𝑤𝑟,1[1], 𝑤𝑟,2[1], … , 𝑤𝑟,𝑛[1]) , 𝑏[1] = (𝑏1,1[1], 𝑏2,1[1], … , 𝑏𝑟,1[1]) , 𝑤1[2] = (𝑤1,1[2], 𝑤1,2[2], … , 𝑤1,𝑟[2]) , 𝑏[2] = (𝑏1,1[2]) olur. Buradaki parametreler ile her bir veri işleme koyularak bir tahmin yapılır. Bu işlemler her bir veri için tekrar tekrar yapıldığından elle yapılması çok zaman alır. Bu yüzden bir programlama dili kullanılır. Bu tezde de python programlama dili kullanılmıştır. İşlemler python da vektörler yardımıyla yapılır. Bu yüzden verilen veriye atanan parametreler vektörler ile temsil edilir. Bölüm 3.1.1’ de veri kümesinin ve parametrelerin nasıl vektörleştirildiğinden bahsedilmiştir.

3.1.1. Vektörleştirme

Bu bölümde bir gizli katmanlı yapay sinir ağının vektörleştirilmesi verilecektir.

Vektörleştirmenin nedeni, yapay sinir ağı algoritmalarının programlama dillerinde daha hızlı çalışmasını sağladığındandır(Andrew ve ark. 2014).

23 Eğitim Kümesinin Vektörleştirilmesi:

𝑥(𝑖) = (𝑥1(𝑖), 𝑥2(𝑖), … , 𝑥𝑛(𝑖)) ∈ ℝ𝑛 𝑣𝑒 𝑦(𝑖) ∈ {0,1} , 𝑖 = 1,2, … 𝑚, olmak üzere {(𝑥(1), 𝑦(1)), (𝑥(2), 𝑦(2)), … , (𝑥(𝑚), 𝑦(𝑚))}, eğitim kümesi verilsin.

Eğitim kümesindeki her bir girdi sütün halinde yazılır. O halde i. veri

𝑥(𝑖)= olur ve 𝑋 matrisi ile girdiler vektörleştirilmiştir.

Eğitim kümesindeki her bir çıktı sırasıyla bir satır matrisi olarak yazılır ve 𝑌 ile gösterilir. O halde,

𝑌 = [𝑦(1) 𝑦(2)⋯ 𝑦(𝑚)] ∈ ℝ1𝑥𝑚, (𝟑) olur ve çıktılar da vektörleştirilmiş olur.

Sonuç olarak (2) ve (3) de görüldüğü gibi eğitim kümesi vektörleştirilmiş olur.

Parametrelerin Vektörleştirilmesi:

Nöron sayısı r olmak üzere birinci katman için her bir nörona giden w parametreleri ayrı, ayrı sütün halinde yazılır. Böylece r tane sütün elde edilir.

𝑤1[1] =

Daha sonra bu sütunların devriği alınarak bir matrisin satırları olacak şekilde sırasıyla yazılır ve bu matris 𝑊[1] olarak adlandırılır. O halde elde edilen matris,

𝑊[1] = vektörü halinde yazılır. 𝑏[1]ile gösterilir. O halde elde edilen vektör,

24

olur. Böylece birinci katmanın parametreleri 𝑊[1] 𝑣𝑒 𝑏[1] olarak vektörleştirilmiştir.

İkinci katmanın parametrelerinin vektörleştirilmesi ise çıkış katmanı 𝑟2 = 1 nörona sahip olduğundan w parametresi bu nörona gelen parametrelerin sütun halinde yazılması ile elde edilir.

Daha sonra bu vektörün devriği alınır ve 𝑊[2] olarak adlandırılır. O halde,

𝑊[2] = [− 𝑤1[2]𝑇 −] ∈ ℝ1𝑥𝑟, (𝟔) olur.

İkinci katmandaki b parametresi ise çıktı katmanında bir tane nöron olduğundan bir elemanlıdır. 𝑏[2]ile gösterilir. O halde,

𝑏[2] = [𝑏1,1[2]] ∈ ℝ1𝑥1, (𝟕) olur.

Sonuç olarak (4) ve (5) ile birinci katmanın parametreleri, (6) ve (7) ile ikinci katmanın parametreleri vektörleştirilmiş olur.

Verilen veri ve parametreler vektörleştirdikten sonra nöronlarda çeşitli fonksiyonlar kullanılarak işleme koyulur. Bu fonksiyonlardan en çok kullanılanlar bölüm 3.1.2’de verilmiştir.

3.1.2. Aktivasyon Fonksiyonları

Nöronlarda kullanılan fonksiyonlardır. Relu(rectifiedlinearunit) fonksiyonu, sigmoid fonksiyonu(2.1.2.), hiperbolik tanjant fonksiyonu, sızıntı(leaky) relu fonksiyonu, softmax fonksiyonu bir aktivasyon fonksiyonudur(Goodfellow ve ark. 2016).Modern yapay sinir

25

ağlarında varsayılan öneri relu aktivasyon fonksiyonunun kullanılmasıdır(Goodfellow ve ark.

2016).Bu tezde de gizli katmandaki nöronlar için relu kullanılmıştır ve tezde belirlenen problem ikili sınıflandırma problemi olduğundan sigmoid fonksiyonu da çıktı nöronunda kullanılmıştır.

3.1.3. Relu(RectifiedLinearUnit) 𝜑: ℝ → [0, ∞) 𝑥 → 𝜑(𝑥) = {𝑥, 𝑥 ≥ 0

0, 𝑥 < 0

Fonksiyonuna relu(rectified linear unit) aktivasyon fonksiyonu denir. Grafiği Şekil 3.3’deki gibidir.

Şekil 3.3.Relu Fonksiyonu Relu Fonksiyonunun Türevi:

𝑑𝜑(𝑥)

𝑑𝑥 = 𝜑(𝑥) = {1, 𝑥 ≥ 0 0, 𝑥 < 0

Relu fonksiyonu gizli katmanda kullanacağından r tane nöron için,

𝑎𝑗[1] = 𝜑 (𝑤𝑗,1[1]𝑥1+ 𝑤𝑗,2[1]𝑥2+ ⋯ + 𝑤𝑗,𝑛[1]𝑥𝑛 + 𝑏𝑗,1[1]) , 1 ≤ 𝑗 ≤ 𝑟

şeklinde de gösterilir. Üst indis katman sayısını ve alt indis hangi nöron olduğunu göstermektedir.

26

3.1.4. Bir Gizli Katmanlı Yapay Sinir Ağları İçin Hipotez Tespiti

İkili sınıflandırma için hipotez 2.1.1.’de verilmişti. Burada da problem ikili sınıflandırma olduğundan hipotez aynıdır. Girdiler ile çıktılar arasında bir bağlantı kurmaktır.

Hipotezin sağlanması için burada da sigmoid fonksiyonu kullanılacaktır. Bir gizli katmanlı yapay sinir ağlarında hipotez 𝜎(𝑥) = 𝑎1[2] ile gösterilmiştir. Üst indis hangi katmanda

Hipotezin sağlanması için burada da sigmoid fonksiyonu kullanılacaktır. Bir gizli katmanlı yapay sinir ağlarında hipotez 𝜎(𝑥) = 𝑎1[2] ile gösterilmiştir. Üst indis hangi katmanda

Benzer Belgeler