Derin Öğrenme (Deep Learning) - Yapay Sinir Ağı

Kayıp Fonksiyonu (Loss Function)

Yayın tarihi :14-Şub-22

Kayıp Fonksiyonu Nedir?

Kayıp fonksiyonu en basit ifadesiyle, yapılan çalışmalar sonucunda ortaya çıkması beklenilen sonuç değeri ile öğrenim modelinin üretmiş olduğu sonucun arasındaki değer farkının ölçülmesi için kullanılan, görevlere ve hedeflere göre değişim gösteren gelişmiş makine öğrenmesi araçlarından birisidir.

Makine öğrenimi alanında uygulanan derin öğrenme sürecinde temel araç olarak kabul edilen sinir ağları, meydana gelebilecek algoritmik hataları minimum seviyelere indirebilmek ve optimizasyon sağlayabilmek için genel olarak stokastik gradyan inişi yöntemi kullanılarak eğitilmektedir. Ancak bu optimizasyon sürecinden bağımsız olarak, meydana gelebilecek algoritmik hataların gerçek değerlerinin ölçülebilmesi için kayıp fonksiyonları kullanılmaktadır. Bu ölçüm işlemleri sonucunda ise çalışmalarda kullanılan modellerin performans özellikleri(iyi veya kötü) oldukça basit bir şekilde ifade edilmektedir. Bu ifade sonucunda kullanılan model yapısının çalışmaya uygun olup-olmadığı basit bir şekilde tespit edilebilir ve buna bağlı olarak farklı yönlendirme yöntemleri geliştirilebilinir. Ayrıca, kayıp fonksiyonları kullanılarak farklı gradyanlar geliştirilir ve böylelikle ağırlıklara uygun yeni güncelleştirmeler uygulanabilinir. 

Aşağıdaki resimde görüldüğü üzere herhangi bir girdi verisinin alındığı, daha sonra bu verilerin katmanlarda uygun işlemlerden geçirildiği ve tüm bu sürecin sonucunda tahminsel bir "Y" değerinin oluşturulduğu görülmektedir. Oluşturulan "tahminsel Y" değeri ve "gerçek Y" değeri arasındaki değer farkı kayıp fonksiyonunda analizlenmeye başlanır. Tüm bu sürecin akabinde ise meydana getirilen değer farkına göre model yapısının uygun olup-olmadığı analizlenir. Ayrıca, resimde görüldüğü üzere kayıp fonksiyonundan farklı gradyanlar geliştirilerek, optimize edici vasıtasıyla yeni ağırlık güncellemeleri yapılabilinmektedir. Buradan da anlaşılacağı üzere, kayıp fonksiyonlarının optimizasyon fonksiyonları yardımıyla sürekli olarak kendini güncellemesi, yavaş adımlarla tahminsel hatayı azaltabilmeyi öğrenebilmesi anlamına gelmektedir. Böylelikle problemlerin sürekli olarak sorgulanması ve yinelenmesine bağlı olarak yüksek performanslı tahmin edicilerin geliştirilmesi sağlanır.  Bu bağlamda ise kayıp fonksiyonunun önemi daha iyi anlaşılabilinmektedir ve bu "Makine temelli nesneler, kayıp fonksiyonları yardımıyla öğrenme gerçekleştirmektedirler." 

 

Kayıp Fonksiyonlarının Seçimi

Kayıp fonksiyonları seçilirken;

  • makine öğrenimi için kullanılacak algoritmanın tipine,
  • matematiksel uzantı olan türev işlemlerinin hesaplanabilirliğine,
  • belirli derecelere baz alınarak, kullanılacak veri seti içerisindeki aykırı değerlerin yüzdelik oranları 

gibi faktörler dikkate alınarak yapılmaktadır. 

NOT: Makine öğrenimi alanında kullanılan algoritma yapılarına özgü tek boyutlu herhangi bir kayıp fonksiyonu bulunmamaktadır.

Günümüzde temel olarak kayıp fonksiyon seçimleri, gerçekleştirilmek istinilen öğrenme türüne özgü olarak 2 ana başlık çerçevesinde ele alınabilir. Bunlar;

  • Regresyon Kayıpları(Regression Losses)
  • Sınıflandırma Kayıpları(Classification Losses)

 

1.Regresyon Kayıpları(Regression Losses)

