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:
Mevcut ağırlık ve yanlılık ile kaybı hesaplayın.
Kaybı azaltan ağırlık ve yanlılığın hareket ettirileceği yönü belirleyin.
Ağırlık ve yanlılık değerlerini azaltan yönde az miktarda hareket ettirin kaybetmezsiniz.
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 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 |
- Model, ağırlığı ve yanlılığı sıfıra ayarlayarak eğitime başlar:
- Mevcut model parametreleriyle MSE kaybını hesaplayın:
- Her ağırlıktaki kayıp fonksiyonuna teğetin eğimini hesaplama ve önyargı:
- 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:
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.
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.
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:
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.
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.
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.
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
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. 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:
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.
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. 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.