Kayıp işleviniz çalışmayacaktır çünkü herhangi bir sonlu değere ve ila ayarını teşvik eder .θ1θ0−∞
Diyelim kalıntı için .r(x,y)=1m∑mi=1hθ(x(i))−ysh
Amacınız olabildiğince sıfıra yaklaştırmak , en aza indirgemek değil . Yüksek negatif bir değer, yüksek pozitif bir değer kadar kötüdür.r
EDIT: Bunu, yapay olarak parametre alanını yapay olarak sınırlandırarak (örn. istediğiniz ). Bu durumda, optimum parametreler, parametre alanının sınırındaki belirli noktalara dayanır. Bkz. Https://math.stackexchange.com/q/896388/12467 . İstediğin bu değil.Θ|θ0|<10
Neden kare kaybını kullanıyoruz
Kare hata ve yi eşleşmeye zorlar . Mümkünse en aza indirgenir ve her zaman , çünkü bu gerçek sayısının bir karesidir .h(x)yu=v≥0u−v
|u−v| bazı olumlu tamsayılarla , gibi yukarıdaki amaç için de çalışacaktır . Bunlardan ilki aslında kullanılır (buna ' kaybı denir ; kare hatası için başka bir ad olan kaybıyla da karşılaşabilirsiniz ).(u−v)2nnℓ1ℓ2
Peki neden kare kaybı bunlardan daha iyi? Bu, Frequentist ve Bayesian çıkarımı arasındaki bağlantıyla ilgili derin bir sorudur . Kısacası, kare hatası Gauss Gürültüsüyle ilgilidir .
Verileriniz tüm noktalara tam olarak uymuyorsa, yani, , seçtiğiniz ne olursa olsun (pratikte her zaman olduğu gibi) bir nokta için sıfır değildir , bu gürültüden kaynaklanıyor olabilir . Herhangi bir karmaşık sistemde , modeliniz ile realite arasındaki farkın birçok küçük bağımsız nedeni olacaktır : ölçüm hatası, çevresel faktörler vb. Merkezi Limit Teoremi (CLT) ile, toplam gürültü Normal olarak , yani Gauss dağılımı . En uygun seçmek istiyoruzh(x)−yθ h yθbu gürültü dağılımını dikkate alarak. Varsayalım ki, , modelinizin açıklayamadığı nin parçası , Gauss dağılımını izler . Büyük harf kullanıyoruz çünkü şimdi rastgele değişkenlerden bahsediyoruz.R=h(X)−YyN(μ,σ)
Gauss dağılımının iki parametresi vardır, ortalama ve varyans . Bu terimleri daha iyi anlamak için buraya bakın .μ=E[R]=1m∑ihθ(X(i))−Y(i))σ2=E[R2]=1m∑i(hθ(X(i))−Y(i)))2
Düşünün , öyle sistematik hata bizim ölçümlerin. Kullanım , sistematik hata düzeltilmesi için ve böylece (okuyucu için egzersiz). Burada yapacak başka bir şey yok.μh′(x)=h(x)−μμ′=E[R′]=0
σ , gürültü de denilen rastgele hatayı temsil eder . Sistematik gürültü bileşenini bir önceki noktada olduğu gibi hallettikten sonra, en iyi tahmin simge küçültülmüş. Başka bir deyişle, en iyi tahmin tahmin edilen değerin etrafındaki en dar dağılımlı (en küçük varyans), yani en küçük varyanstır. En küçük kare kaybını en aza indirmek, varyansı en aza indirmekle aynı şeydir! Bu, en küçük kare kaybın neden çok çeşitli problemler için işe yaradığını açıklar. Altta yatan gürültü CLT nedeniyle çok sık Gauss'tur ve kare hatasını en aza indirgemek doğru olur.σ2=1m∑i(hθ(X(i))−Y(i)))2 yapılacak şey!
Aynı anda dikkate ortalama ve varyansını hem çekmek için, biz dahil önyargı bizim sınıflandırıcı terimini (sistematik hatayı işlemek için ), sonra kare kaybını en aza indirmek.μ
Takip soruları:
En küçük kareler kaybı = Gauss hatası. Diğer her kayıp işlevi de bir miktar gürültü dağılımına karşılık geliyor mu? Evet. Örneğin, kaybı (kare hata yerine mutlak değeri en aza indirgemek) Laplace dağılımına karşılık gelir ( PDF formülüne bakın - bu sadece yerine ). Olasılık dağılımları için popüler bir kayıp, KL ayrışmasıdır . -Gauss dağılımı, Merkezi Limit Teoremi nedeniyle çok iyi motive olmuş durumda.ℓ1|x−μ|(x−μ)2daha önce tartıştık. Laplace dağılımı ne zaman doğru gürültü modelidir? Orada bu konuda doğal geliyor bazı durumlar vardır, ama bir regularizer gibi daha yaygın olduğunu uygulamak için kıtlık : kayıptır dışbükey az bütün dışbükey kayıpları arasında.ℓ1
- As Oca yorumlardaki bahisler arasında asgarileştirir kare sapmaların ortalaması olan ve toplamı asgarileştirir mutlak sapma olduğunu medyan . Niçin artıkların ortalamasını bulmak yerine medyanı bulmak isteyelim? Ortalamanın aksine, medyan çok büyük bir avcı tarafından atılmaz. Yani, kaybı artan sağlamlık için kullanılır. Bazen ikisinin bir kombinasyonu kullanılır.ℓ1
Ortalama ve Varyansı minimize ettiğimiz durumlar var mı? Evet. Önyargı Varyans Ticareti'ne bakın . Burada, sınıflandırıcı kümesine bakıyoruz ve hangisinin en iyisi olduğunu soruyoruz. Bir problem için hangi sınıflayıcı grubunun en iyisi olduğunu sorarsak, hem önyargıyı hem de varyansı azaltmak önemlidir. Anlaşılan aralarında bir denge olduğu ortaya çıkıyor ve bir uzlaşma sağlamak için düzenlileşmeyi kullanıyoruz .hθ∈H
İlgili terimi12
1/2 önemli değil ve aslında, ne de - ikisi de sabittir. Her iki durumda da en uygun değeri aynı kalır.mθ
Degrade için ifade ile daha da güzelleşir , çünkü kare terimden 2 tanesi iptal olur.12
- Kod veya algoritmalar yazarken, genellikle gradyanla daha fazla ilgileniriz, bu yüzden kısa ve özlü olmasını sağlar. İlerlemeyi sadece degradenin normunu kontrol ederek kontrol edebilirsiniz. Kayıp işlevinin kendisi bazen koddan çıkarılır, çünkü yalnızca son cevabın doğrulanması için kullanılır.
sen degrade iniş ile bu sorunu çözmek durumunda kullanışlıdır. Ardından degradeniz toplam yerine terimlerinin ortalaması olur , böylece daha fazla veri noktası eklediğinizde 'ölçeği değişmez.mm
- Daha önce bu problemle karşılaştım: Kodu az sayıda puanla test ediyorum ve iyi çalışıyor, ancak tüm veri setiyle test ettiğinizde hassasiyet kaybı ve bazen aşırı / düşük akışlar var, yani gradyanınız
nan
veya inf
. Bunu önlemek için, sadece wrt sayıdaki veri noktalarını normalleştirin.
Bu estetik kararlar burada düzenlileştirme terimlerini ekleyeceğiniz gelecekteki denklemlerle tutarlılığı korumak için kullanılır . Eğer eklerseniz düzenlileştirmeye parametresi veri kümesi boyutu bağlı olmayacaktır ve sorunların genelinde daha yorumlanabilir olacaktır.mλm