Bir sinir ağı tahmininin güvenini nasıl belirleyebilirim?


22

Sorumu açıklamak için, girişin bir dereceye kadar gürültüye sahip olduğu ancak çıkışın olmadığı bir eğitim setim olduğunu varsayalım;

# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]

Burada çıktı, eğer girişsiz ise (gerçek degrade değil) giriş dizisinin gradyanıdır.

Ağı eğitdikten sonra, verilen bir giriş için çıktı bunun gibi görünmelidir.

# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]

Sorum şu, bir sinir ağı nasıl tahmin edilebilir bir değer ve varyans ya da güven aralığı gibi bir güven ölçüsü getirecek şekilde yaratılabilir?


3
Gelecekteki bir gerçekleştirmeyi içerecek bir aralık arıyorsanız , gözlemlenemeyen parametrelerle ilgili olan bir güven aralığı değil, bir tahmin aralığı arıyorsunuz . Bu genellikle karıştı.
S. Kolassa - Monica

Yanıtlar:


20

Bir , yani önceden belirlenmiş bir gelecekteki gerçekleşmeler yüzdesini içeren bir aralık gibi görünüyor. ( ve fark için için wikis etiketine bakın .)

En iyi bahsinizin, doğrudan tek nokta tahminleri çıkaran değil, tüm tahmin dağılımlarının tamamını veren NN mimarileriyle doğrudan çalışması muhtemeldir . Ardından doğrudan bu tahmin dağılımlarını (veya ortalama veya medyan nokta tahminlerini) bu dağılımlardan çıkarabilirsiniz. Ben ve diğerleri , öngörücü dağılımların nokta tahminlerinden çok daha faydalı olduğunu savundum , ama dürüst olmak gerekirse, gözlerimi açık tutmama rağmen, sinir ağları ile yapılan öngörülü dağılımlar konusunda çok fazla çalışma görmedim. Bu makale faydalı olabilir gibi geliyor. Belki biraz da "tahmin dağılımları" veya "öngörücü yoğunluklar" gibi diğer anahtar kelimeleri kullanarak da arama yapmak isteyebilirsiniz.

Bununla birlikte, öngörücü yoğunlukları tahmin etmek için bir Bayesian yaklaşımı kullanan Michael Feindt'in NeuroBayes algoritmasına bakmak isteyebilirsiniz .


1
Bu, başka bir faydalı makale olabilir - dağıtımları öğrenen bir sinir ağı: google.com/…
Pro Q

