Rastgele bir makine öğrenimi algoritmasının modelin performansını nesnel ve etkili bir şekilde yansıtabilmesi için kaç deney gerekir?

Lei Feng Net Not: Bu makalenin yazarı Jason Brownlee, zaman serisi tahmininde özel deneyime sahip, tanınmış bir Avustralya makine öğrenimi uzmanıdır. Orijinal metin blogunda yayınlandı. Leifeng.com tarafından derlenmiştir.

Jason Brownlee

Pek çok rastgele makine öğrenimi algoritması aynı soruna sahiptir: aynı algoritma, aynı veriler, hesaplama sonuçları her seferinde farklıdır. Bu, rastgele algoritma testi veya algoritma karşılaştırması gerçekleştirirken testi birçok kez tekrarlamanız ve ardından modeli değerlendirmek için ortalama değerlerini kullanmanız gerektiği anlamına gelir.

Sonra belirli bir problem için, Rastgele bir makine öğrenimi algoritmasının modelin performansını nesnel ve etkili bir şekilde yansıtabilmesi için kaç deney gerekir?

Genellikle 30 defadan fazla ve hatta yaklaşık 100 defadan fazla tekrarlanması önerilir. Hatta bazı insanlar azalan marjinal etkiyi tamamen görmezden gelerek bunu binlerce kez tekrarlıyor.

Rastgele makine öğrenimi algoritmalarının performansını ölçmek için gereken tekrarlanan denemelerin sayısı için, bu eğiticide, doğru bir şekilde tahmin etmek için istatistiksel yöntemleri nasıl kullanacağınızı öğreteceğim.

