Doğrusal regresyon: Gradyan iniş

Gradyan azalma, en düşük kayıp değerine sahip modeli oluşturan ağırlıkları ve önyargıları iteratif olarak bulan matematiksel bir tekniktir. Gradyan iniş, aşağıdaki işlemi kullanıcı tanımlı bir dizi iterasyon için tekrarlayarak en iyi ağırlığı ve yanlılığı bulur.

Model, sıfıra yakın rastgele ağırlıklar ve ağırlıklarla eğitime başlar ve ardından aşağıdaki adımları tekrarlar:

  1. Mevcut ağırlık ve önyargı ile kaybı hesaplayın.

  2. Kayıpları azaltan ağırlıkları ve önyargıları taşıma yönünü belirleyin.

  3. Ağırlık ve önyargı değerlerini, kaybı azaltacak yönde az miktarda hareket ettirin.

  4. Birinci adıma dönün ve model kaybı daha fazla azaltana kadar işlemi tekrarlayın.

Aşağıdaki şemada, gradyan inişinin en düşük kayıpla modeli üreten ağırlıkları ve yanlılığı bulmak için gerçekleştirdiği yinelemeli adımlar özetlenmektedir.

Şekil 12. Gradyan azalma sürecini gösteren görsel.

Şekil 12. Gradyan azalma, en düşük kayıplı modeli oluşturan ağırlıkları ve önyargıları bulan yinelemeli bir işlemdir.

Eğim azalma yönteminin matematiksel temelleri hakkında daha fazla bilgi edinmek için artı simgesini tıklayın.

Somut düzeyde, bir arabanın ağırlığını (pound cinsinden) ve galon başına mil değerini gösteren yedi örnek içeren küçük bir veri kümesi kullanarak gradyan azalma adımlarını inceleyebiliriz:

1.000'ler cinsinden pound (özellik) Mil/galon (etiket)
3,5 18
3,69 15
3,44 18
3,43 16
4,34 15
4.42 14
2,37 24
  1. Model, ağırlığı ve önyargıyı sıfıra ayarlayarak eğitime başlar:
  2. $$ \small{Weight:\ 0} $$ $$ \small{Bias:\ 0} $$ $$ \small{y = 0 + 0(x_1)} $$
  3. Mevcut model parametreleriyle MSE kaybını hesaplayın:
  4. $$ \small{Loss = \frac{(18-0)^2 + (15-0)^2 + (18-0)^2 + (16-0)^2 + (15-0)^2 + (14-0)^2 + (24-0)^2}{7}} $$ $$ \small{Loss= 303.71} $$
  5. Her ağırlık ve yanlılığın kayıp işlevine teğetin eğimini hesaplayın:
  6. $$ \small{Weight\ slope: -119.7} $$ $$ \small{Bias\ slope: -34.3} $$

    Eğimi hesaplama hakkında bilgi edinmek için artı simgesini tıklayın.

    Ağırlık ve önyargıya teğet olan çizgilerin eğimini elde etmek için ağırlık ve yanlılığa göre kayıp işlevinin türevini alıp denklemleri çözeriz.

    Tahmin yapmayla ilgili denklemi şu şekilde yazacağız:
    $ f_{w,b}(x) = (w*x)+b $.

    Gerçek değeri şu şekilde yazarız: $ y $.

    MSE'yi şunları kullanarak hesaplayacağız:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
    Burada $i$, $ith$ eğitim örneğini, $M$ ise örnek sayısını temsil eder.

    Ağırlık türevi

    Kayıp işlevinin ağırlığa göre türevi şu şekilde yazılır:
    $ \frac{\partial }{\partial w} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    ve şu sonucu verir:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} $

    Öncelikle her tahmini değerin gerçek değerden çıkarılmasıyla elde edilen değeri toplar ve ardından bu değeri özellik değerinin iki katına çarparız. Ardından, toplamı örnek sayısına böleriz. Sonuç, ağırlığın değerine teğet olan çizginin eğimidir.

    Bu denklemi sıfıra eşit ağırlık ve önyargı ile çözersek çizginin eğimi için -119, 7 elde ederiz.

    Önyargı türevi

    Kayıp işlevinin önyargıya göre türevi şu şekilde yazılır:
    $ \frac{\partial }{\partial b} \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $

    ve şu şekilde değerlendirilir:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2 $

    Öncelikle her tahmini değerin gerçek değerden çıkarılmasıyla elde edilen sonucu toplar ve ardından bu sonucu ikiye çarparız. Daha sonra, toplamı örnek sayısına böleriz. Sonuç, önyargı değerine teğet gelen çizginin eğimidir.

    Bu denklemi ağırlık ve önyargı sıfır olacak şekilde çözersek çizginin eğimi için -34, 3 değerini elde ederiz.

  7. Sonraki ağırlığı ve önyargıyı almak için negatif eğim yönünde az miktarda hareket edin. Şimdilik "küçük tutar"ı keyfi olarak 0, 01 olarak tanımlayacağız:
  8. $$ \small{New\ weight = old\ weight - (small\ amount * weight\ slope)} $$ $$ \small{New\ bias = old\ bias - (small\ amount * bias\ slope)} $$ $$ \small{New\ weight = 0 - (0.01)*(-119.7)} $$ $$ \small{New\ bias = 0 - (0.01)*(-34.3)} $$ $$ \small{New\ weight = 1.2} $$ $$ \small{New\ bias = 0.34} $$

