Doğrusal regresyon: Gradyan iniş

Gradyan inişi, bu ağırlıkları ve yanlılığı yinelemeli olarak bulan matematiksel teknik en düşük kayıplı modeldir. Gradyan iniş, en iyi ağırlığı ve yanlılığı bulur işlemini kullanıcı tanımlı birtakım yinelemeler için tekrarlayarak yapabilirsiniz.

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

  1. Mevcut ağırlık ve yanlılık ile kaybı hesaplayın.

  2. Kaybı azaltan ağırlık ve yanlılığın hareket ettirileceği yönü belirleyin.

  3. Ağırlık ve yanlılık değerlerini azaltan yönde az miktarda hareket ettirin kaybetmezsiniz.

  4. 1. adıma dönün ve işlemi modelin mevcut koruyabilmelidir.

Aşağıdaki şemada, gradyan inişin dönüşüm değerini bulmak için gerçekleştirdiği yinelemeli adımlar en düşük kayıplı modeli üreten ağırlıklar ve eğilimler.

Şekil 12. Gradyan azalma işlemini gösteren görsel.

Şekil 12. Gradyan iniş, ağırlıkları bulan yinelemeli bir süreçtir en düşük kayıpla modeli oluşturan önyargıları ve önyargıları ifade eder.

Gradyan inişin ardındaki matematikle ilgili daha fazla bilgi edinmek için artı simgesini tıklayın.

Beton bir düzeyde, gradyan iniş adımlarını uygulayabiliriz. bir arabanın kilogram cinsinden ağırlığı için yedi örnek içeren küçük bir veri kümesi kullanılarak ve galon başına mil sayısı:

