Yüzey Konveksinde Hata Nedir? Kovarinace Matrisi veya Hessian tarafından mı belirlenir?


17

Şu anda regresyon için en küçük kareler (ve diğer) tahminlerini ve bazı uyarlanabilir algoritma literatürlerinde okuduğum şeylerden, genellikle "... ve hata yüzeyi dışbükey olduğundan ..." neden dışbükey olduğu ile ilgili herhangi bir derinlik nerede bulunamaz.

... Peki onu tam olarak dışbükey yapan nedir?

Bu tekrarlanan ihmali biraz can sıkıcı buluyorum çünkü kendi uyarlama algoritmalarımı kendi maliyet fonksiyonlarımla tasarlayabiliyorum, ancak maliyet fonksiyonumun dışbükey hata yüzeyi verip vermediğini söyleyemezsem, yapamayacağım Degrade iniş gibi bir şey uygulamak için çok ileri git çünkü küresel bir minimum olmayacak. Belki yaratıcı olmak istiyorum - örneğin hata ölçütlerim olarak en küçük kareleri kullanmak istemiyorum.

Daha derine inerek (ve sorularım burada başlar), dışbükey bir hata yüzeyine sahip olup olmadığınızı söyleyebilmek için, Hessian matrisinizin pozitif yarı tanımlı olduğundan emin olmanız gerektiğini buldum . Simetrik matrisler için, bu test basittir - sadece Hessen matrisinin tüm öz değerlerinin negatif olmadığından emin olun. (Matrisiniz simetrik değilse, Gramian sayesinde kendi transpozisyonuna ekleyerek ve aynı özdeğer testini yaparak simetrik yapabilirsiniz , ancak burada önemli değildir).

Hessian matrisi nedir? Hessian matrisi, maliyet fonksiyonunuzun tüm kısmi kombinasyonlarını kodlar. Kaç tane kısmi var? Özellik vektörünüzdeki özellik sayısı kadar. Kısmi nasıl hesaplanır? Kısmi türevleri orijinal maliyet fonksiyonundan 'elle' alın.

Yani tam olarak bunu yaptım: matrisi ile gösterilen bir x veri matrisine sahip olduğumuzu varsayarım , burada örnek sayısını ve n örnek başına özellik sayısını belirtir. (kısmi sayı da olacaktır). Sanırım sensörlerden m zaman numunemiz ve n uzamsal numunemiz olduğunu söyleyebiliriz , ancak fiziksel uygulama burada çok önemli değil.mnXmnmn