Kaybı hesaplamak ve tekrarlamak için yeni ağırlığı ve önyargıyı kullanın. Süreci altı iterasyonda tamamladığımızda aşağıdaki ağırlıkları, önyargıları ve kayıpları elde ederiz:

Yineleme Ağırlık Yanlı olma Kayıp (MSE)
1 0 0 303,71
2 1.2 0,34 170,67
3 2,75 0,59 67,3
4 3,17 0,72 50,63
5 3,47 0,82 42,1
6 3,68 0,9 37,74

Her güncellenen ağırlık ve önyargı ile kaybın azaldığını görebilirsiniz. Bu örnekte, altı iterasyondan sonra durduktan. Pratikte, bir model konvergen olana kadar eğitilir. Bir model yakınlaştığında ek iterasyonlar kaybı daha fazla azaltmaz. Çünkü gradyan iniş, kaybı neredeyse en aza indiren ağırlıkları ve yanlılığı bulur.

Model, geçmiş yakınsaklığı eğitmeye devam ederse model, parametreleri en düşük değerleri etrafında sürekli olarak güncellediğinden kayıp küçük miktarlarda dalgalanmaya başlar. Bu durum, modelin gerçekten birleştiğini doğrulamayı zorlaştırabilir. Modelin birleştiğini onaylamak için kayıp sabitlenene kadar eğitime devam etmeniz gerekir.

Model yakınsaklığı ve kayıp eğrileri

Bir modeli eğitirken modelin tümleşme olup olmadığını belirlemek için genellikle kayıp eğrisine bakarsınız. Kayıp eğrisi, model eğitilirken kaybın nasıl değiştiğini gösterir. Aşağıda tipik bir kayıp eğrisi gösterilmektedir. Kayıp y ekseninde, iterasyonlar ise x ekseninde gösterilir:

Şekil 13. Ani bir düşüş, ardından hafif bir düşüş gösteren kayıp eğrisinin grafiği.

Şekil 13. Modelin 1.000. yineleme işareti civarında yaklaştığını gösteren kayıp eğrisi.

İlk birkaç iterasyonda kaybın önemli ölçüde azaldığını, ardından 1.000. iterasyon civarında sabitlenmeden önce kademeli olarak azaldığını görebilirsiniz. 1.000 iterasyondan sonra, modelin yakınsadığından emin olabiliriz.

Aşağıdaki şekillerde, model eğitim süreci boyunca üç noktada çizilmiştir: başlangıç, orta ve son. Eğitim süreci sırasında modelin durumunu anlık görüntülerde görselleştirmek, ağırlıkları ve önyargıyı güncelleme, kaybı azaltma ve model yakınsaması arasındaki bağlantıyı güçlendirir.

Şekillerde, modeli temsil etmek için belirli bir iterasyonda türetilen ağırlıkları ve önyargıları kullanırız. Veri noktalarının ve model anlık görüntüsünün yer aldığı grafikte, modelden veri noktalarına giden mavi kayıp çizgileri kayıp miktarını gösterir. Hatlar ne kadar uzunsa o kadar fazla kayıp olur.

Aşağıdaki şekilde, modelin ikinci iterasyonda yüksek kayıp miktarı nedeniyle tahminde iyi olmayacağını görebiliriz.

Şekil 14. Modelin veri noktalarından uzaklaşan kayıp eğrisi ve ilgili grafiği.

14. Şekil. Eğitim sürecinin başındaki modelin kayıp eğrisi ve anlık görüntüsü.

Yaklaşık 400. iterasyonda, gradyan azalma yönteminin daha iyi bir model oluşturan ağırlığı ve yanlılığı bulduğunu görebiliriz.

Şekil 15. Modelin kayıp eğrisi ve buna karşılık gelen grafiği. Bu grafik, veri noktalarını keser ancak optimum açıda kesmez.

