Makine öğreniminde güven aralığının derinlemesine analizi (kodla)

Yazar: Jason Brownlee

Çeviri: He Zhonghua

Redaksiyon: Ding Nanya

Bu makale hakkında 4000 Word, önerilen okuma 15 dakika.

Bu makale, güven aralığı kavramını ve güven aralığı ile önyükleme güven aralığının nasıl hesaplanacağını açıklamaktadır.

Makine öğreniminin genellikle bir algoritmanın bilinmeyen veriler üzerindeki performansını tahmin etmesi gerekir.

Güven aralığı, kantitatif bir tahmin belirsizliği yöntemidir.Bir popülasyon parametresine bir limit veya olasılık eklemek için kullanılabilirler (örneğin, popülasyondaki bağımsız bir gözlem örneğinden tahmin edilen ortalama).

Bu eğitimde, güven aralıklarını ve bunları pratikte nasıl hesaplayacağınızı öğreneceksiniz.

Bu öğreticiyi tamamladıktan sonra şunları anlayacaksınız:

  • Güven aralığı, genel parametre tahmini için bir sınırdır
  • Sınıflandırma yönteminin tahmini kabiliyetinin güven aralığını doğrudan hesaplayabiliriz
  • Herhangi bir genel istatistiğin güven aralığı, dağıtımsız bir yöntemde (dağıtımsız) önyükleme kullanılarak tahmin edilebilir.

başlayalım.

Eğiticiye genel bakış

Bu eğitim 3 bölüme ayrılmıştır:

  • Güven aralığı nedir
  • Sınıflandırma doğruluğu için güven aralığı (doğruluk)
  • Parametrik olmayan güven aralığı

Güven aralığı nedir

Güven aralığı, genel değişken tahmininin sınırıdır, tahminin belirsizliğini ölçmek için kullanılan bir aralık istatistiğidir.

Güven aralığı, dağılımdan örneklenen verilerin sınırlarını tanımlayan tolerans aralığından farklıdır. Ayrıca tek bir gözlemin sınırını tanımlayan tahmin aralığından da farklıdır. Aksine, ortalama, standart sapma, vb. Gibi genel parametreler için, güven aralığı bir sınır sağlar.

Uygulamalı makine öğreniminde, tahmine dayalı bir modelin yeteneklerini gösterirken güven aralıklarını kullanmak isteyebiliriz.

Örneğin, aşağıdaki gibi tanımlanabilecek olan sınıflandırma modelinin performansını göstermek için güven aralığı kullanılabilir: Bir örneklem verildiğinde, x ila y aralığının gerçek model doğruluğunu kapsaması olasılığı% 95'tir. Veya% 95 güven düzeyinde, model doğruluğu x +/- y'dir.

Güven aralığı, regresyon tahmin modellerinde hataları sunmak için de kullanılabilir, örneğin, x ila y aralığı, modelin gerçek hatasını örtme olasılığının% 95'idir. Veya% 95 güven seviyesinde model hatası x +/- y'dir.

Güven aralıklarını görüntülerken% 95 güven düzeyinin seçilmesi çok yaygındır, ancak% 90 ve% 99,7 gibi diğer daha az yaygın değerler de kullanılır. Pratikte istediğiniz herhangi bir değeri kullanabilirsiniz.

% 95 güven aralığı (CI), verilerimize dayalı olarak hesaplanan bir değer aralığıdır ve muhtemelen nüfus tahminimizin gerçek değerini içerir.

--- Sayfa 4, Yeni İstatistiklere Giriş: Tahmin, Açık Bilim ve Ötesi, 2016.

Güven aralığının değeri, tahminin belirsizliğini ölçebilme yeteneğinde yatmaktadır. Alt ve üst limit ve imkan sağlar. Ayrı bir yarıçap ölçümü olarak, güven aralığı genellikle hata aralığı olarak adlandırılır ve tahminin belirsizliği bir hata haritası kullanılarak grafiksel olarak temsil edilebilir.

Genel olarak, tahminin elde edildiği örnek ne kadar büyükse, tahmin o kadar doğru ve güven aralığı o kadar küçük (daha iyi).

  • Daha küçük güven aralığı: daha doğru tahmin
  • Daha geniş güven aralıkları: daha az kesin tahminler

