Program
Makine öğrenimi ve ilişkili algoritmalar ile teknikler temelde, maruz bırakılan verilerdeki örüntüleri tanıyıp tahmin veya sınıflandırma yapacak algoritmaların tasarlanması, uygulanması ve eğitilmesini içerir.
Makine öğrenimi algoritmaları farklı yöntemlerle öğrenir; ancak makine öğrenimi algoritmalarının ve modellerinin öğrenme sürecinin temel bir bileşeni kayıp fonksiyonudur. Kayıp fonksiyonu, bir modelin tahmini ile gerçek hedef değer arasındaki hata payını niceliksel olarak ölçen matematiksel bir süreçtir. Bu yazının ilerleyen bölümlerinde kayıp fonksiyonunu ayrıntılı olarak inceleyeceğiz.
Kayıp Fonksiyonlarına Kısa Bakış
Kayıp fonksiyonu, bir makine öğrenimi modelinin performansını ve doğruluğunu ölçmenin nicel bir yoludur. Bu bağlamda kayıp fonksiyonu, bir modelin veya makine öğrenimi algoritmasının öğrenme süreci için yol gösterici görevi görür.
Kayıp fonksiyonunun rolü, makine öğrenimi modellerinin eğitiminde kritik öneme sahiptir ve şunları içerir:
- Performans ölçümü: Kayıp fonksiyonları, tahminlerle gerçek sonuçlar arasındaki farkı nicelendirerek bir modelin performansını değerlendirmek için net bir metrik sunar.
- İyileştirme yönü: Kayıp fonksiyonları, algoritmayı kaybı azaltmak ve tahminleri iyileştirmek için parametreleri (ağırlıkları) yinelemeli olarak ayarlamaya yönlendirerek modelin iyileştirilmesine rehberlik eder.
- Bias ve varyans dengesi: Etkili kayıp fonksiyonları, modelin yeni verilere genellenmesi için gerekli olan bias (aşırı basitleştirme) ve varyans (aşırı uyum) arasında denge kurulmasına yardımcı olur.
- Model davranışını etkileme: Bazı kayıp fonksiyonları, aykırı değerlere karşı daha dayanıklı olmak veya belirli hata türlerine öncelik vermek gibi modelin davranışını etkileyebilir.
İlerleyen bölümlerde belirli kayıp fonksiyonlarının rollerini keşfedelim ve kayıp fonksiyonuna dair ayrıntılı bir sezgi ve anlayış oluşturalım.
Kayıp Fonksiyonu Nedir?
Hata fonksiyonu olarak da anılan kayıp fonksiyonu, bir makine öğrenimi algoritmasının tahmin ettiği çıktılar ile gerçek hedef değerler arasındaki farkı nicel olarak ölçen kritik bir bileşendir.
Örneğin, tarihsel verilerden yararlanarak araba fiyatlarını tahmin etmeye yönelik bir regresyon probleminde, bir kayıp fonksiyonu eğitim veri setinden alınmış bir örnek üzerinde bir sinir ağının tahminini değerlendirir. Kayıp fonksiyonu, ağın tahmin ettiği araba fiyatı ile gerçek fiyat arasındaki farkı ya da hata payını nicelendirir.
Ortaya çıkan değer, yani kayıp, modelin tahminlerinin doğruluğunu yansıtır. Eğitim sırasında geri yayılım gibi bir öğrenme algoritması, modelin parametrelerine göre kayıp fonksiyonunun gradyanını kullanarak bu parametreleri ayarlar ve kaybı en aza indirir; bu da modelin veri seti üzerindeki performansını etkin biçimde iyileştirir.