Ayrıca, m x 1 boyutunda bir y vektörümüz var . (Bu sizin 'etiket' vektörünüz veya X'in her satırına karşılık gelen 'cevabınız' ). Basit olması için, bu örnek için m = n = 2 olduğunu varsaydım . Yani 2 'örnek' ve 2 'özellik'.ym1Xm=n=2

Şimdi, burada en uygun 'çizgiyi' veya polinomu belirlemek istediğinizi varsayalım. Yani, girdi veri özelliklerinizi , maliyet fonksiyonunuz şöyle olacak şekilde polinom ortak verimli vektörünüz \ boldsymbol {\ theta} 'na yansıtırsınızθ :

J(θ)=12mi=1m[θ0x0[i]+θ1x1[i]y[i]]2

Şimdi ilk kısmi türevi wrt , (özellik 0) :θ0

δJ(θ)δθ0=1mi=1m[θ0x0[i]+θ1x1[i]y[i]]x0[i]

δJ(θ)δθ0=1mi=1m[θ0x02[i]+θ1x1[i]x0[i]y[i]x0[i]]

Şimdi tüm ikinci bölümleri hesaplayalım, yani:

δ2J(θ)δθ02=1mi=1mx02[i]

δ2J(θ)δθ0θ1=1mi=1mx0[i]x1[i]

δ2J(θ)δθ1θ0=1mi=1mx1[i]x0[i]

δ2J(θ)δθ12=1mi=1mx12[i]

Hessian'ın aşağıdakilerden başka bir şey olmadığını biliyoruz:

H(J(θ))=[δ2J(θ)δθ02δ2J(θ)δθ0θ1δ2J(θ)δθ1θ0δ2J(θ)δθ12]

H(J(θ))=[1mi=1mx02[i]1mi=1mx0[i]x1[i]1mi=1mx1[i]x0[i]1mi=1mx12[i]]

Şimdi, veri matrisini nasıl oluşturduğuma bağlı olarak , ('özelliklerim' sütunlara göre ve örneklerim satırlara göre gidiyor), Hessian şöyle görünüyor :X

H(J(θ))=XTX=Σ

... örnek kovaryans matrisinden başka bir şey değil !

Bu yüzden nasıl yorumlanacağından tam olarak emin değilim - ya da söylemeliyim ki, burada ne kadar genellemem gerektiğinden tam olarak emin değilim. Ama bence şunu söyleyebilirim:

  • Herzaman doğru:

    • Hessian matrisi her zaman hata / maliyet yüzeyinizin dışbükey olup olmadığını kontrol eder.
    • Hessian matrisiniz pos-semi-def ise, dışbükeysiniz (ve en uygun çözümü bulmak için degrade iniş gibi algoritmaları kullanabilirsiniz).
  • Yalnızca LSE için geçerlidir:

    • LSE maliyet kriteri için Hessian matrisi, orijinal kovaryans matrisinden başka bir şey değildir. (!).
    • Benim için bu, LSE ölçütünü kullanırsam, verilerin kendisinin dışbükey bir yüzeye sahip olup olmadığımı belirlediği anlamına gelir ? ... Bu da hangi kovaryans matrisimin özvektörlerinin bir şekilde maliyet yüzeyini 'şekillendirme' yeteneğine sahip olduğu anlamına gelir? Bu her zaman doğru mu? Yoksa sadece LSE kriterleri için mi işe yaradı? Bir hata yüzeyinin dışbükeyliğinin verilere bağlı olması sadece benimle doğru oturmuyor.

Öyleyse, onu orijinal soru bağlamına sokmak gerekirse, bir hata yüzey açıklığının (seçtiğiniz bazı maliyet fonksiyonlarına dayanarak) dışbükey olup olmadığını nasıl belirler? Bu belirleme verilere mi dayanıyor yoksa Hessian mı?

Teşekkürler

TLDR: Maliyet fonksiyonumun ve / veya veri setimin dışbükey veya dışbükey olmayan bir hata yüzeyi sağlayıp sağlamadığını nasıl, tam ve pratik olarak anlatabilirim ?

Yanıtlar:


7

Tek boyutlu doğrusal-en küçük kareleri düşünebilirsiniz. Maliyet fonksiyonu gibi şeydir . İlk türev (Jacobian) , dolayısıyla . İkinci türev (Hessian) - bir sabittir.bir22birbir2

İkinci türev pozitif olduğundan, dışbükey maliyet fonksiyonu ile uğraşıyorsunuz. Bu, çok değişkenli analizde pozitif tanımlanmış Hessian matrisine eşdeğerdir.

Sadece iki değişkenle ( , ) , bu nedenle Hessian özellikle basittir.θ1θ2

Bununla birlikte, pratikte, genellikle birçok değişken söz konusudur, bu nedenle Hessian'ı inşa etmek ve incelemek pratik değildir.

Daha etkili bir yöntem, en küçük kareler probleminde doğrudan Jacobian matrisi üzerinde çalışmaktır :J

Jx=b

J sıralamada eksik, tekil veya tekil olabilir. Bu gibi durumlarda, maliyet fonksiyonunun kuadratik yüzeyi neredeyse düzdür ve / veya bir yönde çılgınca gerilir. Matrisinizin teorik olarak çözülebilir olduğunu, ancak çözümün sayısal olarak kararsız olduğunu da bulabilirsiniz. Bu gibi durumlarla başa çıkmak için bir önkoşullama yöntemi kullanılabilir.

Bazı algoritmalar basit bir çalıştırmak Cholesky ayrışma ait . Algoritma başarısız olursa, bu tekil (veya koşulsuz) olduğu anlamına gelir .JJ

Sayısal olarak daha kararlı, ancak daha pahalı bir QR ayrışmasıdır , bu da sadece düzenli olduğunda mevcuttur.J

Son olarak, en son teknoloji yöntemi, en pahalı olan, her matris üzerinde yapılabilen, sayısal sırasını ortaya çıkaran ve sıra eksikliği durumlarını ayrı ayrı ele almanızı sağlayan Tekil Değer Ayrıştırmadır (SVD) .J

Bu konuları ayrıntılı olarak kapsayan doğrusal ve doğrusal olmayan en küçük kareler çözümleri hakkında bir makale yazdım:

Math.NET ile Doğrusal ve Doğrusal Olmayan En Küçük Kareler

En küçük kareler (parametreler / veri noktalarında kovaryans, ön koşullandırma, ölçeklendirme, dikey uzaklık regresyonu - toplam en küçük kareler, en küçük kareler tahmincisinin kesinliğini ve doğruluğunu belirleme vb.) ).