CI'nin tahminin doğruluğunu ortaya çıkardığı ve hata aralığının da doğruluk ölçüsü olduğu söylenebilir. Kısa bir CI, nispeten doğru bir tahmine sahip olduğumuzu belirten küçük bir hata aralığı anlamına gelir; uzun bir CI, büyük bir hata aralığı anlamına gelir ve doğruluğumuzun düşük olduğunu gösterir.

--- sayfa 4, Yeni İstatistiklere Giriş: Tahmin, Açık Bilim ve Ötesi, 2016

Güven aralığı, tahmin istatistikleri adı verilen istatistik alanına aittir Tahmin istatistikleri, deneysel sonuçları ifade etmek ve yorumlamak için kullanılır ve istatistiksel anlamlılık testlerinin yerini alabilir veya tamamlayıcı nitelikte olabilir.

Tahminler, sonuçları analiz etmek ve yorumlamak için daha bilgilendirici bir yol sağlar. Bir etkinin büyüklüğünü ve kesinliğini anlamak ve üzerinde düşünmek, hiçbir etki olmadığını varsaymaktan ve ardından aşırı verileri gözlemleme olasılığını göz önünde bulundurmaktan ziyade nicel bilim için daha kullanışlıdır.

--- Tahmin İstatistikleri Önem testinin yerini almalıdır, 2016

Uygulamada, güven aralıkları istatistiksel anlamlılık testlerinden daha fazla tercih edilebilir.

Bunun nedeni, uygulayıcıların ve paydaşların belirli alanlarla doğrudan ilişki kurmalarını kolaylaştırmalarıdır. Ayrıca makine öğrenimi modellerini karşılaştırmak için yorumlanabilir ve kullanılabilirler.

Bu belirsizlik tahminleri iki şekilde faydalıdır. İlk olarak, aralık, modelin kullanıcısının modelin kalitesini anlamasını sağlar. Bu şekilde, farklı modeller karşılaştırılırken kanıtların ağırlığını ölçmek için güven aralığı kullanılabilir. Güven aralıklarının ikinci yararı, modeller arasındaki değiş tokuşu kolaylaştırmaktır. İki modelin güven aralıkları önemli ölçüde örtüşüyorsa, bu ikisi arasındaki (istatistiksel) denkliği gösterir ve daha özlü veya yorumlaması daha kolay bir modeli desteklemek için nedenler sağlayabilir.

--- Sayfa 416, Uygulamalı Öngörülü Modelleme, 2013.

Artık güven aralığının ne olduğunu bildiğimize göre, bir tahmin modeli için güven aralığını hesaplamanın birkaç yolunu inceleyelim.

Sınıflandırma doğruluğu için güven aralığı

Sınıflandırma problemleri, bazı girdi verileri verildiğinde etiketlerini veya kategorik sonuç değişkenlerini tahmin etmeyi ifade eder.

Sınıflandırma tahmin modelinin performansını açıklamak için genellikle sınıflandırma doğruluğu (doğruluk) veya sınıflandırma hatası (Hata, doğruluğun tersi) kullanın. Örneğin, bir model kategori sonucunun doğru bir tahminini vakaların% 75'inde yaparsa, modelin sınıflandırma doğruluğu% 75'tir ve hesaplama formülü aşağıdaki gibidir:

doğruluk = toplam doğru tahminler / yapılan toplam tahminler * 100

Doğruluk oranı, modelin daha önce hiç görmediği bir doğrulama seti veya test seti gibi bir veri seti ile hesaplanabilir.

Sınıflandırma doğruluğu veya sınıflandırma hatası bir orandır. Model tarafından yapılan doğru veya yanlış tahminlerin oranını açıklar. Her tahmin, doğru veya yanlış olabilen ikili bir karardır. Teknik olarak, bu yönteme Jacob Bernoulli'nin adını taşıyan Bernoulli denemesi denir. Bernoulli denemesindeki oranlar, binom dağılımı adı verilen belirli bir dağılıma sahiptir. Neyse ki, büyük numune boyutları için (örneğin, 30'dan fazla), Gauss dağılımını yaklaşık olarak tahmin edebiliriz.

İstatistikte, başarılı veya başarısız olan bir dizi bağımsız olay Bernoulli süreci olarak adlandırılır. Büyük N için, bu rastgele değişkenin dağılımı normal dağılıma yakındır.