1.000 sterlin (ö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 yanlılığı 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ıktaki kayıp fonksiyonuna teğetin eğimini hesaplama ve önyargı:
  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 teğet olan çizgilerin eğimini ve aşağıdaki kayıp fonksiyonunun türevini kullanarak ağırlık ve önyargıyı dikkate alın ve ardından bu dengeyi denklemleri yer alır.

    Bir tahminde bulunmak için gereken denklemi şu şekilde yazacağız:
    f_{w,b}(x) = (g*x)+ b TL.

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

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

    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 şekilde değerlendirilir:
    $ \frac{1}{M} \sum_{i=1}^{M} (f_{w,b}(x_{(i)}) - y_{(i)}) * 2x_{(i)} TL

    İlk olarak, her bir tahmini değer eksi gerçek değer çıkarılarak özellik değerinin iki katını bulurum. Sonra toplamı örnek sayısına böleriz. Sonuç, değere teğet olan doğrunun eğimidir yardımcı olur.

    Bu denklemi, çizginin eğimi için -119, 7 elde ederiz.

    Önyargı türevi

    önyargı ş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 TL

    İlk olarak, her bir tahmini değer eksi gerçek değer çıkarılarak ve sonra ikiyle çarpacağım. Daha sonra, toplamı izin verebilirsiniz. Sonuç, çizginin eğimidir önyargı değerine teğettir.

    Bu denklemi, çizginin eğimi için -34, 3 elde ederiz.

  7. Elde etmek için negatif eğim yönünde küçük bir miktar hareket ettirin ve sapmayı gösterir. Şimdilik, rastgele diziyi temsil eden "küçük tutar" 0,01 olarak:
  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ı ve tekrarı hesaplamak için yeni ağırlığı ve ağırlıklandırmayı kullanın. Tamamlama aşağıdaki ağırlıkları, yanlılıkları ve ağırlıkları elde ederiz ve kayıplar:

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

Güncellenmiş her ağırlık ve ağırlıklandırmayla kaybın azaldığını görebilirsiniz. Bu örnekte, altı yinelemeden sonra durduk. Pratikte, modelin o tarihe kadar tren seferi var görüşmeler. Bir model yakınlaştığında ek iterasyonlar kaybı daha fazla azaltmaz çünkü gradyan iniş, neredeyse en aza indirmektir.

Model yakınsaklığı eğitmeye devam ederse kayıp model sürekli olarak güncelledikçe küçük miktarlarda dalgalanma parametrelerini en düşük değerlerine dönüştürün. Bu da ekip arkadaşlarınızın modelin gerçekten yakınlaştığını doğrular. Modeli onaylamak için toplamışsa, kaybedilene kadar eğitime devam etmek sabitlendi.

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

Bir modeli eğitirken genellikle modelin eğriyi görebilirsiniz. görüşmelerini sağlayın. Kayıp eğrisi, ve model eğitilirken kaybın nasıl değiştiğini konuşacağız. Aşağıdaki veriler, normal şartlarda nasıl göründüğüne bakalım. Kayıp y ekseninde, iterasyonlar ise x eksenindedir:

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

13. Şekil. Modelin çevresine yakınlaştığını gösteren kayıp eğrisi 1.000. yineleme işareti.

İlk birkaç iterasyonda kaybın önemli ölçüde azaldığını görebilirsiniz. ardından 1.000. yineleme civarında düzleşmeden önce kademeli olarak azalır işareti. 1.000 yinelemeden sonra modelin uzlaşılmıştır.

Aşağıdaki şekillerde, eğitim sırasında modeli üç noktada çiziyoruz. yani başlangıç, orta ve son. Modelin durumunu görselleştirme anlık görüntülere, güncelleme işlemi ile güncelleme arasındaki ağırlıkları ve sapmayı, kaybı azaltıp model yakınlaşmasını sağlar.

Şekillerde, belirli bir iterasyonda türetilen ağırlıkları ve yanlılığı kullanarak temsil eder. Veri noktalarının ve modelin anlık görüntüsünün bulunduğu grafikte modelden veri noktalarına kadar olan mavi kayıp çizgileri kayıp miktarını gösterir. İlgili içeriği oluşturmak için kullanılan uzadıkça kayıplar o kadar artar.

Aşağıdaki şekilde, ikinci iterasyon yani ikinci yinelemeden sonra modelin fazla kayıp olduğu için tahminde bulunmakta iyi olmayacaktır.

Şekil 14. Modelin, veri noktalarından uzaklaşan kayıp eğrisi ve karşılık gelen grafiği.

14. Şekil. Modelin başlangıcındaki kayıp eğrisi ve anlık görüntü sürecektir.

400. yineleme civarında, gradyan inişin daha iyi bir model oluşturan ağırlık ve önyargıları hesaba katar.

Şekil 15. Modelin, veri noktalarının arasından kesen ancak optimum açıda olmayan kayıp eğrisi ve karşılık gelen grafiği.

15. Şekil. Modelin eğitimin orta kısmına doğru kayıp eğrisi ve anlık görüntüsü.

1000. yinelemede modelin yakınlaştığını, mümkün olan en az kayıpla bir model üretmek.

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

16. Şekil. Eğitimin sonuna doğru modelin kayıp eğrisi ve anlık görüntüsü bahsedeceğim.

Alıştırma: Öğrendiklerinizi sınayın

Doğrusal regresyonda gradyan azalmanın rolü nedir?
Gradyan iniş, dönüşüm işlemi için en iyi değeri bulan yinelemeli bir süreçtir. ve önyargıları en aza indirmek için kullanılır.
Gradyan iniş, dönüşüm izlemeden önce kullanılacak kaybın türünü bir modeli eğitmek (örneğin, L1 veya L2).
Gradyan iniş, kayıp seçimine dahil değildir işlevini kullanmanız gerekir.
Gradyan iniş, modelin modele yardımcı olmak için veri kümesinden aykırı değerleri kaldırır daha iyi tahminlerde bulunmanıza olanak tanır.
Gradyan iniş, veri kümesini değiştirmez.

Bitiş ve dışbükey fonksiyonları

Doğrusal modeller için kayıp fonksiyonları her zaman dışbükey yüzey. Bunun sonucunda doğrusal regresyon modeli yakınlaştığında, modelin mevcut en düşük kaybı veren ağırlıkları ve yanlılığı saptadı.

Tek özelliğe sahip bir modelin kayıp yüzeyinin grafiğini çizersek, o modelin dışbükey şekli. Aşağıda, galon başına mil veri kümesi için kayıp yüzeyi gösterilmiştir örneklerde kullanılmıştır. Ağırlık x ekseninde, sapma y eksenindedir. 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ı en düşük kaybı sağlar 5,54'te:

Şekil 18. Altta (-5,44, 35,94, 5,54) olmak üzere kayıp yüzeyinin 3D grafiği.

18. Şekil. Üretilen ağırlık ve yanlılık değerlerini gösteren kayıp yüzeyi en düşük kayıptır.

Minimum kayıp bulunduğunda doğrusal bir model tümleşiktir. Bu nedenle, iterasyonlar yalnızca gradyan azalmaya neden olarak ağırlık ve yanlılık değerlerini minimuma yakın miktarlarda olmalıydı. Ağırlıkların ve yanlılık noktalarının grafiğini çizersek iniş sırasında noktalar tepeden aşağı yuvarlanan bir top gibi görünür, sonda aşağı doğru eğimin olmadığı bir noktada durur.

Şekil 19. Gradyan iniş noktalarının en düşük noktaya taşındığı dışbükey 3D kayıp yüzeyi.

19. Şekil. En düşük noktada duran gradyan iniş noktalarını gösteren kayıp grafiği nokta grafiğidir.

Siyah kayıp noktalarının, kayıp eğrisinin tam şeklini oluşturduğunu unutmayın: en düşük seviyeye ulaşana kadar kademeli olarak eğimlenmeden önce keskin bir düşüş noktasıdır.

Modelin, aynı reklamın bir değer bulmak üzere kullanır. Bunun yerine, ona çok yakın bir değer bulur. Ağırlıklar ve ağırlıklar için minimum değerin, maliyetinin sıfır kayba, yalnızca o değer için en düşük kaybı sağlayan bir değere parametresinden sonra bir değer girin.

En düşük kaybı sağlayan ağırlık ve yanlılık değerlerini kullanmak (bu örnekte) ağırlık -5,44 ve yanlılık değeri 35,94'tür. Yeni modelin, verilere o kadar uygun:

Şekil 20. Verilere uygun modelin yer aldığı, 1.000 saniye ile mil/galon karşılaştırmasını gösteren grafik.

Şekil 20. Grafikte, ağırlık ve yanlılık değerlerinin kullanıldığı model en düşük kayıptır.

Bu, başka bir ağırlık ve önyargıya sahip olmadığından bu veri kümesi için en iyi modeldir değeri daha düşük kayıplı bir model oluşturur.