Regresyon, iki veya daha fazla somut değişkenin aralarındaki ilişkinin tespit edilmesini sağlayan popüler bir analiz methodudur. Örneğin; araba fiyatı, ev fiyatı, hisse senedi fiyatı vb. somut sayısal gerçek değerleri baz alarak, bu değerler üzerinden uygun model yapıları oluşturularak, model sayesinde tahminsel sonuçlar üretmek veya değerleri karşılaştırmak için regresyon methodu kullanılmaktadır. Bahsedilen bu eylemler gerçekleştirilirken bazı regresyon problemleri meydana gelebilmektedir. Bu bağlamda meydana gelebilecek problemlerde kullanılmak üzere bazı spesifik kayıp fonksiyonları geliştirilmiştir. Bunlar;

  • Ortalama Mutlak Hatası (Mean Absolute Error (MAE))
  • Ortalama Kare Hatası (Mean Squared Error (MSE))
  • Ortalama Sapma Hatası (Mean Bias Error(MBE))
  • Ortalama Kare Logaritmik Hatası (Mean Squared Logarithmic Error (MSLE))

 

☆ Ortalama Mutlak Hatası (Mean Absolute Error (MAE))

Günümüzde yaygın olarak "L-1" terimiyle de ifade edilen ortalama mutlak hata, çalışmalarda kullanılacak hemen hemen her regresyon modeli için uygun, kullanışlı, basit ve oldukça yüksek performanslı sonuçlar üretebilen bir çeşit kayıp fonksiyonudur. Bu kayıp fonksiyonunun oldukça basit ve kullanışlı olmasının temelinde, veri kümesi içerisinde bulunabilen aykırı değerlerin yönlerini dikkate almaması yeralmaktadır. Çünkü, bazı regresyon problemlerinde aykırı değerlerin varlığından dolayı lineer denklemleri çözmek için kullanılan Gauss algoritması olmayan değişkenler gözlenir. Buradan da anlaşılacağı üzere ortalama mutlak hata, belirtilen regresyon problemleriyle mücadele edebilmek için oldukça etkili bir seçenek olduğunu söylenebilir. 

Çalışma Prensibi

Ortalama mutlak hata, verilerin gerçek ve tahminsel değer sonuçları arasındaki mutlak farklarının ortalama toplamlarını almaktadır.  

Matematiksel Formül;

Örnek çalışma;

#Uygun kütüphaneler içe aktarılır.
import pandas as pd
import numpy as np
#x değeri orijinal değerler
#y değerleri de makine öğrenmesi sonucunda tahmin edilen değerler olsun.
x=[4,5,6,8,0,4,2]
y=[4.7,5.3,5.6,9,0.8,3.5,3.4]
#Kayıp fonksiyonu içeren kütüphane içe aktarılır.
from sklearn.metrics import mean_absolute_error
#Fonksiyon aktifleştirilir.
mean_absolute_error(x,y)

Çıktı:

0.7285714285714285

Görüldüğü üzere gerçek değerler ile tahmin edilen değerler yaklaşık %73 oranında benzerlik göstermiştir.

 

☆ Ortalama Kare Hatası (Mean Squared Error (MSE))

Günümüzde yaygın olarak "L-2 kaybı" terimiyle de ifade edilen ortalama kare hatası, veri kümesindeki orijinal ve tahmin edilen değerler arasındaki kare farkının ortalamasını temsil eder ve sonuçlar daima pozitif değerdedir. MSE değerinin sıfıra yakın olması sonucunda ilgili tahminleyici modülün daha iyi performans gösterdiği söylenebilir. Ayrıca, ortalama kare hatasında birçok değişken çeşidinin Gauss dağılım formuna basit bir şekilde modellenebilmesi, ortalama kare hatasının kullanım oranı açısından oldukça popüler olmasını desteklemektedir. 

Çalışma Prensibi;

Ortalama kare hatası, verilerin gerçek ve tahminsel değer sonuçları arasındaki kare farklarının ortalamasını almaktadır.  

Matematiksel Formül;

Örnek çalışma;

#Uygun kütüphaneler içe aktarılır.
import pandas as pd
import numpy as np
#Yi değeri orijinal değerler
#Ŷi değerleri de makine öğrenmesi sonucunda tahmin edilen değerler olsun.
Yi=[4,5,6,8,0,4,2]
Ŷi=[4.7,5.3,5.6,9,0.8,3.5,3.4]
#Kayıp fonksiyonu içeren kütüphane içe aktarılır.
from sklearn.metrics import mean_squared_error
#Fonksiyon aktifleştirilir.
mean_squared_error(Yi,Ŷi)

Çıktı:

0.6557142857142858

Sonuç olarak ortalama kare hata değeri (MSE) 0.655 olarak hesaplanmıştır.

 

☆ Ortalama Sapma Hatası (Mean Bias Error(MBE))

Ortalama sapma hatası, öğrenme için kullanılan modeldeki ortalama sapma değerinin tespit edilmesi için kullanılmaktadır. Bu işlem sonucunda modelin sapma oranı hesaplanır, çıkan sonuca göre uygunluk değerlendirilir ve gerekirse iyileştirme işlemleri yapılır.

Çalışma Prensibi;

Ortalama sapma hatası, verilerin gerçek ve tahminsel değer sonuçları arasındaki gerçek farklarının ortalama toplamlarını almaktadır.