--- Sayfa 148, Veri Madenciliği: Pratik Makine Öğrenimi Araçları ve Teknikleri, İkinci Baskı, 2005

Oranın Gauss varsayımını (yani, sınıflandırma doğruluğu veya hatası) kullanarak güven aralığını kolayca hesaplayabiliriz.

Sınıflandırma hatası durumunda, aralık yarıçapı şu şekilde hesaplanabilir:

aralık = z * sqrt ((hata * (1-hata)) / n)

Sınıflandırma doğruluğu durumunda aşağıdaki şekilde hesaplanır:

aralık = z * sqrt ((doğruluk * (1-doğruluk)) / n)

Formüldeki aralık, güven aralığının yarıçapı, hata ve doğruluk, sınıflandırma hatası ve sınıflandırma doğruluğu, n örneklem büyüklüğü, sqrt karekök fonksiyonu ve z, Gauss dağılımının kritik değeridir. Terim olarak, bu iki terimli oran güven aralığıdır.

Gauss dağılımında yaygın olarak kullanılan kritik değerler ve bunlara karşılık gelen önem seviyeleri aşağıdaki gibidir:

  • 1.64 (% 90)
  • 1,96 (% 95)
  • 2.33 (% 98)
  • 2,58 (% 99)

50 örneklik bir doğrulama setinde (n = 50)% 20 hata (hata = 0,2) olan bir model göz önüne alındığında,% 95 güven aralığını (z = 1,96) aşağıdaki gibi hesaplayabiliriz:

# binom güven aralığı

matematik ithalat sqrt'den

aralık = 1,96 * sqrt ((0,2 * (1-0,2)) / 50)

baskı ('%. 3f'% aralığı)

Örneği çalıştırırken, hesaplanan ve yazdırılan güven aralığı yarıçapını görüyoruz.

0.111

Sonra şu açıklamayı yapabiliriz:

  • Bu modelin sınıflandırma hatası% 20 + / -% 11'dir
  • Modelin gerçek sınıflandırma hatası% 9 ile% 31 arasında olabilir

Güven aralığı yarıçapı tahmininin doğruluğu üzerinde örneklem büyüklüğünün etkisini görebiliriz.

# binom güven aralığı

aralık = 1,96 * sqrt ((0,2 * (1-0,2)) / 100)

baskı ('%. 3f'% aralığı)

Yukarıdaki örneği çalıştırmak, güven aralığının yaklaşık% 7'ye düştüğünü gösterir, bu da model performans tahmininin doğruluğunu artırır.

0.078

Güven aralığının bir dizi olasılık olduğunu unutmayın. Gerçek model performansı bu aralığın dışında olabilir.

Aslında, bu deneyi defalarca tekrarlarsak, her seferinde yeni bir örnek içeren yeni bir örnek S topladığımızda, bu deneylerin yaklaşık% 95'i için hesaplanan aralığın gerçek hatayı kapsayacağını bulacağız. Bu nedenle, bu aralığa% 95 güven aralığı tahmini diyoruz

--- Sayfa 131, Makine Öğrenimi, 1997

Proportion_confint () statsmodels işlevi, iki terimli oranın güven aralığının bir uygulamasıdır

Varsayılan olarak, iki terimli dağılım için Gauss varsayımları yapar, ancak diğer daha karmaşık hesaplama çeşitlerini de destekler. Bu işlev, başarı (veya başarısızlık) sayısını, toplam deneme sayısını ve anlamlılık düzeyini parametre olarak alır ve güven aralığının üst ve alt sınırlarını döndürür.

Aşağıdaki örnek, bir modelin 100 örnekten oluşan bir veri setinden 88 doğru tahmin yaptığı ve% 95 güven aralığı ile ilgilendiğimiz varsayımsal bir durumda bu işlevi göstermektedir (0.05 anlamlılık arz fonksiyonu olarak) .

istatistikmodels.stats.proportion import oran_confint

alt, üst = oran_confint (88, 100, 0.05)

print ('alt =%. 3f, üst =%. 3f'% (alt, üst))

Çalışan örnek çıktı modelinin sınıflandırma doğruluğunun üst ve alt sınırları:

alt = 0.816, üst = 0.944

Parametrik olmayan güven aralığı

