Makine öğrenim probleminizin umutsuz olduğunu nasıl bilebilirim?


207

Standart bir makine öğrenme senaryosu hayal edin:

Çok değişkenli büyük bir veri kümesiyle karşı karşıya kalıyorsunuz ve oldukça bulanık bir anlayışınız var. Yapmanız gereken şey, sahip olduğunuza bağlı olarak bazı değişkenler hakkında tahminlerde bulunmaktır. Her zamanki gibi, verileri temizler, açıklayıcı istatistiklere bakar, bazı modelleri çalıştırır, bunları doğrular vb., Ancak birkaç denemeden sonra ileri geri gidip birden fazla model denediğinizde hiçbir şey işe yaramaz ve sonuçlarınız perişan olur. Böyle bir sorun için saatler, günler veya haftalar geçirebilirsiniz ...

Soru şudur: ne zaman durmalı? Nasıl mı biliyorum veri aslında umutsuz olduğunu ve tüm fantezi modeller her durumda veya diğer bazı önemsiz çözümü için ortalama sonucunu tahmin etmektense Artık faydası olmaz?

Elbette, bu bir öngörülebilirlik sorunudur, ancak bildiğim kadarıyla, üzerinde bir şey denemeden önce çok değişkenli verilerin tahmin edilebilirliğini değerlendirmek zor. Yoksa yanlış mıyım?

Feragatname: Bu soru bundan ilham aldı. Ne zaman bir model aramayı bırakmalıyım? Bu fazla dikkat çekmedi. Referans için bu soruya ayrıntılı cevap olması güzel olurdu.