NOT: Bu kayıp fonksiyonunda gerçek değerler alındığından bazı durumlarda istenilmeyen sonuçların meydana gelmesi gözlenebilir(örn;sonucun "0"çıkması). Bu durumdan dolayı yaygın olarak kullanılmamaktadır.

Matematiksel Formül;

 

☆ Ortalama Kare Logaritmik Hatası (Mean Squared Logarithmic Error (MSLE))

Ortalama kare logaritmik hata, verinin gerçek değerleri ile tahmin edilen değerleri arasındaki değersel oran olarak ifade edilebilir. Ayrıca MSLE, bazı çalışmalarda kullanılmak istenilen henüz bir ölçekte kalıplandırılmamış verilerin tahminlenmesi için kullanılan modelin, ceza oranının düşürülmesine olanak sağlamaktadır.

Çalışma Prensibi;

Ortalama kare logaritmik hatası,verilerin gerçek değerleri ve tahminsel değerlerinin logaritmik tabanda farklarının kare toplamlarının ortalamasını almaktadır. 

Matematiksel Formül;

 

 Örnek Çalışma;

#Uygun kütüphaneler içe aktarılır.
import pandas as pd
import numpy as np
#Yi değeri orijinal değerler
#Ŷi değerleri de makine öğrenmesi sonucunda tahmin edilen değerler olsun.
Yi=[4,5,6,8,0,4,2]
Ŷi=[4.7,5.3,5.6,9,0.8,3.5,3.4]
#Kayıp fonksiyonu içeren kütüphane içe aktarılır.
from sklearn.metrics import mean_squared_log_error
#Fonksiyon aktifleştirilir.
mean_squared_log_error(Yi,Ŷi)

Çıktı:

0.07676985647945675

 

2. Sınıflandırma Kayıpları(Classification Losses)

Bilindiği üzere sınıflandırma, genel veri kümesi içerisinde bulunan verilerin birbirlerine yapısal veya karekteristik özellikler açısından benzerlik göstermelerine göre ortak kategoriye alınması sürecidir. Buradan hareketle sınıflandırma sürecinde, analizlenmiş gözlemlerin bazı özellikleri dikkate alınarak hangi kategoride gruplanacağını belirlemek için bazı sınıflandırma problemleri mevcuttur. Bu problemler sayesinde, birbirinden farklı sınıf çıktıları tahmin edilebilinmektedir. Yani, sınıflandırma sürecinde genel veri kümelerinin belirli kategorilere ayrılabilmesi için bazı kritik farklı parametreler dikkate alınarak kategorileştirme işlemleri yapılmaktadır. Tam da bu noktada sınıflandırma süreci için özelleştirilen bazı kayıp fonksiyonları geliştirilmiştir. Bu fonksiyonlar sayesinde sınıflandırma problemlerinin tahminsel yanlışlığı veya doğruluğunu basit bir şekilde hesaplanmaktadır. Bu durumunu daha iyi anlayabilmek için günümüzde birçok bireyin kullandığı elektronik-posta(e-posta) uygulamalarını düşünebiliriz. Bilindiği üzere e-posta sisteminde bir gerçek veriler(istenilen) bir de spam(istenilmeyen) veriler mevcuttur. Örneğin, e-posta uygulamasının arka planında çalışan bazı sınıflandırma kodları, gelen e-postaları belirli parametrelere göre analiz eder ve bu analizin sonucunda "spam" veya "spam değil" olarak iki farklı kategoriye ayırır. Bu örnekten anlaşılacağı üzere hangi girdinin hangi sınıf(örn; spam bir sınıf, spam değil ayrı bir sınıf) çıktısına atanması gerektiğini sınıflandırma problemleri belirlemektedir. Belirtilen bu problemler için de birtakım spesifik kayıp fonksiyonları geliştirilmiştir. Bu bağlamda sınıflandırma sürecinde kullanılan bazı kayıp fonksiyonları;

  • İkili Çapraz Entropi Kaybı(Binary Cross Entropy Loss)
  • Kategorik Çapraz Entropi Kaybı(Categorical Cross Entropy Loss)
  • Hinge Loss
  • Kullback Leibler Diverjans Kaybı (Kullback Leibler Divergence Loss (KL Loss))

 

☆ İkili Çapraz Entropi Kaybı(Binary Cross Entropy Loss)

İkili çapraz entropi, kelime anlamından da anlaşılabileceği üzere; totalde çıktı olarak iki farklı sınıfın oluşturulduğu ve rastgele seçilmiş iki farklı değişkenin aralarındaki rastgelelik derecesinin ölçüldüğü(entropi), sınıflandırma çalışmalarında oldukça popüler olarak kullanılan bir fonksiyon olarak tanımlanabilir. 

Çalışma Prensibi;