Genellikle seçilen performans göstergelerinin dağılımını bilmiyoruz. Veya performans puanının güven aralığını hesaplamak için analitik yöntemi bilmiyor olabiliriz.

Parametrik güven aralığı varsayımı genellikle geçersizdir. Bazen yordayıcı değişken normal olarak dağıtılmaz, öyle olsa bile, normal dağılımın varyansı yordayıcı değişkenin tüm seviyelerinde farklı olabilir.

--- Sayfa 326, Yapay Zeka için Ampirik Yöntemler, 1995.

Bu durumlarda, önyükleme yeniden örnekleme yöntemi, nominal olarak önyükleme güven aralığı olarak adlandırılan güven aralığını hesaplamak için parametrik olmayan bir yöntem olarak kullanılabilir.

Bootstrap, örneklerin değiştirilerek sabit sınırlı bir veri kümesinden alındığı ve her örnek için bir parametrenin tahmin edildiği simüle edilmiş bir Monte Carlo yöntemidir. Bu süreç, örnekleme yoluyla gerçek genel parametrelerin sağlam bir tahminini elde eder.

Bunu aşağıdaki sözde kodla kanıtlayabilirsiniz:

istatistik =

önyüklemelerde i için:

örnek = örnek_seçme_seçimi_değiştirme (veri)

stat = calculate_statistic (örnek)

istatistik.append (stat)

Bu süreç, modeli her bir örneğe uydurarak ve modelin performansını bu örneklerde yer almayan örnekler üzerinde tahmin ederek tahmin modelinin performansını tahmin etmek için kullanılabilir. Ortalama veya medyan performans daha sonra modelin bilinmeyen veriler üzerindeki performansının bir tahmini olarak kabul edilebilir.

Belirli bir yüzdelik dilim için bir performans puanları örneğinden gözlemler seçerek bu tahmine bir güven aralığı ekleyebilirsiniz.

Yüzdeliğin, örnek gözlem değerinin karşılık gelen yüzdesinin ondan daha küçük olduğu, sıralanmış örnekten alınan gözlem değeri olduğunu hatırlayın. Örneğin, bir numunenin 70. yüzdelik dilimi, numunenin% 70'inin bu değerin altında olduğu anlamına gelir. 50. yüzdelik dilim dağılımın medyanıdır.

İlk olarak,% 5,0 olarak ifade edilen% 95 gibi güven düzeyinin önem düzeyini seçmeliyiz (örneğin, 100-95). Güven aralığı medyan etrafında simetrik olduğundan, tüm aralığı vermek için gözlemleri 2.5 persentil ve 97.5 persentil olarak seçmeliyiz.

Önyükleme güven aralığını bir örnek üzerinden hesaplayabiliriz.

0,5 ile 1,0 arasında 1.000 gözlem içeren tek tip bir dağılımdan oluşturulmuş bir veri kümemiz olduğunu varsayalım.

# veri kümesi oluştur

veri kümesi = 0,5 + rand (1000) * 0,5

Önyükleme sürecini 100 kez yürüteceğiz ve değiştirilen veri setinden 1000 gözlem örneği çıkaracağız. Bootstrap örneğinde hesaplanan istatistikleri genel ortalamanın bir tahmini olarak kullanacağız. Bu kolaylıkla bir model değerlendirme haline gelebilir.

# bootstrap

puanlar = liste ()

Aralık içindeki _ için (100):

# bootstrap örneği

endeksler = randint (0, 1000, 1000)

örnek = veri kümesi

# istatistiği hesapla ve sakla

istatistik = ortalama (örnek)

score.append (istatistik)

Önyükleme istatistiklerinin bir örneğini elde ettiğimizde, merkezi eğilimi hesaplayabiliriz. Dağılımla ilgili herhangi bir varsayımda bulunulmadığından, medyan veya 50. yüzdelik dilimi kullanacağız.

baskı ('medyan =%. 3f'% medyan (puanlar))

Daha sonra, güven aralığını, medyana odaklanan gözlenen istatistiğin orta% 95'i olarak hesaplayabiliriz.

#% 95 güven aralıklarını hesaplayın (100-alfa)

alpha = 5.0

İlk olarak, seçilen güven aralığına göre daha düşük yüzdelik dilimi hesaplayın. Daha sonra bu yüzdeliğin gözlemlenen değerini önyükleme istatistikleri örneğinden çıkarın.

