Doğrusal regresyon: Gradyan inişi

Eğim 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 azalma, aşağıdaki işlemi kullanıcı tanımlı bir dizi iterasyon için tekrarlayarak en iyi ağırlığı ve önyargıyı bulur.

Model, sıfıra yakın rastgele ağırlıklar ve önyargılarla 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 azalma yönteminin en düşük kayıp değerine sahip modeli üreten ağırlıkları ve önyargıları bulmak için uyguladığı iteratif adımlar özetlenmiştir.

Ş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 iteratif bir süreçtir.

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ümesini 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ıkta ve önyargıda kayıp işlevine teğet olan doğrunun eğimi hesaplanır:
  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ığa ve önyargıya teğet olan çizgilerin eğimi elde etmek için, ağırlık ve önyargıya göre kayıp fonksiyonunun türevini alırız ve ardından 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 şu şekilde hesaplayacağız:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)})^2 $
    Burada $i$, $i.$ eğitim örneğini, $M$ ise örnek sayısını temsil etmektedir.

    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 ağırlık ve önyargı sıfır olacak şekilde çözersek çizginin eğimi için -119, 7 değerini elde ederiz.

    Yanlışlık 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. Ardından, toplamı örnek sayısına bölünür. Sonuç, önyargı değerine teğet olan ç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ılık 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ınsadığında ek iterasyonlar kaybı daha fazla azaltmaz. Çünkü gradyan azalma, kaybı neredeyse en aza indiren ağırlıkları ve önyargıları bulmuştur.

Model, yakınsamadan sonra eğitilmeye devam ederse model, parametreleri en düşük değerlerine yakın olacak şekilde 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ınsama ve kayıp eğrileri

Bir modeli eğitirken modelin konvergen 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. Önce keskin bir düşüş, ardından kademeli bir düşüş gösteren kayıp eğrisi grafiği.

Şekil 13. Modelin 1.000. iterasyon işareti civarında yakınlaş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ı ve model anlık görüntüsünü içeren 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.

Şekil 14. Eğitim sürecinin başında 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.

Şekil 15. Eğitimin yaklaşık ortası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. Verilere iyi uyan modelin kayıp eğrisi ve karşılık gelen grafiği.

Şekil 16. 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 azalma, bir modeli eğitirken hangi tür kaybın (ör. L1 veya L2) kullanılacağını 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.
Eğim azalması, veri kümesini değiştirmez.

Yakınsama ve dışbükey fonksiyonlar

Doğrusal modeller için 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üzey.

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 önyargı değerlerini gösteren kayıp yüzeyi.

Doğrusal model, minimum kayıp bulunduğunda yakınsamaya ulaşır. Bu nedenle, ek iterasyonlar yalnızca gradyan azalma yönteminin ağırlık ve önyargı değerlerini minimum değerin etrafında çok küçük miktarlarda hareket ettirmesine neden olur. 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 önyargı değerleri kullanılarak oluşturulan model grafiği.

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.