Açık kaynak olan makale için örnek bir proje yaptım:

LeastSquaresDemo - ikili

LeastSquaresDemo - kaynak (C #)


Teşekkürler Libor: 1) Teğet ama, choleskey bir matris kare kökü gibi görünüyor, değil mi? 2) Hessian'ın hata yüzeyinin her noktasında dışbükeylikten nasıl bahsettiğine dair fikrinizi anladığımdan emin değilim - genel olarak mı söylüyorsunuz? Çünkü yukarıdaki LSE türevinden Hessian parametrelerine ve sadece verilere bağlı değildir. Belki genel olarak mı demek istediniz? 3) Son olarak, bir hata yüzeyinin dışbükey olup olmadığını nasıl belirleyebilirim - sadece Hessian'ın SPD olduğundan emin olun? Ama bunun bağlı olabileceğinden bahsettiniz ... peki nasıl emin olabilirsiniz? Teşekkürler! θθ
Spacey

2) Evet genel olarak demek istiyorum. Doğrusal en küçük karelerde, tüm hata yüzeyi sabit Hessian'a sahiptir. İkinci dereceden ikinci dereceden derviatif almak sabittir, aynı şey Hessian için de geçerlidir. 3) Bu, veri matrisinizin koşullandırılmasına bağlıdır. Hessian spd ise, tek bir kapalı çözüm vardır ve hata yüzeyi her yöne dışbükeydir. Aksi takdirde, veri matrisi koşulsuz veya tekildir. Hessian'ı daha önce veri matrisinin tekil değerlerini incelemek veya Cholesky ayrışması olup olmadığını kontrol etmek için hiç kullanmadım. Her iki yol da size bir çözüm olup olmadığını söyleyecektir.
Libor

Libor - 1) Yapabiliyorsanız, lütfen veri matrisinin SVD'sini nasıl kullandığınızı veya tek bir kapalı çözümünüz olup olmadığını kontrol etmek için Choleskey ayrışmasını nasıl kullandığınızı ekleyin, çok yararlı görünüyorlar ve iyi bir nokta ve Bunları nasıl kullanacağımı öğrenmek isterdim. 2) Son şey, sadece sizi Hessian hakkında anladığımdan emin olmak için: Yani Hessian genel olarak ve / veya bir fonksiyonudur . SPD ise, dışbükey bir yüzeye sahibiz. ( Ancak içinde varsa, göründüğü her yerde değerlendirmek zorunda kalacağız). Tekrar teşekkürler. XθXθ
Spacey

Muhammed: 1) Yanıtı yeniden yazdım ve en küçük Kareler hakkındaki makaleme bağlantılar ekledim (bazı hatalar olabilir, henüz resmi olarak yayınlamamıştım). Umarım sorunu daha derinlemesine anlamanıza yardımcı olur ... 2) Doğrusal-en küçük karelerde Hessian sabittir ve sadece veri noktalarına bağlıdır. Genel olarak, model parametrelerine de bağlıdır, ancak bu sadece doğrusal olmayan en küçük kareler için geçerlidir.
Libor
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.