15. Şekil. Eğitimin yaklaşık yarısında modelin kayıp eğrisi ve anlık görüntüsü.

1.000. iterasyonda modelin birleştiğini ve mümkün olan en düşük kayıp değerine sahip bir model oluşturduğunu görebiliriz.

Şekil 16. Kayıp eğrisi ve modelin verilere iyi uyan grafiği.

16. Şekil. Eğitim sürecinin sonuna yakın bir zamanda modelin kayıp eğrisi ve anlık görüntüsü.

Alıştırma: Anladığınızdan emin olun

Doğrusal regresyonda gradyan azalma yönteminin rolü nedir?
Gradyan azalma, kaybı en aza indiren en iyi ağırlıkları ve önyargıları bulan iteratif bir süreçtir.
Gradyan iniş, bir modeli eğitirken kullanılacak kayıp türünü (ör. L1 veya L2) belirlemeye yardımcı olur.
Model eğitimi için kayıp işlevi seçiminde gradyan azalma kullanılmaz.
Eğim azalma yöntemi, modelin daha iyi tahminler yapmasına yardımcı olmak için veri kümesinden aykırı değerleri kaldırır.
Gradyan iniş, veri kümesini değiştirmez.

Yakınsama ve dışbükey fonksiyonlar

Doğrusal modellerin kayıp işlevleri her zaman konveks bir yüzey oluşturur. Bu özelliğin bir sonucu olarak, doğrusal regresyon modeli yakınsadığında modelin en düşük kaybı sağlayan ağırlıkları ve önyargıları bulduğunu biliriz.

Bir özelliğe sahip bir modelin kayıp yüzeyini grafik hâline getirirsek dışbükey şeklini görebiliriz. Aşağıda, önceki örneklerde kullanılan litre başına kilometre veri kümesinin kayıp yüzeyi gösterilmektedir. Ağırlık x ekseninde, önyargı y ekseninde ve kayıp z eksenindedir:

Şekil 17. Kayıp yüzeyinin 3D grafiği.

Şekil 17. Dışbükey şeklini gösteren kayıp yüzeyi.

Bu örnekte, -5,44 ağırlık ve 35,94 önyargı, 5,54 ile en düşük kaybı sağlar:

Şekil 18. Alt kısmında (-5, 44; 35, 94; 5, 54) değerlerinin yer aldığı kayıp yüzeyinin 3D grafiği.

Şekil 18. En düşük kaybı sağlayan ağırlık ve yanlılık değerlerini gösteren kayıp yüzeyi.

Doğrusal model, minimum kayıp bulunduğunda yakınsamaya ulaşır. Bu nedenle, ek yinelemeler yalnızca gradyan azalmaya neden olarak ağırlık ve yanlılık değerlerini minimum değer civarında çok küçük miktarlarda taşır. Eğim azalma sırasında ağırlıkları ve önyargı noktalarını grafik haline getirirsek noktalar, bir tepeden aşağı yuvarlanan ve sonunda aşağı eğimin olmadığı noktada duran bir top gibi görünür.

Şekil 19. Eğim azalma noktalarının en düşük noktaya doğru hareket ettiği dışbükey 3D kayıp yüzeyi.

Şekil 19. Gradyan azalma noktalarının grafikteki en düşük noktada durduğunu gösteren kayıp grafiği.

Siyah kayıp noktalarının, kayıp eğrisinin tam şeklini oluşturduğuna dikkat edin: Kayıp yüzeyindeki en düşük noktaya ulaşana kadar kademeli olarak aşağı doğru eğimden önce dik bir düşüş.

Modelin neredeyse hiçbir zaman her ağırlık ve önyargı için tam minimum değeri bulmadığını, bunun yerine buna çok yakın bir değer bulduğunu unutmayın. Ağırlıklar ve önyargı için minimum değerin sıfır kayıpla eşleşmediğini, yalnızca ilgili parametre için en düşük kaybı sağlayan bir değer olduğunu da belirtmek önemlidir.

En düşük kaybı sağlayan ağırlık ve önyargı değerlerini (bu durumda -5,44 ağırlık ve 35,94 önyargı) kullanarak modelin verilere ne kadar iyi uyduğunu görmek için modeli grafik haline getirebiliriz:

Şekil 20. Verilere uyan modelin yer aldığı, 1.000 pound başına mil ve galon başına mil grafiği.

Şekil 20. En düşük kaybı sağlayan ağırlık ve yanlılık değerlerinin kullanıldığı model.

Başka hiçbir ağırlık ve önyargı değeri daha düşük kayıplı bir model üretmediğinden bu, bu veri kümesi için en iyi model olacaktır.