Çoğu zaman loss function ve cost function terimleri birbirinin yerine kullanılır; buna rağmen, ikisinin de farklı tanımları vardır:
Daha önce belirtildiği gibi, hata fonksiyonu olarak da bilinen kayıp fonksiyonu, bir makine öğrenimi algoritmasının tek bir tahmininin gerçek hedef değerle ne kadar iyi örtüştüğünü nicelendirir. Buradaki kilit nokta, kayıp fonksiyonunun tek bir eğitim örneğine uygulanmasıdır ve modelin öğrenme algoritmasının ağırlıkları ve parametreleri güncellemesini sağlayan sinyali üreten genel öğrenme sürecinin bir parçasıdır.
Bazen amaç fonksiyonu olarak da adlandırılan cost function ise, birden çok eğitim örneği içeren tüm eğitim kümesindeki kayıp fonksiyonunun ortalamasıdır. Cost function, modelin tüm eğitim veri seti üzerindeki performansını nicelendirir.
Şimdi kayıp fonksiyonlarının nasıl çalıştığını daha derinlemesine inceleyelim.
Kayıp Fonksiyonları Nasıl Çalışır
Farklı türde kayıp fonksiyonları olsa da, temelde hepsi bir modelin tahminleri ile veri setindeki gerçek hedef değer arasındaki farkı nicelendirerek çalışır. Bu sayısal nicelendirme için resmi terim tahmin hatasıdır. Bir makine öğrenimi modelindeki öğrenme algoritması ve mekanizmalar, tahmin hatasını en aza indirmek üzere optimize edilir; bu da, tahmin hatasıyla belirlenen kayıp fonksiyonu değeri hesaplandıktan sonra öğrenme algoritmasının bu bilgiyi kullanarak ağırlık ve parametre güncellemeleri yapacağı ve bir sonraki eğitim geçişinde daha düşük bir tahmin hatasına yol açacağı anlamına gelir.
Kayıp fonksiyonu, makine öğrenimi algoritmaları ve sinir ağlarındaki öğrenme süreci konularını incelerken, Emprik Risk Minimizasyonu (ERM) konusuyla karşılaşılır. ERM, bir makine öğrenimi algoritmasının, emprik riski en aza indirecek şekilde en uygun parametrelerini seçme yaklaşımıdır. Bu durumda emprik risk, eğitim veri setidir.
ERM'in risk minimizasyon bileşeni, modelin, başlangıçta eğitildiği veri setine benzer istatistiksel dağılıma sahip olabilecek görülmemiş bir veri seti ya da örnek karşısında beklenen performans ve doğruluğa sahip olmasını amaçlayarak, içsel öğrenme algoritmasının bilinen bir veri setine yönelik tahmin hatasını en aza indirdiği süreçtir.
Kayıp Fonksiyonu Türleri
Makine öğrenimindeki kayıp fonksiyonları, uygulanabildikleri makine öğrenimi görevlerine göre kategorize edilebilir. Kayıp fonksiyonlarının çoğu regresyon ve sınıflandırma problemlerine uygulanır. Regresyon görevlerinde modelin sürekli çıktı değerleri tahmin etmesi beklenir. Buna karşılık sınıflandırma görevlerinde modelin, veri setindeki bir sınıfa karşılık gelen ayrık etiketler üretmesi beklenir.
Aşağıda standart kayıp fonksiyonları ve iyi uyum sağladıkları makine öğrenimi problem türlerine göre sınıflandırmaları yer alır. Bu kayıp fonksiyonlarının çoğu yazının ilerleyen kısımlarında ayrıntılı incelenmektedir.
|
Kayıp Fonksiyonu |
Sınıflandırmaya Uygunluk |
Regresyona Uygunluk |
|
Ortalama Kare Hata (MSE) / L2 Kayıp |
✖️ |
✔️ |
|
Ortalama Mutlak Hata (MAE) / L1 Kayıp |
✖️ |
✔️ |
|
İkili Çapraz Entropi Kaybı / Log Loss |
✔️ |
✖️ |
|
Kategorik Çapraz Entropi Kaybı |
✔️ |
✖️ |
|
Hinge Loss |
✔️ |
✖️ |
|
Huber Kaybı / Düzgün Ortalama Mutlak Hata |
✖️ |
✔️ |
|
Log Loss |
✔️ |
✖️ |
Regresyon için Kayıp Fonksiyonları
Ortalama Kare Hata (MSE) / L2 Kayıp
Ortalama Kare Hata (MSE) veya L2 kayıp, bir makine öğrenimi algoritmasının tahmini ile gerçek çıktı arasındaki hatanın büyüklüğünü, tahminlerle hedef değerler arasındaki farkların karelerinin ortalamasını alarak nicelendirir. Tahminlerle gerçek hedef değerler arasındaki farkın karesini almak, hedef değerden büyük sapmalara daha yüksek ceza verilmesiyle sonuçlanır. Hataların ortalaması ise toplam hataları veri setindeki örnek sayısına göre normalize eder.
Ortalama Kare Hata (MSE) veya L2 Kayıp için matematiksel denklem şöyledir:
MSE = (1/n) * Σ(yᵢ - ȳ)²
Burada:
- n, veri setindeki örnek sayısıdır
- yᵢ, i'inci örnek için tahmin edilen değerdir
- ȳ, i'inci örnek için hedef değerdir
MSE ne zaman kullanılır
MSE'nin ne zaman kullanılacağını anlamak, makine öğrenimi modeli geliştirmede kritiktir. MSE, çoğu regresyon görevinde standart bir kayıp fonksiyonu olarak kullanılır; çünkü modeli, tahmin edilen ve hedef değerler arasındaki kare farkları en aza indirecek şekilde optimize etmeye yönlendirir.
MSE, aykırı değerlerin varlığını güçlü biçimde cezalandırmanın öğrenme sürecine elverişli olduğu ML senaryoları için önerilir. Ancak MSE'nin bu özellikleri, aykırı değerlerin olumlu sinyallerden ziyade verideki gürültüden kaynaklandığı durum ve kullanım örnekleri için her zaman uygun olmayabilir.
MSE kayıp fonksiyonunun kullanılabileceği örnek bir senaryo, emlak fiyat tahmini veya daha genel olarak öngörücü modellemedir. Konut fiyatlarını tahmin etmek; oda sayısı, konum, metrekare, olanaklara uzaklık ve diğer sayısal özellikler gibi girdiler kullanmayı içerir. Yerel bir bölgedeki konut fiyatları genellikle normal dağılır; bu nedenle aykırı değerleri cezalandırma hedefi, modelin doğru ev fiyatları tahmin edebilmesi için önemlidir.
Emlakta küçük bir yüzde hatası bile önemli miktarda paraya karşılık gelebilir. Örneğin, 200.000 $ değerindeki bir evde %5 hata 10.000 $ eder ve bu kayda değerdir. Bu nedenle hataların karesini almak (MSE'de olduğu gibi) daha büyük hatalara daha yüksek ağırlık verilmesine yardımcı olur ve böylece modelin daha yüksek değerli mülklerde daha isabetli olmasını teşvik eder.
Ortalama Mutlak Hata (MAE) / L1 Kayıp
Ortalama Mutlak Hata (MAE), L1 Kayıp olarak da bilinir ve regresyon görevlerinde kullanılan, bir makine öğrenimi modelinin tahmin ettiği değerlerle gerçek hedef değerler arasındaki mutlak farkların ortalamasını hesaplayan bir kayıp fonksiyonudur. Ortalama Kare Hata (MSE)'nin aksine MAE, farkları karesini almaz; hata büyüklüğü ne olursa olsun tüm hataları eşit ağırlıkla değerlendirir.
Ortalama Mutlak Hata (MAE) veya L1 Kayıp için matematiksel denklem:
MAE = (1/n) * Σ|yᵢ - ȳ|
Burada:
- n, veri setindeki örnek sayısıdır
- yᵢ, i'inci örnek için tahmin edilen değerdir
- ȳ, i'inci örnek için hedef değerdir
MAE ne zaman kullanılır
MAE, tahmin edilen ve gerçek değerler arasındaki ortalama mutlak farkı ölçer. MSE'den farklı olarak MAE, farkların karesini almaz; bu da onu aykırı değerlere karşı daha az hassas yapar. Ortalama Kare Hata'ya (MSE) kıyasla Ortalama Mutlak Hata (MAE), hatalara büyüklüklerinden bağımsız olarak eşit ağırlık verdiği için doğası gereği aykırı değerlere daha az duyarlıdır.
Bu, bir aykırı değerin kare alındığında orantısız derecede büyük bir hataya yol açarak MSE'yi önemli ölçüde saptırabilmesine karşın, MAE üzerindeki etkisinin çok daha sınırlı olduğu anlamına gelir. MAE kayıp fonksiyonu kullanıldığında, bir aykırı değerin toplam hata metriği üzerindeki etkisi asgari düzeydedir. Buna karşılık MSE, hata terimlerinin karesini aldığı için aykırı değerlerin etkisini büyütür ve modelin hata tahminini daha fazla etkiler.

MAE'nin uygun olduğu bir senaryo, aykırı değerleri ciddi biçimde ya da hiç cezalandırmak istemediğimiz durumlardır; örneğin bir yemek teslimat şirketi için teslimat sürelerini tahmin etmek.
UberEats, Deliveroo veya DoorDash gibi bir teslimat hizmeti şirketi, müşteri memnuniyetini artırmak için teslimat tahmin modeli oluşturabilir. Yemek teslimatının gerçekleşme süresi; hava durumu, trafik kazaları, yol çalışmaları vb. birçok faktörden etkilenir.
Bu faktörlerin ele alınması, teslimat süresi tahmini için kritiktir. Bunu yönetmenin bir yolu, bu olayları aykırı değer olarak sınıflandırmak ancak eğitilen modeli etkilememesini sağlamaya karar vermektir. Bu senaryoda MAE uygun bir kayıp fonksiyonudur; çünkü yol çalışmaları veya nadir olaylar nedeniyle oluşan aykırı veri noktalarını daha az şiddetle ele alır, böylece aykırı değerlerin hata metriği ve modelin öğrenme süreci üzerindeki etkisini azaltır.
MAE özellikle tüm veri noktalarına tek tip hata ağırlığı ekler; anlatılan senaryoda aykırı veri noktalarını cezalandırmak, teslimat sürelerinin olduğundan fazla ya da az tahmin edilmesine yol açabilir.
Huber Kaybı / Düzgün Ortalama Mutlak Hata
Huber Kaybı veya Düzgün Ortalama Mutlak Hata, Ortalama Mutlak Hata ve Ortalama Kare Hata kayıp fonksiyonlarının avantajlı özelliklerini tek bir kayıp fonksiyonunda birleştirir. Huber Kaybı'nın melez yapısı, MAE gibi aykırı değerlere daha az duyarlı olmasını sağlar; ancak MSE'ye benzer şekilde veri örneğindeki küçük hataları da cezalandırır. Huber Kaybı da regresyon makine öğrenimi görevlerinde kullanılır.
Huber Kaybı için matematiksel denklem şöyledir:
L(δ, y, f(x)) = (1/2) * (f(x) - y)^2 if |f(x) - y| <= δ
= δ * |f(x) - y| - (1/2) * δ^2 if |f(x) - y| > δ
Burada:
- L, Huber Kaybı fonksiyonunu temsil eder
- δ, kayıp fonksiyonunun karesel ve doğrusal bileşenleri arasında geçiş eşiğini belirleyen delta parametresidir
- y, gerçek değer ya da hedef değerdir
- f(x), tahmin edilen değerdir
Huber Kaybı / Düzgün Ortalama Mutlak Hata ne zaman kullanılır
Huber Kaybı fonksiyonu, hataları farklı şekilde ele alan iki bileşeni etkili biçimde birleştirir ve bu bileşenler arasındaki geçiş noktası δ eşiğiyle belirlenir:
- Küçük Hatalar için Karesel Bileşen: δ'dan küçük hatalarda
(1/2) * (f(x) - y)^2karesel bileşeni kullanır - Büyük Hatalar için Doğrusal Bileşen: δ'dan büyük hatalarda
δ * |f(x) - y| - (1/2) * δ^2doğrusal bileşenini uygular
Huber kaybı, makine öğrenimi algoritmasının tahmini ile gerçek hedef değer arasındaki farkın büyüklüğüne göre mod değiştirir. Huber Kaybı içindeki kilit terim delta (δ)'dır. Delta, Huber Kaybı'nın kaybı karesel mi yoksa doğrusal mı uygulayacağını belirleyen eşik değeridir.
Huber Kaybı'nın karesel bileşeni, MSE'nin aykırı değerleri cezalandırma avantajını yansıtır; Huber Kaybı'nda bu, deltadan küçük hatalara uygulanır ve modelin daha doğru tahmin yapmasını sağlar.
Hesaplanan hata (gerçek ve tahmin edilen değerler arasındaki fark) deltadan büyükse Huber Kaybı, MAE'ye benzer şekilde doğrusal kayıp hesaplamasını kullanır; böylece özellikle veri seti aykırı ya da nadiren görülen örnekler içeriyorsa, eğitilen modelin büyük hataları aşırı cezalandırmamasını sağlar.
Sınıflandırma için Kayıp Fonksiyonları
İkili Çapraz Entropi Kaybı / Log Loss
İkili Çapraz Entropi Kaybı (BCE), çıktı olarak genellikle 0 ile 1 arasında bir olasılık değeri üreten sınıflandırma modelleri için bir performans ölçüsüdür ve bu tahmin değeri, bir veri örneğinin bir sınıfa veya kategoriye ait olma olasılığına karşılık gelir. İkili Çapraz Entropi Kaybı durumunda iki farklı sınıf vardır. Ancak, çapraz entropi kaybının bir varyantı olan Kategorik Çapraz Entropi çok sınıflı sınıflandırma senaryolarında uygulanır.
Bazen Log Loss olarak da adlandırılan İkili Çapraz Entropi Kaybını anlamak için terimlerin bileşenlerini tartışmak faydalıdır.
- Kayıp: Bir makine öğrenimi algoritmasının tahmini ile gerçek hedef değer arasındaki farkın/mesafenin matematiksel nicelendirilmesidir.
- Entropi: Basit bir tanımla bir sistemdeki rastgelelik veya düzensizlik derecesinin hesaplanmasıdır
- Çapraz Entropi: Bilgi kuramında yaygın olarak kullanılan bir terimdir ve bir gözlemi tanımlamak için kullanılabilen iki olasılık dağılımı arasındaki farkı ölçer.
- İkili: 0 veya 1 olmak üzere iki durum kullanan sayısal gösterimdir. Bu, İkili Sınıflandırma tanımına genişletilerek iki sınıfı (A ve B) ikili gösterimle ayırt ederiz; A sınıfına 0, B sınıfına 1 sayısal gösterimi atanır.
İkili Çapraz Entropi Kaybı (veya Log Loss), bir makine öğrenimi algoritmasının tahmini ile gerçek hedef tahmin arasındaki farkın nicelendirilmesidir ve makine öğrenimi algoritmasının yaptığı tahminlerin olasılıklarının logaritma değerlerinin toplamının negatifinden, veri örneklerinin toplam sayısına göre hesaplanır. BCE; lojistik regresyon problemleri ve bir veri örneğinin bir sınıfa ait olma olasılığını tahmin etmek üzere tasarlanmış, dahili olarak sigmoid aktivasyon fonksiyonunu kullanan yapay sinir ağlarının eğitiminde yer alır.
Log Loss olarak da bilinen İkili Çapraz Entropi Kaybı için matematiksel denklem şöyledir:
L(y, f(x)) = -[y * log(f(x)) + (1 - y) * log(1 - f(x))]
Burada:
- L, İkili Çapraz Entropi Kayıp fonksiyonunu temsil eder
- y, gerçek ikili etiket (0 veya 1)
- f(x), pozitif sınıfın tahmin edilen olasılığıdır (0 ile 1 arasında)
İkili Çapraz Entropi Kaybı / Log Loss ne zaman kullanılır
Yukarıdaki denklem, makine öğrenimi algoritmasının iki sınıf arasında bir sınıflandırma yapacağı bir senaryoya özgüdür. Bu, ikili sınıflandırma senaryosudur.
Denklemdeki negatif işaretle belirtildiği gibi: ‘-’ BCE, iki terimin negatifini hesaplayarak kaybı belirler ve birden fazla tahmin ya da veri örneği için aşağıdaki iki terimin negatifinin ortalamasını alır:
- Modelin pozitif sınıf mevcutken tahmin ettiği olasılığın logaritması: y * log(f(x))
- Negatif sınıfın tahmin edilen olasılığının 1 eksiğinin logaritması: (1 - y) * log(1 - f(x))
BCE kayıp fonksiyonu, pozitif sınıftan önemli ölçüde sapan ya da başka bir deyişle yüksek entropi niceliğine sahip hatalı tahminleri cezalandırır. BCE öğrenme algoritmalarının bir bileşeni olarak kullanıldığında, modelin eğitim sırasında uygun sınıfa ait olasılık tahminlerini iyileştirmesini teşvik eder.
Hinge Loss
Hinge Loss, sınıflandırıcıları eğitmek için makine öğreniminde kullanılan ve veri noktaları ile karar sınırı arasındaki marjı artıracak şekilde optimize eden bir kayıp fonksiyonudur. Bu nedenle ağırlıklı olarak maksimum marj sınıflandırmalarında kullanılır. Veri noktaları ve sınırlar arasındaki maksimum marjı sağlamak için hinge loss, yanlış sınıflandırılan (marj sınırının yanlış tarafına düşen) tahminleri ve doğru sınıflandırılsa da karar sınırına çok yakın olan tahminleri cezalandırır.
Hinge Loss fonksiyonunun bu özelliği, makine öğrenimi modellerinin, veri noktalarını hedef değerlerine karar sınırı eşiğini aşan bir güvenle doğru şekilde sınıflandırabilmesini sağlar. Bu öğrenme yaklaşımı, modelin genelleme yeteneklerini artırır ve veri noktalarını yüksek bir kesinlikle doğru sınıflandırmada etkili kılar.
Hinge Loss için matematiksel denklem:
L(y, f(x)) = max(0, 1 - y * f(x))
Burada:
- L, Hinge Loss'u temsil eder
- y, gerçek etiket ya da hedef değerdir (-1 veya 1)
- f(x), tahmin edilen değer ya da karar fonksiyonunun çıktısıdır
Doğru Kayıp Fonksiyonunu Seçmek
Bir makine öğrenimi algoritmasına uygulanacak uygun kayıp fonksiyonunun seçilmesi esastır; çünkü modelin performansı büyük ölçüde algoritmanın, dahili ağırlıklarını bir veri setine uyacak şekilde öğrenebilme veya uyarlayabilme becerisine bağlıdır.
Bir makine öğrenimi modeli veya algoritmasının performansı, büyük ölçüde kullanılan kayıp fonksiyonu tarafından belirlenir; zira kayıp fonksiyonu bileşeni, modelin hata kaybını ya da cost function değerini en aza indirmek için kullanılan öğrenme algoritmasını etkiler. Özetle kayıp fonksiyonu, modelin bir veri setindeki örüntülere uyacak şekilde dahili ağırlıklarının değerini öğrenme ve uyarlama yeteneğini etkiler.
Uygun şekilde seçildiğinde kayıp fonksiyonu, öğrenme algoritmasının eğitim aşamasında etkili bir biçimde optimal bir kayıp değerine yakınsamasını ve görülmemiş veri örneklerine iyi genelleme yapmasını sağlar. Doğru seçilmiş bir kayıp fonksiyonu, öğrenme algoritmasını doğruluk ve güvenilirliğe yönlendiren bir rehber gibi davranır; verideki temel örüntüleri yakalarken aşırı uyum veya yetersiz uyumdan kaçınmayı sağlar.
Kayıp fonksiyonu seçerken dikkate alınacak faktörler
Makine öğrenimi problemi türünü anlamak, kullanılacak kayıp fonksiyonu kategorisini belirlemeye yardımcı olur. Farklı kayıp fonksiyonları, farklı makine öğrenimi problemlerine uygulanır.
Sınıflandırma ve Regresyon
Sınıflandırma görevleri genellikle veri noktalarının belirli bir kategori etiketine atanmasını içerir. Bu tür görevlerde, modelin çıktısı genellikle bir veri noktasının belirli bir etiket olma olasılığını belirleyen olasılık kümesidir.
Sınıflandırma görevlerinde genellikle çapraz entropi kayıp fonksiyonu kullanılır. Bir makine öğrenimi regresyon görevinde, modelin bir dizi girdiye dayalı bir tahmin üretmesinin amaçlandığı durumlarda ise ortalama kare hata veya ortalama mutlak hata gibi kayıp fonksiyonları daha uygundur.
İkili ve Çok Sınıflı Sınıflandırma
İkili sınıflandırma, veri örneklerinin iki farklı kategoriye ayrılmasını içerirken; çok sınıflı sınıflandırma, adından da anlaşılacağı üzere iki sınıftan fazla kategoriye ayrılmasını içerir. Sadece iki sınıfın (ikili sınıflandırma) söz konusu olduğu problemler için ikili çapraz entropi kayıp fonksiyonunu kullanmak en iyisidir. İkiden fazla sınıfın hedeflendiği durumlarda ise kategorik çapraz entropi kullanılmalıdır.
Duyarlılık
Dikkate alınacak bir diğer faktör, kayıp fonksiyonunun aykırı değerlere karşı duyarlılığıdır. Bazı senaryolarda, aykırı değerlerin ve veri setinin genel istatistiksel dağılımını bozan örneklerin eğitim sırasında cezalandırılması istenir; bu tür senaryolarda ortalama kare hata gibi kayıp fonksiyonları uygundur.
Buna karşılık, aykırı değerlere daha az duyarlılığın istendiği, aykırı değerlerin "asla olmaması gereken" ya da olma olasılığı düşük olaylar olduğu senaryolar da vardır. Bu amaçla aykırı değerleri cezalandırmak, performansı düşük bir model üretebilir. Böyle durumlarda ortalama mutlak hata gibi kayıp fonksiyonları uygundur. İki dünyanın en iyisini elde etmek için uygulayıcılar, düşük hata değerlerinde aykırıları cezalandıran ve büyük hata değerlerinde aykırılara duyarlılığı azaltan bileşenlere sahip Huber kaybını düşünebilir.
Hesaplama verimliliği
Hesaplama kaynağı, makine öğrenimi, ticari ve araştırma alanında kıymetli bir varlıktır. Büyük hesaplama kapasitesine erişim, uygulayıcılara büyük veri setleriyle denemeler yapma ve daha karmaşık makine öğrenimi problemlerini çözme esnekliği sağlar. Bazı kayıp fonksiyonları, özellikle veri seti sayısı büyük olduğunda diğerlerinden daha fazla hesaplama gerektirir. Bu da bir kayıp fonksiyonu seçimi sürecinde hesaplama verimliliğini göz önünde bulundurulması gereken bir faktör yapar.
|
Faktör |
Açıklama |
|
Öğrenme Problemi Türü |
Sınıflandırma ve Regresyon; İkili ve Çok Sınıflı Sınıflandırma. |
|
Modelin Aykırı Değerlere Duyarlılığı |
Bazı kayıp fonksiyonları aykırı değerlere daha duyarlıdır (örn. MSE), bazıları ise daha sağlamdır (örn. MAE). |
|
İstenen Model Davranışı |
Modelin davranışını etkiler; örn. SVM'lerde hinge loss marjı maksimize etmeye odaklanır. |
|
Hesaplama Verimliliği |
Bazı kayıp fonksiyonları daha hesaplama yoğundur; seçim, mevcut kaynaklara göre etkilenir. |
|
Yakınsama Özellikleri |
Bir kayıp fonksiyonunun düzgünlüğü ve dışbükeyliği, eğitimin kolaylığını ve hızını etkileyebilir. |
|
Görevin Ölçeği |
Büyük ölçekli görevlerde, iyi ölçeklenen ve verimli optimize edilebilen bir kayıp fonksiyonu kritik önemdedir. |
Aykırı değerlerin ve veri dağılımının etkisi
Aykırı değerler, bir veri setinin genel istatistiksel dağılımının dışında kalan örneklerdir; bazen anomali veya düzensizlik olarak da adlandırılırlar. Aykırı değerlerin nasıl yönetildiği, eğitilen makine öğrenimi modelinin performansını ve doğruluğunu belirler.
Daha önce belirtildiği gibi, veri setlerindeki aykırı değerler, kullanılan kayıp fonksiyonuna bağlı olarak kayıp fonksiyonlarında kullanılan hata değerlerini etkiler. Aykırı değerlerin kayıp fonksiyonları üzerindeki etkisi, makine öğrenimi algoritmasının öğrenme sürecinin sonucuna da yansır ve bu, modelin istenen veya istenmeyen davranışlar sergilemesine yol açabilir.
Örneğin, ortalama kare hata, büyük hata değerlerine/terimlerine katkıda bulunan aykırı değerleri cezalandırır; bu da eğitim sürecinde modelin ağırlıklarının bu aykırı değerlere uyum sağlayacak şekilde ayarlanacağı anlamına gelir. Yine, bu model için istenen davranış değilse, eğitimden sonra oluşturulan nihai model, görülmemiş veriye karşı zayıf genelleme yapabilir. Aykırı değerlerin etkisinin azaltılmasının gerektiği senaryolarda MAE ve Huber kaybı gibi fonksiyonlar daha uygundur.
|
Kayıp Fonksiyonu |
Sınıflandırmaya Uygunluk |
Regresyona Uygunluk |
Aykırı Değerlere Duyarlılık |
|
Ortalama Kare Hata (MSE) |
✖️ |
✔️ |
Yüksek |
|
Ortalama Mutlak Hata (MAE) |
✖️ |
✔️ |
Düşük |
|
Çapraz Entropi |
✔️ |
✖️ |
Orta |
|
Hinge Loss |
✔️ |
✖️ |
Düşük |
|
Huber Kaybı |
✖️ |
✔️ |
Orta |
|
Log Loss |
✔️ |
✖️ |
Orta |
Kayıp Fonksiyonlarını Uygulama
Yaygın kayıp fonksiyonlarının uygulanmasına örnekler
Python'da MAE Uygulaması
# Python implementation of Mean Absolute Error (MAE)
def mean_absolute_error(actual:list, predicted:list) -> float:
"""
Calculate the Mean Absolute Error between actual and predicted values
:param actual: list, actual values
:param predicted: list, predicted values
:return: float, the calculated MAE
"""
# Ensure the length of the two lists are the same
if len(actual) != len(predicted):
raise ValueError("The length of actual values and predicted values must be the same")
# Calculate the absolute differences
absolute_diffs = [abs(act - pred) for act, pred in zip(actual, predicted)]
# Calculate the mean of the absolute differences
mae = sum(absolute_diffs) / len(actual)
return mae
# Example usage:
# actual values
y_true = [3, -0.5, 2, 7]
# predicted values
y_pred = [2.5, 0.0, 2, 8]
# Calculate MAE
mae_value = mean_absolute_error(y_true, y_pred)
print(mae_value)
# 0.5
Python'da MSE Uygulaması
# Python implementation of Mean Squared Error (MSE) / L2 Loss
def mean_squared_error(actual:list, predicted:list) -> float:
"""
Calculate the Mean Squared Error between actual and predicted values
:param actual: list, actual values
:param predicted: list ,predicted values
:return: float, the calculated MSE
"""
# Ensure the length of the two lists are the same
if len(actual) != len(predicted):
raise ValueError("The length of actual values and predicted values must be the same")
# Calculate the squared differences
# (yᵢ - ȳ)²
squared_diffs = [(act - pred) ** 2 for act, pred in zip(actual, predicted)]
# Calculate the mean of the squared differences
mse = sum(squared_diffs) / len(actual)
return mse
# Example usage:
# actual values
y_true = [1, 2, 3, 4, 5]
# predicted values
y_pred = [1.1, 2.2, 2.9, 4.1, 4.9]
# Calculate MSE
mse_value = mean_squared_error(y_true, y_pred)
print(mse_value)
# 0.015999999999999993
Kayıp fonksiyonu uygulaması için kütüphanelerin kullanımı
Kayıp fonksiyonlarının özel olarak uygulanması mümkün olsa da ve TensorFlow ile PyTorch gibi derin öğrenme kütüphaneleri, sinir ağı uygulamalarında özel kayıp fonksiyonlarının kullanımını desteklese de, Scikit-learn, TensorFlow ve PyTorch gibi kütüphaneler yaygın olarak kullanılan kayıp fonksiyonlarının yerleşik uygulamalarını sunar.
Bu önceden entegre işlevler, bu kayıp fonksiyonlarının uygulanmasındaki karmaşıklıkları soyutlayarak kolay kullanım sağlar ve makine öğrenimi modelleri için geliştirme sürecini kolaylaştırır.
Bu derin öğrenme kütüphanelerini kullanmak, saf Python uygulamalarına göre bazı avantajlar sunar; bunlardan bazıları şunlardır:
- Kullanım kolaylığı
- Verimlilik ve optimizasyon
- GPU ve paralel hesaplama desteği
- Geliştirici topluluğu desteği
scikit-learn kütüphanesi ile Ortalama Mutlak Hata (MAE)
from sklearn.metrics import mean_absolute_error
# actual values
y_true = [3, -0.5, 2, 7]
# predicted values
y_pred = [2.5, 0.0, 2, 8]
# Calculate MAE using scikit-learn
mae_value = mean_absolute_error(y_true, y_pred)
print(mae_value)
#0.5
scikit-learn kütüphanesi ile Ortalama Kare Hata (MSE)
from sklearn.metrics import mean_squared_error
# actual values
y_true = [1, 2, 3, 4, 5]
# predicted values
y_pred = [1.1, 2.2, 2.9, 4.1, 4.9]
# Calculate MSE using scikit-learn
mse_value = mean_squared_error(y_true, y_pred)
print(mse_value)
# 0.016
Sonuç
Özetle, etkili makine öğrenimi modeli eğitimi için doğru kayıp fonksiyonunu seçmek kritik önemdedir. Bu yazı, temel kayıp fonksiyonlarını, makine öğrenimi algoritmalarındaki rollerini ve farklı görevler için uygunluklarını öne çıkardı. Ortalama Kare Hata'dan (MSE) Huber Kaybı'na kadar her bir fonksiyon, aykırı değerleri ele alma veya bias-varyans dengesini kurma gibi kendine özgü avantajlara sahiptir.
Scikit-learn, TensorFlow ve PyTorch gibi kütüphanelerden özel mi yoksa hazır kayıp fonksiyonları mı kullanılacağı kararı; belirli proje ihtiyaçlarına, hesaplama verimliliğine ve kullanıcı uzmanlığına bağlıdır. Bu kütüphaneler kolay uygulama, sürekli topluluk desteği ve düzenli güncellemeler sunar.
Makine öğrenimi evrilse de kayıp fonksiyonlarının önemi sabit kalmaktadır. Gelecekte daha özelleşmiş kayıp fonksiyonları ortaya çıkabilir; ancak temel ilkeler muhtemelen aynen sürecektir. Makine öğrenimi ve uygulamaları hakkında daha derin bir inceleme için DataCamp’in Machine Learning Scientist with Python eğitim yolunu keşfedin.
SSS
Aynı makine öğrenimi problemi için farklı kayıp fonksiyonları kullanabilir miyim?
Evet, aynı problem için farklı kayıp fonksiyonlarını deneyerek hangisinin en iyi sonuç verdiğini görmek mümkündür. Örneğin, regresyon görevlerinde, aykırı değerlere duyarlılık ile genel performansı dengelemek için hem Ortalama Kare Hata (MSE) hem de Huber Kaybı'nı deneyebilirsiniz. Kayıp fonksiyonu seçimi, veri setinizin ve probleminizin özgül özelliklerine bağlıdır.
Kayıp fonksiyonları eğitim sırasında modelin yakınsamasını nasıl etkiler?
Kayıp fonksiyonu seçimi, bir modelin eğitim sırasında ne kadar düzgün ve hızlı yakınsadığını etkiler. Örneğin, dışbükey olmayan veya süreksiz gradyanlara sahip kayıp fonksiyonları, eğitimin durmasına ya da alt optimal çözümlere yakınsamaya neden olabilir. Öte yandan, MSE veya Çapraz Entropi gibi düzgün ve iyi davranışlı gradyanlara sahip fonksiyonlar, gradyan tabanlı yöntemler için optimizasyonu kolaylaştırabilir.
Çıktı verisinin ölçeği, kayıp fonksiyonu seçiminde nasıl bir rol oynar?
Çıktı verisinin ölçeği, kayıp fonksiyonu seçiminde önemli rol oynayabilir. Örneğin, hedef değerler çok büyük veya çok küçük bir ölçekteyse, hataları kareye alan MSE gibi kayıp fonksiyonları büyük değerlere orantısız vurgu yapabilir. Bu gibi durumlarda, veriyi normalleştirmek ya da MAE veya Huber Kaybı gibi ölçekten bağımsız kayıp fonksiyonları kullanmak, dengeli bir optimizasyon sağlamaya yardımcı olabilir.
Richmond Alake, AI/ML teknolojilerine odaklanan MongoDB’de Geliştirici Savunucusudur. Geliştiriciler ve MongoDB kullanıcıları için, vektör arama ve büyük dil modelleri (LLM'ler) dâhil olmak üzere MongoDB'nin yeteneklerinden yararlanarak yapay zeka çözümleri oluşturmalarına yardımcı olan eğitim içerikleri üretir. Richmond, yapay zeka, bilgisayarla görü ve yazılım geliştirme alanlarında güçlü bir geçmişe sahiptir. Ayrıca çok sayıda teknik makale yazmış ve yapay zeka ile ilgili dersler vermiştir. MongoDB'den önce Slalom Build'de Makine Öğrenimi Mimarı, Emeritus'ta Program Lideri ve Loveshark'ta Bilgisayarla Görü Mühendisi olarak görev yapmıştır.