@Stephan: Bağlantı vefat etti: (
Matthew Drury

@MatthewDrury: hangi bağlantıyı kastediyorsunuz? Üçü de benim için iyi çalışıyor.
S. Kolassa - Monica'yı

Bizi NN Tahmini Dağılımlarıyla basit bir Ternsorflow demosuna / örneğine götürebilir misiniz?
Martin Thøgersen

@ MartinThøgersen: üzgünüm, hayır, Tensorflow kullanmıyorum ...
S. Kolassa - Monica

5

Tek bir tahmin için bir güven aralığı hesaplayabileceğinizden emin değilim, ancak tüm veri kümesinin hata oranı için gerçekten bir güven aralığı hesaplayabilirsiniz (doğruluk ve değerlendirdiğiniz diğer ölçütler için genelleştirebilirsiniz).

Eğer bazı verileri sınıflandırarak ederken hata oranı S boyutu n , sizin hata oranı için% 95 güven aralığı ile verilir: e ± 1.96 eSn .

e±1.96e(1-e)n

(bkz. Tom Mitchell, "Makine Öğrenmesi" kitabı, 5. bölüm).

DÜZENLE

Sanırım daha genel bir durum belirtmeliyim ki bu: zN için genel seçimleraşağıdaki tabloda listelenmiştir:

e±zN-e(1-e)n,
zN-
confidence level    80%    90%    95%    98%    99%
values of zN       1.28   1.64   1.96   2.33   2.58

1
Bu, asimptotik dağılımın normal olmasını gerektirir
user2879934

4
Büyük örneklem büyüklükleri için (ki bu ML'de oldukça yaygındır) genellikle güvenlidir. Oy vermemeye gerek yoktu, sadece açıklama isteyin, ama evet.
mp85

4

Parametrik olmayan regresyon ve sinir ağları, SVM'ler, rastgele ormanlar vb. Gibi sınıflandırma problemlerinde tahmin aralıklarını (PI) oluşturmak zordur. Bu konuda başka görüşler duymak isterim.

Bununla birlikte, bildiğim kadarıyla, Konformal Tahmin (CP) parametrik olmayan regresyon ve sınıflandırma problemlerinde tahmin için kalibre edilmiş PI oluşturmak için tek prensipli yöntemdir. CP hakkında bir eğitim için bkz. Shfer & Vovk (2008), J. Machine Learning Research 9 , 371-421 [pdf]


3

Bunu tam olarak yapmak için hiçbir yöntem bilmiyorum.

μσ(xben,yben)-günlükN-(yben-μ(xben),σ(xben))μ(xben)ybenσ(xben)

Doğrulama verileri için varsayımlarınızın ne kadar iyi olduğunu kontrol etmek için, ye bakmak isteyebilirsiniz.yben-μ(xben)σ(xben)N-(0,1)


1
σ+

Kütle olasılığıyla ilgili olarak eğitilmiş, bir dağıtımın parametrelerini çıkarmak için bir NN kullandığını gördüğü herhangi bir somut örnek var mı?
Bayan Palmer,

3

Bir sinir ağı tahmini için güven aralığı veren herhangi bir yöntem duymadım. Resmi bir metodolojinin olmamasına rağmen, bir tane inşa etmek mümkün gibi görünüyor. Buna ihtiyaç duyulacak olan hesaplama gücü nedeniyle hiçbir zaman denemedim ve bu konuda belirli bir çalışma için hiçbir iddiada bulunmadım, ancak küçük bir sinir ağında (ya da yanan hızlı GPU gücünde, orta büyüklükteki ağlar için işe yarayabilecek bir yöntem) ) eğitim setini yeniden örneklemek ve aynı parametreler ve başlangıç ​​ayarları ile benzer ağlar (örneğin, 10.000 kez) oluşturmak ve önyükleme ağınızın her biri için öngörülere dayalı güven aralıkları oluşturmak olacaktır.

Örneğin, yukarıda tartışıldığı gibi eğitilmiş 10.000 ağda, biri 2.0 (nöral net regresyon tahminlerini yuvarladıktan sonra) bu zamanların 9.000'ini alabilir, böylece% 90'lık bir CI ile 2.0'ı tahmin edersiniz. Daha sonra yapılan her tahmin için bir CI dizisi oluşturabilir ve birincil CI olarak rapor edilecek modu seçebilirsiniz.


2
Bu önerinin neden biraz sıradışı bir şekilde önyükleme yaptığı için aşağı çekildiğini merak ediyorum (sorunun yuvarlama bileşeni sinir ağının tahmin konusunda ne kadar emin olduğunu kontrol etmeyi kolaylaştırıyor). Aşağıya oy veren her kimse, bunun önerilen soruna neden geçerli bir çözüm olmadığını açıklayabilirse, aşağı oyu aslında umursamıyorum. Kendimi öğreniyorum ve geribildirimi takdir ediyorum!
Tony S

1
Oy vermedim, ancak önerilen yöntemin anladığım kadarıyla, modelin öngörülen değerlerini yakalayan aralıklarla çıktı verebilir, bu gerçek değerleri yakalayan aralıklarla aynı değildir.
Bayan Palmer,

3

Doğrudan tahmin aralıkları çıkışı açısından, bir 2011 Gazetenin var ' Sinir Kapsamlı Yorum Ağı Tabanlı Tahmin Aralıkları '

Dört yaklaşımı karşılaştırırlar:

1: Delta yöntemi 2: Bayesian yöntemi 3: Ortalama varyans tahmini 4: Bootstrap

Aynı yazarlar , NN'den doğrudan bir alt ve üst sınır çıkaran Nöral Şebeke Bazlı Tahmini Aralıkları İnşa Etmek için Alt Üst Sınır Tahmini Metodu geliştirmeye devam etti . Maalesef backprop ile çalışmıyor, ancak yakın zamanda yapılan çalışmalar bunu Derin Öğrenme için Yüksek Kalite Tahmin Aralıkları ile mümkün kıldı .

Doğrudan çıktı tahmin aralıklarına alternatif olarak, Bayesian sinir ağları (BNN'ler), bir NN'nin parametrelerinde belirsizliği modellemektedir ve bu nedenle çıktıdaki belirsizliği yakalamaktadır. Bu yapmak zor, ama popüler yöntemler çalıştıran dahil MC terk, tahmin anda veya asamblesi .


1
Bayesian Derin Öğrenme ile yapmak aslında oldukça kolaydır. Bakınız edwardlib.org/tutorials/bayesian-neural-network
DeltaIV

2

Aslında bunu bırakma kullanarak yapmanın yolları var. Değerlendirmeyi bırakma etkin durumdayken çalıştırın (genellikle değerlendirme için devre dışı bırakılır ancak eğitim sırasında açılır) ve değerlendirmeyi birkaç kez çalıştırın.

Farklı çalışmalardan elde edilen sonuç dağılımı, güven aralığı olarak kullanılabilir.

" Bayes Yaklaşımı Olarak Bırakma: Derin Öğrenmede Model Belirsizliği Temsil Etme " başlıklı makaleye bakın. Youtube sunumunu izleyin Andrew Rowan - Edward'la Bayesian Derin Öğrenme (ve Bırakma kullanarak bir numara)


1

Hiçbir yolu yoktur, tüm ML modelleri fenomen anlayışıyla ilgili değildir, “işe yaradığını” umuduyla enterpolasyon yöntemleridir. Bu tür sorular güvenle başlarken, gürültüye sağlamlıkta cevap yoktur.

Bu yüzden bir şey türetmek için lütfen çeşitli uygulamalı ve temel bilimi kullanın:

  • Kontrolü kullanın (ve dinamikleri hakkında varsayım yapın)

  • Dışbükey optimizasyon kullanın (işlev üzerinde bazı ekstra koşullar ile)

  • Matematik istatistiklerini kullanın (dağıtımlara ilişkin ön varsayımlarla)

  • Sinyal işleme kullanın (sinyalin bant sınırlı olduğu bazı varsayımlarla)

Bilim insanı bir şey türetmek için bazı ön varsayımları (aksiyom denir) kullanır.

Bazı ön varsayımlar olmadan güven vermenin bir yolu yoktur, DL mehtod'a değil de sorun var, ancak herhangi bir ön varsayım olmadan enterpolasyon yapmaya çalışan herhangi bir yöntemde sorun var - herhangi bir varsayımda bulunmadan cebirsel bir şeyi bir varsayım olmadan türetmek mümkün değil.

NN ve çeşitli ML yöntemleri, çapraz onaylama ile kontrol edilen "bir şekilde" işe yarayan görünen "bir şeyler" oluşturmak için hızlı prototipleme içindir.

Daha da derine giren E [Y | X] ya da tahminine uygun regresyonun çözülmesi kesinlikle yanlış olabilir (Y = E [Y | X] noktasındaki pdf değeri en az değil, en fazla değil) ve bu kadar çok ince eşyalar.

Ayrıca AI / ML’de çözülemeyen iki sorunu hatırlatmama izin verin, bu da bazı nedenlerden dolayı unutulabilir, güzellik sloganlarının arkasında:

(1) Bu enterpolasyon yöntemleridir, dış değer bulma değil - yeni sorunlarla başa çıkma yeteneği yoktur.

(2) hiç kimse hiçbir modelin aynı dağılıma ait olmayan veriler üzerinde nasıl davranacağını bilmiyor (yayaların yerelleştirilmesi için muz kostümlü adam)


Çıkarım için yapılan hatayı "tahmin" olarak ayarlanmış eğitim verilerinden modellenmeye ne dersiniz?
Jacko

Hatta "predict_for_mean" + "predict_for_error" katkı maddesi olduğunu varsayalım. Herhangi bir şemayı, sinyali ve hatayı ayrı ayrı tahmin etmek için hayal edebilirsiniz. Ama bir kez daha - eğer sadece "enterpolasyon yaparsak" güvenle bir şey söyleyemeyiz. Yüzeydeki sıcaklığı tahmin ediyoruz. Evet, bu benim "20" tahminimi ve hata için tahminimi "5" diyebilirsin. Dolayısıyla, gerçek cevabın [20-5, 20 + 5] 'de yattığını söylüyor, ancak bunun ne anlama geldiğini gerçekten anlamak için, gerçek fenomenleri ve matematiksel modeli anlamamız gerekiyor. ML ise ikisiyle de ilgili değil. Diğer alanlar bazı ön varsayımlarda bulunur.
bruziuz

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.