Eğiticiye genel bakış

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

  • Veri üretimi

  • Temel analiz

  • Tekrar sayısının etki analizi

  • Standart hata hesaplaması

  • Bu eğitici, sürüm 2 veya 3 olan Python dilini kullanır. Örnek kodu sorunsuz bir şekilde çalıştırmak için, SciPy, NumPy, Pandas ve Matplotlib kitaplıklarını kurduğunuzdan emin olun.

    Eğiticimize başlayalım

    1. Veri üretimi

    İlk adım, kullanılabilir veriler oluşturmaktır.

    Bir sinir ağı modelini veya başka bir rastgele algoritmayı eğitim veri setinde 1000 kez eğittiğimizi ve modelin ortalama kare hatasını (RMSE) test setine kaydettiğimizi varsayalım. Bu öğreticinin sonraki analizi için bir öncül olarak, kullandığımız verilerin normal olarak dağıtıldığını varsayalım.

    Sonuçların dağılımını kontrol ettiğinizden emin olun, genellikle sonuçlar Gauss (yani normal dağılım) olacaktır.

    Örnek popülasyonu, araştırma için önceden oluşturacağız ve bu, takip araştırması için çok yararlıdır, çünkü program tarafından oluşturulan örnek popülasyonunun ortalama ve standart sapması, pratik uygulamalarda genellikle bilinmeyen belirlenir.

    Deneysel veriler oluşturmak için parametre olarak ortalama = 60 ve standart sapma = 10 kullanıyoruz.

    Aşağıda 1000 rasgele sayı üretme ve sonuçları results.csv dosyası olarak kaydetme kodu verilmiştir.

    Kodda, kodun her çalıştırılmasından sonra elde edilen verilerin tutarlı olmasını sağlamak için rastgele sayı üreteci tohum işlevi olarak tohum kullanıyoruz. Normal olarak dağıtılmış rasgele sayılar oluşturmak için normal işlevi kullanın ve verileri ASCII biçiminde kaydetmek için savetxt işlevini kullanın.

    Bu kodu çalıştırdıktan sonra, rastgele algoritmanın tekrarlanan çalışmalarının simülasyon sonuçlarını temsil eden 1000 rastgele sayıyı saklayan results.csv adlı bir dosya alıyoruz.

    Dosyadaki son on veri satırı aşağıdadır.

    6.160564991742511864e + 01

    5.879850024371251038e + 01

    6,385602292344325548e + 01

    6.718290735754342791e + 01

    7.291188902850875309e + 01

    5.883555851728335995e + 01

    3,722702003339634302e + 01

    5.930375460544870947e + 01

    6,353870426882840405e + 01

    5.813044983467250404e + 01

    Şimdi bu yığın veriyi nasıl elde edeceğimiz konusunu bir kenara bırakalım ve ilerlemeye devam edelim.

    2. Temel analiz

    Örnek popülasyonu elde ettikten sonra, önce basit bir istatistiksel analiz yapıyoruz.

    Aşağıdaki üçü çok basit ve etkili yöntemlerdir:

  • Ortalama, standart sapma ve yüzdelik dilim gibi istatistiksel bilgileri hesaplayın.

  • Veri yayılma derecesini görmek için bir kutu grafiği çizin

  • Veri dağılımını görüntülemek için bir histogram çizin

  • Aşağıdaki kod aracılığıyla basit bir istatistiksel analiz yapmak için önce results.csv veri dosyasını yükleyin, ardından istatistiksel hesaplamalar yapın ve bunları bir grafikte görüntüleyin.

    Algoritmanın ortalama performansının yaklaşık 60,3 ve standart sapmanın yaklaşık 9,8 olduğu görülebilir.

    Verilerin, istatistiksel sonuçlardan, kök ortalama kare hatasına benzer minimum değeri temsil ettiği varsayılırsa, maksimum değer 99,5 ve minimum değer 29,4'tür.

    Aşağıdaki kutu çizimi, verilerin yayılma derecesini gösterir. Kutu şeklindeki kısım, numunenin orta aralığıdır (numunenin yaklaşık% 50'si). Noktalar aykırı değerleri ve yeşil çizgi medyanı temsil eder. .

    Şekilden, sonuçların medyan çevresinde makul bir şekilde dağıldığı görülebilir.

    Oluşturulan son, verilerin histogramıdır.Şekil, normal dağılıma sahip bir Bell eğrisini (çan eğrisi) gösterir, bu, veri analizi yaparken standart istatistiksel analiz araçlarını kullanabileceğimiz anlamına gelir.

    Verilerin simetri ekseni olarak 60'ı aldığı ve soldan sağa neredeyse hiç eğim olmadığı şekilden görülebilmektedir.

    3. Tekrar sayısının etkisinin analizi

    1000 sonuç verisi oluşturmadan önce. Sorunla ilgili çok fazla araştırma olabilir veya yeterli olmayabilir.

    Nasıl yargılamalı?

    İlk fikir, test tekrarlarının sayısı ile bu test sonuçlarının ortalaması arasında bir grafik çizmektir. Tekrar sayısı arttıkça, sonuçların ortalama değerinin hızla sabitleneceğini umuyoruz. Bir eğri çizdikten sonra, ilk segmentin büyük dalgalanmalara sahip olduğu ve kısa olduğu, orta ve arka kısımların sabit ve uzun olduğu görülüyor.

    Eğriyi çizmek için aşağıdaki kodu kullanın.

    Şekilden, ilk 200 verinin ortalama değerinin büyük ölçüde dalgalandığı, 600 kattan sonra, ortalama değerin sabit olma eğiliminde olduğu ve eğrinin daha az dalgalandığı görülebilir.

    Eğriyi daha iyi gözlemlemek için, eğriyi yalnızca tekrarlanan ilk 500 testin sonuçlarını gösterecek şekilde büyütün.

    Aynı zamanda, ikisi arasındaki sapma ilişkisini bulmak için ortalama 1000 test sonucunu üst üste getirin.

    Şekildeki turuncu düz çizgi, 1000 tekrarlanan test sonucunun ortalama çizgisidir.

    Aynı zamanda 100 defa tekrarlandığında sonucun ortalamaya yakın olduğu görülebilmektedir, tekrar sayısı 400'e ulaştığında sonuç daha ideal olmakla birlikte düzelme açık değildir.

    Harika değil mi? Ama daha iyi bir yol var mı?

    4. Standart hatayı hesaplayın

    Standart hata, örnek ortalamasının genel ortalamadan ne kadar saptığını hesaplamak için kullanılır. Numunenin gözlemlenen değerindeki ortalama değişikliği tanımlayan standart sapmadan farklıdır. Standart hata, örnek ortalamasının hata miktarına veya hata yayılmasına bağlı olarak popülasyon ortalamasını tahmin edebilir.

    Standart hata aşağıdaki formülle hesaplanabilir:

    standard_error = sample_standard_deviation / sqrt (tekrar sayısı)

    Diğer bir deyişle, standart hata, numunenin standart sapmasının tekrar sayısının kök ortalama karesine bölünmesine eşittir.

    Deneme sayısı arttıkça standart hatanın azalacağını umuyoruz. Aşağıdaki kod aracılığıyla, her tekrarlanan teste karşılık gelen örnek ortalamanın standart hatasını hesaplayın ve standart hata grafiğini çizin.

    Kodu çalıştırdıktan sonra, standart hata ile tekrar sayısı arasındaki ilişki çizilecektir.

    Beklendiği gibi, tekrarlanan denemelerin sayısı arttıkça, standart hata hızla azalır. Standart hata belirli bir seviyeye düştükten sonra stabilize olma eğilimindedir.Genellikle 1 ila 2 birim arasındaki değer kabul edilebilir hata olarak adlandırılır.

    Standart hata birimi, örnek veri birimi ile tutarlıdır.

    Yukarıdaki şekle koordinatları 0,5 ve 1 olan yardımcı hatlar eklemek, kabul edilebilir standart hata değerini bulmamıza yardımcı olur. kod aşağıdaki gibi gösterilir:

    Lei Feng'den netizenler, şekildeki iki kırmızı yardımcı çizginin standart hatanın 0,5 ve 1'e eşit olduğunu gösterdiğini hatırlattı.

    Şekilden, test tekrarlarının sayısı yaklaşık 100 katına eşitse, standart hata 1'den az olmaya başlar ve test tekrar sayısı yaklaşık 300 ila 350 katına eşitse standart hata 0.5'ten azdır. Tekrarlanan denemelerin sayısı arttıkça, standart hata küçük değişikliklerle sabit olma eğilimindedir. Yine, herkese standart hatanın örnek ortalamasının genel ortalamadan ne kadar saptığını ölçebileceğini hatırlatın.

    Standart hatayı ortalama için güven aralığı olarak da kullanabiliriz. Örneğin, genel ortalamanın% 95'ini güven aralığının üst ve alt sınırları olarak kullanın. Bu yöntem yalnızca test tekrarlarının sayısı 20'den fazla olduğunda uygundur.

    Güven aralığı şu şekilde tanımlanır:

    Örnek ortalama +/- (standart hata * 1.96)

    Ardından, güven aralığını hesaplayın ve tekrarlanan denemelerin sayısına karşılık gelen örnek ortalamaya bir hata çubuğu olarak ekleyin. Bu hesaplama kodudur.

    Aşağıdaki şekil, güven aralığı ile bir örnek ortalama eğrisi oluşturur.

    Kırmızı düz çizgi, popülasyonun ortalamasını temsil eder (eğiticinin başında, popülasyon verilen ortalamaya ve standart sapmaya göre oluşturulmuştur, dolayısıyla popülasyonun ortalaması bilinir). 1000 kez veya daha fazla tekrarlandıktan sonra, popülasyon ortalaması yerine örnek ortalama kullanılabilir.

    Grafikteki hata çubukları ortalama çizgiyi kaydırır. Ayrıca, örneklem ortalaması, genel ortalamayı abartır veya fazla tahmin eder, ancak yine de genel ortalamanın% 95 güven aralığı içinde yer alır.

    % 95 güven aralığının anlamı, 95'i genel ortalamanın gerçek değerini içeren ve diğer 5'i içermeyen 100 tekrarlanan deney yapmaktır.

    Şekilde görüldüğü gibi tekrar sayısı arttıkça standart hatanın azalması nedeniyle% 95 güven aralığı giderek daralmaktadır.

    Yukarıdaki şekle yaklaştıktan sonra, bu eğilim özellikle 20 ile 200 arasında olduğunda belirgindir.

    Bu, deneme sayısı ile yukarıdaki kod tarafından oluşturulan örnek ortalamanın ve hata çubuklarının eğrisidir. Bu grafik, örnek ortalamasının genel ortalamadan sapmasını daha iyi yansıtabilir.

    Genişletilmiş okuma

    Aslında, hem rastgele algoritmalar hem de istatistik kullanan hesaplamalı test yöntemlerini içeren çok az referans materyali vardır.

    Ben şahsen Cohenin 1995 kitabının ikisinin en iyi kombinasyonu olduğunu düşünüyorum:

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

    Bu eğitimle ilgileniyorsanız, bu kitabı şiddetle tavsiye ederim.

    Ek olarak, Wikipedia'da size yardımcı olabilecek birkaç makale var:

    Standart hata

    Güven aralığı

    689599.7 kuralı

    İlgili başka iyi bilgilere sahipseniz, yorum alanında sizinle iletişim kurabilirsiniz. Teşekkür ederim.

    özet

    Bu eğiticide, rastgele makine öğrenimi algoritmalarının doğruluğunu değerlendirmemize yardımcı olan, deneme tekrarlarının sayısını seçmek için makul bir yöntem sunuyoruz.

    Tekrar sayısını seçmenin birkaç yolu:

    • Doğrudan 30, 100 veya 1000 kez kullanın.

    • Örnek ortalama ile tekrar sayısı arasındaki ilişki eğrisini çizin ve bükülme noktasına göre seçin.

    • Standart hata ile tekrar sayısı arasındaki ilişki eğrisini çizin ve hata eşiğine göre seçin.

    • Örnek güven aralığı ile tekrar sayısı arasındaki ilişki eğrisini çizin ve hata dağılımına göre seçin.

    Sualtı insansız dalgıç araç kurtarma yön bulma ve arama cihazı
    önceki
    Silikon Vadisi'nde on milyarlarca dolardan sıfır değerlemeye kadar birden fazla Therano olabilir.
    Sonraki
    5.000 yuan'dan fazla buna değer, hemen Jingdong'a giderek Surface Pro'yu öldür
    Yalama Ekran Süresi | "Perdeyi" sevgiyle kaldırın
    Çok çekirdekli DSP'ye dayalı lazer nokta bulutu çözüm algoritmasının paralel tasarımı
    "Sesin Şekli", "Okul Zorbalığı" filmiyle ruha vuruyor tartışmalı
    Ada filmleri sadece içerik olarak değil, aynı zamanda harika isimlerle de harika.
    Neden aynı ağırlık şişman ve zayıf görünüyor ama aynı değil?
    Tam bir bilim popülerleştirmesi olan "Araba Hırsızı Tanrısı" Beier Shuang'ı görüyor
    Kuantum nokta ekranı ne kadar harika? TCL X8 QLED TV görüntü kalitesi performansı hakkında yorum yapın
    Bu artırılmış gerçeklik teknolojisi sizi yaşayan diğerlerine "bölecek"
    VG testi: Valkyrie hakkında ne kadar bilginiz var?
    Yalama Ekran Süresi | Tsui Hark'ın Filmlerinde Kostüm Güzelliği
    "Tomb Raider: Shadow" da Laura, Güney Amerika yağmur ormanı besin zincirinin tepesinde olacak
    To Top