İkili çapraz entropide, standart olarak tahminsel olasılık sonuçlarının tamamı 0 veya 1 olan gerçek sınıf çıktılarıyla karşılaştırmalar yapılır. Bu karşılaştırma sonucunda, beklenilen değerle aradaki mesafeye bağlı olarak olasılık cezalandırıcı puan hesaplamaları yapılır. Tüm sürecin ardından tahminsel verinin gerçek veriye olan uzaklığı veya yakınlığı basit bir şekilde tespit edilmektedir. 

NOT: Gerçek etiket kaynaklı oluşturulan tahminsel sonuçların olasılık sapma oranlarında artış yaşanırsa, bu artışla doğru orantılı olarak ikili çapraz entropi kaybı oranında artış yaşanmaktadır. Yani, eğer gerçek gözlemsel etiket 1 değerinde ise olasılıksal tahminleme oldukça yüksek oranlarda kayıp oranıyla sonuçlanacaktır. Buradan hareketle yüksek performanslı ideal bir model yapısında logaritmik kayıp oranının "0" olması gerekmektedir. 

Matematiksel Formül;

 

☆ Kategorik Çapraz Entropi Kaybı(Categorical Cross Entropy Loss)

Kategorik çapraz entropi, temel olarak ikili çapraz entropinin daha kapsamlı yani genişletilmiş bir formudur. Bu iki kayıp fonksiyonlarının temel işleyiş prensipleri aynıdır ancak sınıf oranlarında farklılaşma vardır. İkili çapraz entropi totalde iki sınıfı kapsarken, kategorik çapraz entropi çoklu sınıflandırma süreçlerini kapsamaktadır.

Çalışma Prensibi;

Kategorik çapraz entropi, aynı ikili çapraz entropide olduğu gibi oluşturulan her bir sınıfı, çalışmada kullanılan modelin ürettiği sonuç değerlerinin logaritmasıyla çarpar ve bu sonuçların toplanmasını sağlamaktadır. Yani, ikili çapraz entropide iki sınıf üzerinden işlme yapılırken, kategrorik çapraz entropide ikiden fazla sınıf üzerinden işlem yapılmaktadır. 

Matematiksel Formül;

☆ Hinge Loss

Gelişmiş makine öğrenimi alanında sınıflandırma süreci için oldukça yaygın ve başarılı bir şekilde kullanılan bir tür kayıp fonksiyonudur. Bu fonksiyon, sınır düzlemlerinin tam orta noktasından geçen ve her iki düzleme de eşit mesafede bulunan hiper düzlemden, model yardımyla oluşturulan sınıflara uzanan maksimum düzeydeki marj değerini hesaplayabilmek ve destek vektörlerinin işlevselliği için geliştirilmiştir.

Bilindiği üzere kullanılan kayıp fonksiyonları, yapılabilecek yanlış tahminlemeleri cezalandırmaktadır. Ancak bu durum doğru tahminlemeler için geçerli olmadığından dolayı hedeflenen etiket değeri, bütün yanlış etiket değerlerinin toplamından mimimum bir marj büyük olması gerekmektedir. Bununla birlikte, Hinge kayıp fonksiyonları türevlenebilme özelliğine sahip değildirler. Bu durumun normal koşullarda olumsuz olarak değerlendirilebileceği düşünülse de, gerçekte bu fonksiyonlar türevlenmeye ihtiyaç duymadan oldukça başarılı bir şekilde standart dışbükey fonksiyonları ile uyum sağlayan ve bu fonksiyonlar ile çalışılmasını kolaylaştırıcı dışbükey fonksiyon olarak ifade edilebilir. 

 

Matematiksel Formül;

☆ Kullback Leibler Sapma Kaybı (Kullback Leibler Divergence Loss (KL Loss))

Göreceli entropi olarakta bilinen Kullback-Leibler sapması, istatiksel çalışmalarda mesafe olarak tanımlanabilir. Bu sapma en basit ifadesiyle herhangi bir olasılıksal Q dağılımı ile ikinci bir referans kaynağı olan olasılıksal P dağılımı arasındaki farkın ölçüsüdür. Bu bağlamda ifade edilen fark, Q ile P olasılık dağılımlarından birinin referans dağılımı olarak kabul edildiği, kabul edilen dağılımın diğer olasılık dağılımına göre sapması olarak anlaşılabilir. Yapılan matematiksel hesaplamalarda Kullback-Leibler sapma kaybı değeri 0 olarak gözlenmişse bu durum, Q ve P olasılık dağımlarının eşit olduğu anlamına gelmektedir. Ancak Kullback-Leibler değeri 0'dan farklı ise P ve Q arasında sapmaya bağlı olarak fark oluştuğu ve bu fark değerinin metrik değil asimetrik olduğu söylenebilir. 

Matematiksel Formül;

 

 

 

 

 

Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.