# düşük yüzdelik dilimi hesapla (ör. 2,5)

lower_p = alfa / 2.0

# daha düşük yüzdelik dilimde gözlem alma

alt = maks (0,0, yüzdelik (puanlar, daha düşük_p))

Güven aralığının üst sınırı için de aynısını yapıyoruz.

# üst yüzdelik dilimi hesapla (ör. 97,5)

üst_p = (100-alfa) + (alfa / 2.0)

# üst yüzdebirlikte gözlem alma

üst = min (1.0, yüzdelik (puanlar, üst_p))

Tam örnek aşağıda listelenmiştir.

# bootstrap güven aralıkları

numpy.random ithal tohumdan

numpy.random import rand'dan

numpy.random import randint'den

uyuşmuş ithal anlamından

numpy ithal medyandan

numpy içe aktarma yüzdeliğinden

# rastgele sayı oluşturucuyu tohumlayın

tohum (1)

# veri kümesi oluştur

veri kümesi = 0,5 + rand (1000) * 0,5

# bootstrap

puanlar = liste ()

Aralık içindeki _ için (100):

# bootstrap örneği

endeksler = randint (0, 1000, 1000)

örnek = veri kümesi

# istatistiği hesapla ve sakla

istatistik = ortalama (örnek)

score.append (istatistik)

baskı ('50. yüzdelik dilim (medyan) =% .3f'% medyan (puanlar))

#% 95 güven aralıklarını hesaplayın (100-alfa)

alpha = 5.0

# düşük yüzdelik dilimi hesapla (ör. 2,5)

lower_p = alfa / 2.0

# daha düşük yüzdelik dilimde gözlem alma

alt = maks (0,0, yüzdelik (puanlar, daha düşük_p))

print ('%. 1fth persentil =% .3f'% (alt_p, daha düşük))

# üst yüzdelik dilimi hesapla (ör. 97,5)

üst_p = (100-alfa) + (alfa / 2.0)

# üst yüzdebirlikte gözlem alma

üst = min (1.0, yüzdelik (puanlar, üst_p))

print ('%. 1fth persentil =% .3f'% (üst_p, üst))

Çalışan örnek, 2.5, 50 (medyan) ve 97.5 yüzdelik dilimler dahil olmak üzere önyükleme örnek istatistiklerinin dağılımını özetler.

50. yüzdelik dilim (medyan) = 0,750

2.5. Yüzdelik dilim = 0.741

97.5 yüzdelik dilim = 0.757

Daha sonra bu gözlemleri örnek dağılımı hakkında bir açıklama yapmak için kullanabiliriz, örneğin:

Gerçek istatistiksel medyanın 0,741 ila 0,757 aralığında kapsanma olasılığı% 95'tir.

Genişlet

Bu eğiticinin içeriğini genişletmek istiyorsanız, bu bölümde bazı yararlı fikirler listelenmektedir:

  • Her bir güven aralığı yöntemini kendi küçük test veri kümenizde test edin.
  • Güven aralıklarını kullanmanın farklı yollarını gösteren 3 makaleye göz atın
  • Belirli bir makine öğrenimi modeli performans puanları örneği için önyükleme güven aralığını hesaplamak için bir işlev yazın.

daha fazla okuma

Daha fazlasını öğrenmek istiyorsanız, bu bölüm konuyla ilgili daha fazla kaynak sağlar.

Gönderiler

Sınıflandırıcı Performansını Güven Aralıklarıyla Raporlama

Python'da Makine Öğrenimi Sonuçları İçin Bootstrap Güven Aralıkları Nasıl Hesaplanır

Python ile Güven Aralıklarını Kullanarak Zaman Serisi Tahmin Belirsizliğini Anlayın

Kitabın

Yeni İstatistikleri Anlamak: Etki Büyüklükleri, Güven Aralıkları ve Meta-Analiz, 2011.

Yeni İstatistiklere Giriş: Tahmin, Açık Bilim ve Ötesi, 2016.

İstatistiksel Aralıklar: Uygulayıcılar ve Araştırmacılar için Bir Kılavuz, 2017.

Uygulamalı Tahmine Dayalı Modelleme, 2013.

Makine Öğrenimi, 1997.

Veri Madenciliği: Pratik Makine Öğrenimi Araçları ve Teknikleri, İkinci Baskı, 2005.