1
Bu sorun pratik terimlerle (@StephanKolassa'nın yaptığı gibi) veya mutlak terimlerle (belirli bir modelin belli koşulların yerine getirilmesi durumunda bir problemi öğrenebileceğini gösteren bir tür teorem) cevaplanabilir. Hangisini istersin?
Superbest 19

3
Bu bilgisayar biliminin klasik durma sorununa benziyor mu? Diyelim ki girdi verileri üzerinde arama yapan, tahminsel karmaşıklığa sahip bir algoritma A'ya sahip olduğunuzu ve tahmin modellerini aradığımızı ve algoritmanın veriler için "iyi" bir model bulduğunda durduğunu varsayalım. A ve D'ye kayda değer bir yapı eklemeden, A'nın D girişini hiç durduracak mı, nasıl sonuçta sonsuza dek aramaya devam edip etmeyeceğini nasıl söyleyebileceğinizi anlayamıyorum.
Matthew Gunn

@ Superbest her ikisi de olabilir. Eklemek istediğiniz bir şey varsa, cevaplamaktan çekinmeyin. Gerçek hayattaki çok boyutlu gürültülü verilerle başa çıkma hakkında herhangi bir şey söyleyen teoremi hiç duymadım, ama eğer geçerli olanı biliyorsanız, cevabınızı okumak isterim.
Tim

3
@ StephenKolassa'nın cevabına dayanarak, bu konuyu döndürebileceğiniz bir başka soru 'İşimi hangi noktaya kadar konu uzmanlarına götürüp sonuçlarımı (veya sonuçların eksikliğini) tartışmalıyım?'
Robert de Graaf,

Yanıtlar:


241

tahmin edilebilirlik

Haklısın, bunun bir öngörü sorunudur. Olmuştur tahmin edilebilirlik üzerinde birkaç makale de IIF uygulayıcı odaklı dergi Öngörü . (Tam açıklama: Ben Yardımcı Editör'üm.)

Sorun şu ki, tahmin edilebilecek durumun "basit" durumlarda değerlendirilmesinin çok zor olması.

Birkaç örnek

Diyelim ki böyle bir zaman seriniz var ama Almanca konuşmuyorsunuz:

yumurtalar

Nisan'daki büyük zirveyi nasıl modelleyecektiniz ve bu bilgileri herhangi bir tahminde nasıl dahil edersiniz?

Bu zaman serisinin, Paskalya takviminin hemen batısından önce yükselen bir İsviçre süpermarket zincirindeki yumurtaların satışları olduğunu bilmediğiniz sürece , hiçbir şansınız olmazdı. Ayrıca, Paskalya takvimde altı haftaya kadar dolaşırken, belirli Paskalya tarihini içermeyen tahminler (bunun önümüzdeki yıl belirli bir haftada tekrarlanacak mevsimsel bir zirve olduğunu varsayarak) Muhtemelen çok kapalı olurdu.

Benzer şekilde, aşağıdaki mavi çizgiye sahip olduğunuzu ve 2010-02-28'deki "normal" modellerden farklı olarak 2010-02-28'de olanları modellemek istediğinizi varsayalım:

Hokey oyunu

Yine, Kanadalılar dolu bir şehir televizyonda bir Olimpiyat buz hokeyi finali maçı izlerken ne olacağını bilmeden, burada ne olduğunu anlama şansınız yok ve bunun gibi bir şeyin ne zaman tekrarlanacağını tahmin edemezsiniz.

Son olarak şuna bir bakın:

aykırı

Bu bir nakit ve taşıma mağazasında günlük satışların bir zaman serisidir . (Sağda basit bir tablonuz var: 282 gün sıfır satış, 42 gün 1 satış ... bir gün 500 satış görmüştü.) Hangi ürünün olduğunu bilmiyorum.

Bu gün, o 500 günde bir satışla o gün ne oldu bilmiyorum. En iyi tahminim, bazı müşterilerin bu ürünü ne şekilde topladığını çok fazla sipariş etmeleriydi. Şimdi, bunu bilmeden, bu belirli gün için herhangi bir tahmin çok uzak olacak. Bunun tersine, bunun Paskalya'dan hemen önce olduğunu ve bunun bir Paskalya etkisi olabileceğine inanan bir aptal-akıllı algoritmaya sahip olduğumuzu ve belki de bir sonraki Paskalya için 500 ünite öngördüğünü varsayalım. Oh, bu yanlış gidebilir mi?

özet

Her durumda, tahmin edilebilirliğin ancak verilerimizi etkileyen muhtemel faktörleri yeterince derin bir şekilde anladıktan sonra nasıl anlaşılabileceğini görüyoruz. Sorun şu ki, bu faktörleri bilmiyorsak, onları tanımayacağımızı bilmiyoruz. Gereğince Donald Rumsfeld :

[T] burada bilinen bilenler; bildiğimiz bildiğimiz şeyler var. Ayrıca bilinen bilinmeyenler olduğunu biliyoruz; yani bilmediğimiz bazı şeyler olduğunu biliyoruz. Ama bilinmeyen bilinmeyenler de var - bilmediklerimiz bilmediğimizi.

Paskalya ya da Kanadalıların Hokey için hazırlığı bizim için bilinmeyen bir şey değilse, biz sıkışıp kaldık - ileriye bile bir yolumuz yok, çünkü hangi soruları sormamız gerektiğini bilmiyoruz.

Bunlarla ilgilenmenin tek yolu alan bilgisini toplamak.

Sonuçlar

Bundan üç sonuç çıkardım:

  1. Sen hep senin modelleme ve tahmin etki alanı bilgisinin dahil edilmesi gerekir.
  2. Etki alanı bilgisiyle bile, tahmin ve öngörüleriniz için kullanıcı tarafından kabul edilebilecek kadar bilgi almanız garanti edilmez. Yukarıdaki aykırı görün.
  3. "Sonuçlarınız perişan" ise, başarabileceğinizden daha fazlasını ümit ediyor olabilirsiniz. Adil para atmayı tahmin ediyorsanız,% 50 doğruluğun üzerinde bir yol yoktur. Dış tahminde doğruluk ölçütlerine de güvenmeyin.

Alt çizgi

Modeller oluşturmayı nasıl önereceğim - ve ne zaman duracağına dikkat ederek:

  1. Zaten kendiniz yoksa, etki alanı bilgisine sahip birisiyle konuşun.
  2. Tahmin etmek istediğiniz verinin ana sürücülerini, olası etkileşimler dahil, 1. adıma göre belirleyin.
  3. Modelleri adım 2'ye göre azalan güç sırasına göre sürücüler dahil olmak üzere yinelemeli olarak oluşturun.
  4. Tahmin doğruluğunuz daha da artmazsa, ya 1. adıma geri dönün (örneğin, açıklayamayacağınız kesin yanlış tahminleri belirleyerek ve bunları etki alanı uzmanıyla tartışarak) ya da hedefinize ulaştığınızı kabul edin modellerin yetenekleri. Analizlerinizi önceden boks yapmak yardımcı olur.

Orijinal model platolarınız varsa, farklı model sınıflarını denemeyi savunmadığımı unutmayın. Tipik olarak, makul bir modelle başlarsanız, daha sofistike bir şey kullanmak güçlü bir fayda sağlamaz ve "test setine fazladan uyuyor" olabilir. Bunu çok sık gördüm ve diğer insanlar aynı fikirdeler .


10
Kesinlikle katılıyorum harika cevap için +1. Sorunu geniş olduğu için hala diğer cevapları ümit ettiğim için (henüz) kabul etmiyorum.
Tim

1
Elbette. Bu konuda başkalarının bakış açısını da görmek isterim!
Stephan Kolassa

9
If you are forecasting a fair coin toss, then there is no way to get above 50% accuracy.. Orada herşeyi söyledin.
Walfrat

3
Etki alanı bilgisini kullanarak, daha iyi sonuçlar almak için ilk iki duruma (örneğin, Paskalya'ya kadar olan zaman ve TV izleme sayıları, bunun da kendi tahminine ihtiyacı olsa da) yeni özellikler ekleyebilirsiniz. Her iki durumda da durum umutsuz değildir. Gerçekten ilginç olan kısım, eksik alan bilgisinin adil yazı turalarının veri setinden nasıl anlaşılacağıdır.
Karolis Juodelė

4
@ KarolisJuodelė: bu tam olarak benim açımdan. Durumumuz umutsuz olduğunda biz bir uzmanla konuşmak sürece Hatta, bilemeyiz ... sonra, bazen uzman ya bize yardımcı olamaz ve "bilinmeyen bilinmeyenler" uzmanlar, tasavvur başkası için vardır kudreti biliyorum.
Stephan Kolassa

57

Stephan Kolassa'nın cevabı mükemmel, fakat aynı zamanda genellikle ekonomik bir durma koşulu olduğunu da eklemek isterim:

  1. Bir müşteri için ML yapıyor, eğlence için değilken, müşterinin harcamak istediği para miktarına bir göz atmalısınız. Firmanıza 5000 € öderse ve bir model bulmak için bir ay harcadıysanız, para kaybedersiniz. Çok önemsiz geliyor, ama büyük bir maliyet aşımına neden olduğunu düşünerek "bir çözüm olmalı !!" - gördüm. Bu yüzden para bittiğinde durun ve sorunu müşterinize iletin.
  2. Bazı işler yaptıysanız, genellikle mevcut veri kümesiyle neyin mümkün olabileceğini hissedersiniz. Modelle kazanabileceğiniz para miktarına, bu miktar önemsiz veya net bir negatif ise (örneğin, veri toplama, çözüm geliştirme vb. Gibi) uygulamaya çalışmayı bırakmalısınız.

Örnek olarak: makinelerinin ne zaman kırıldığını tahmin etmek isteyen bir müşterimiz vardı, mevcut verileri analiz ettik ve esas olarak gürültü bulduk. Sürece ilerledik ve en kritik verilerin kaydedilmediğini ve toplanmasının çok zor olduğunu tespit ettik. Ancak bu veriler olmadan, modelimiz o kadar zayıftı ki hiç kimse onu kullanmaz ve konserve ederdi.

Ticari bir ürün üzerinde çalışırken ekonomiye odaklanırken, bu kural aynı zamanda akademi veya eğlence projeleri için de geçerlidir - bu tür durumlarda para daha az endişe duyuyor olsa da, zaman hala nadir bir emtiadır. Örneğin. Akademi'de, somut bir sonuç üretmediğiniz zaman çalışmayı bırakmalısınız ve yapabileceğiniz daha fazla umut vaat eden başka projeleriniz var. Ancak bu projeyi düşürmeyin - lütfen null yayınlayın ya da "daha fazla / başka veriye ihtiyaç duyun" sonuçlarını da yayınlayın, bunlar da önemlidir!


1
+1 kesinlikle harika bir nokta! Sanırım bu sorunun tüm cevapları "açık" görünebilir, ancak referans için toplanan bu "açık" şeyleri hiçbir yerde görmedim.
Tim

3
Ancak, bu durma kuralı ticari olmayan durumlar için de geçerlidir: örneğin, eğer bir tür araştırma yaparsanız, o zaman sonuçlarımız da soyut bir değere sahiptir ve devam eden "umutsuz" analiz aynı zamanda sadece analizinizin değeri sizleri geçene kadar makul olacaktır. bunun yerine yapabilirdi. Yani aslında bu karar teorik argümanı daha genel hale getirilebilir.
Tim

2
Bence "hiç kimse onu kullanmaz ve konserve ederdi" olarak değiştirilmeli, muhtemelen "hiç kimse kullanmayacaktı ve konserve edilecekti" olarak değiştirilmeli - bu sizin amacınız mıydı?
Silverfish,

2
Teşekkürler. Bunun sadece zamanla ilgili olmadığını değil , zamana farklı yatırımlar yapabileceğinizi söyleyebilirim . Bunun yerine size zamandan tasarruf ediyorum diğer hayat kurtarıcı ilaç üzerinde araştırma projesi üzerinde işe yarayabilir ama aynı zamanda kamu vb sonuçlarından yararlanır
Tim

2
@HristiyanSauer Bir mühendis olarak deneyimlerime göre, sensörler (cf göstergeleri) ile kullanışlı bir amaç arasındaki uyumsuzluk sorunu ve muhtemelen transistörün icat edilmesinden önce bir problem.
Robert de Graaf

9

Başka bir yol var. Kendine sor -

  1. Bu değişken için mümkün olan en iyi tahminleri kim veya ne yapar? ”
  2. Makine öğrenim algoritmam en iyi tahminlerden daha iyi veya daha kötü sonuçlar veriyor mu?

Örneğin, farklı futbol takımlarıyla ilgili çok sayıda değişkeniniz varsa ve kimin kazanacağını tahmin etmeye çalışıyorsanız, makine öğreniminizin sonuçlarıyla karşılaştırmak için bahisçi oranlarına veya bazı kalabalık kaynaklı tahminlere bakabilirsiniz. algoritması. Eğer daha iyiyseniz, sınırda olabilirsiniz, daha kötüsü ise açıkça iyileştirme için yer vardır.

İyileştirme yeteneğiniz (genel olarak) iki şeye bağlıdır:

  1. Bu görevde en iyi uzmanla aynı verileri mi kullanıyorsunuz?
  2. Verileri bu görevde en iyi uzman kadar etkili kullanıyor musunuz?

Bu, tam olarak ne yapmaya çalıştığımla ilgili, ancak bir model oluştururken girdiğim yönü yönlendirmek için bu soruların cevaplarını kullanma eğilimindeyim. modeli geliştirmeye çalışıyorum.

Stephan ile aynı fikirdeyim, bunu yapmanın en iyi yolunun bir etki alanı uzmanına sormak olduğunu kabul ediyorum.


1
Aslında cevabınız, @StephanKolassa cevabıyla çelişiyor, burada öngörü karşılaştırmalarının oldukça yanıltıcı olduğunu düşündüren literatüre atıfta bulunuyor.
Tim

1
@Tim: tam açıklama - bu bağlantı benim yazdığım kriterler hakkında bir makaleye gitti. Yine de, sonuçlarıma katılıyorum: tüm talep tahmin doğruluğu karşılaştırma ölçütleri Elmaları portakallarla karşılaştırdığımı gördüm. Bu yüzden dış ölçütlere bakmak konusunda biraz şüpheliyim. Ayrıca, bu cevabın bir şekilde soruna neden olduğunu düşünüyorum. ML algoritmanız "en iyi bilinen" i geliştirdiğinde, daha da geliştirip geliştiremeyeceğinizi veya Umutsuzluk Platosu'na ulaşıp ulaşmadığımızı nasıl biliyorsunuz?
Stephan Kolassa

1
En son kullanım durumum oldukça farklıydı. İnternetteki ilanlarından kimin kendini öldürme riski altında olduğunu tahmin etmeye çalışıyordum. PHQ9 gibi depresyon şiddetini ölçmek için kullanılabilecek çeşitli psikometrik testler vardır. Yaygın olarak kullanılan bir tıbbi test olduğundan, "Kısa bir depresyon şiddeti ölçüsünün PHQ-9 Geçerliliği" gibi geçerliliği ve güvenilirliği üzerinde kayda değer bir çalışma vardır. Bu makaledeki güvenilirliğin ve diğer önlemlerin, makine öğrenmesinden elde edilebilecek olası sonuçlar için iyi bir başlangıç ​​noktası olduğunu buldum.
Gavin Potter

1
Tabii ki, "en iyi bilinen" konusunda iyileştirme konusunda haklısın, daha iyi bir model aramaya devam edip etmeyeceğini söylemenin bir yolu yok. Ancak benim deneyimlerime göre, bu oldukça nadir görülen bir durum, gerçek dünyada meydana geliyor. Yaptığım işlerin çoğu, alandaki en iyi uzmanı geliştirmeye çalışmayan makine öğrenmesi kullanımıyla ölçekteki uzman kararlarını uygulamaya çalışmak gibi görünüyor.
Gavin Potter
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.