Bootstrap'e Giriş, 1996.

Yapay Zeka için Ampirik Yöntemler, 1995.

Bildiriler

Tahmin istatistikleri, 2016 anlamlılık testinin yerini almalıdır.

Bootstrap Güven Aralıkları, İstatistik Bilimi, 1996.

API

statsmodels.stats.proportion.proportion_confint () API

numpy.random.rand () API

numpy.random.randint () API

numpy.random.seed () API

numpy.percentile () API

numpy.median () API

Nesne

Wikipedia'da aralık tahmini

Wikipedia'da güven aralığı

Wikipedia'da binom oranı güven aralığı

Çapraz Doğrulamada RMSE'nin güven aralığı

Wikipedia'da önyükleme

sonuç olarak

Bu eğiticide, güven aralıklarını ve pratikte güven aralıklarının nasıl hesaplanacağını araştırdınız.

Özellikle şunları öğrendiniz:

  • Güven aralığı, genel parametre tahmininin sınırıdır.
  • Sınıflandırma yönteminin tahmini performansının güven aralığı doğrudan hesaplanabilir
  • Herhangi bir genel istatistiğin güven aralığı, dağıtımdan bağımsız bir şekilde bootstrap kullanılarak tahmin edilebilir.

Sormak istediğiniz bir şey var mı?

Aşağıdaki yorumlarda sorular sorun, cevaplamak için elimden geleni yapacağım.

Orjinal başlık:

Makine Öğrenimi için Güven Aralıkları

Orijinal bağlantı:

https://machinelearningmastery.com/confidence-intervals-for-machine-learning/

Çevirmen Profili

Ve Çin, Almanya'da Yazılım Mühendisliği Yüksek Lisansı. Makine öğrenimine olan ilgiden dolayı, yüksek lisans tezi geleneksel anlamlarını iyileştirmek için genetik algoritma fikirlerini kullanmayı seçti. Şu anda Hangzhou'da büyük veri ile ilgili uygulamalar yapıyor. Datapie'ye katılmak THU, BT çalışanları için üzerine düşeni yapmayı ve aynı zamanda benzer düşünen birçok arkadaş edinmeyi umuyor.

100'den fazla şair "Çinli Şair" in doğum gününü kutladı
önceki
Ulusal Futbol Çin Kupası forma numaraları açıklandı: Wang Yongpo, Zheng Zhi No. 10 ve Wei Shihao No. 7'yi devraldı!
Sonraki
Bu reklam, herkesi ellerini kesmemeye ikna ettiği için yasaklandı, arkasındaki hikaye insanları ağlatıyor ...
Özel Çin'in Kentsel Mekansal Gelişimini Analiz Etmek için Didi Seyahat Verilerini Kullanın (video PPT ile)
"Emtia kodu", 5G, çatı akıllı garajı taşınıyor ... Wuhan'da geleceği görün!
Euro 2020 henüz başlamadı! Önceden şampiyonluğu kazanan ilk favoriler ve Portekiz sadece altıncı sırada
Akıllı futbol ve video hakemlerine ek olarak, Dünya Kupası'na yardımcı olacak bu yapay zeka siyah teknolojileri de var!
Küresel sıcaklık yeniden rekoru kırdı ve 2016 tarihin en sıcak yılı oldu
GIF-Meksika Ligi amatör sahnesi! Karius'un sahip olduğu gibi, Süper Lig kalecisi kadar utanç verici
Her kimchi kavanozu bir sanat eseridir, Meishan kimchi ustalarının aynı sahnede birçok Pk "deseni" vardır.
ICML 2018 Ödülleri açıklandı: Berkeley ve MIT en iyi makaleleri kazandı (makaleler ve proje bağlantıları ile)
Fan Zhiyi: Önümüzdeki 5-10 yıl içinde Çin futbolu kesinlikle Asya'nın en iyileri arasında olacak!
Bariyer gölü tehlikesi altındaki Batang merkezileştirilmiş yeniden yerleşim yerinde köylüler gülümsedi ve "Evden farkı yok" dediler.
Söylentileri öfkeyle çürüt! Mourinho şahsen yalanladı: 2006 UEFA Şampiyonlar Ligi keşif raporunu Barselona hakkında yazmadım
To Top