Otomatik makine öğrenimi bir rüya mı?


12

Makine öğrenimini keşfettiğim gibi farklı ilginç teknikler görüyorum:

  • algoritmaları otomatik olarak grid search,
  • Daha doğru aynı "tip" farklı algoritmalar kombinasyonu ile sonuçlarını en olsun boosting,
  • O en, (algoritmaların fakat aynı tip) farklı algoritmalar kombinasyonu ile daha doğru sonuçlar elde stacking,
  • ve muhtemelen daha fazlasını keşfetmem gerek ...

Sorum şu: tüm bu parçalar var. Ancak bunları bir araya getirmek, temizlenmiş veri girişi olarak alan ve tüm tekniklerden en iyi şekilde yararlanarak iyi sonuçlar veren bir algoritma yapmak mümkün mü? (Elbette profesyonel bir veri bilimcisinden daha az verimli olacak, ama benden daha iyi olacak!) Evetse, örnek kodlarınız var mı veya bunu yapabilen çerçeveler biliyor musunuz?

EDIT: Bazı cevaplar sonra, bazı daralma yapılması gibi görünüyor. Bir örnek alalım, kategorik verilere sahip bir sütunumuz var, diyelim yve onu Xaptallar veya gerçek sayısal veriler (yükseklik, sıcaklık) olan sayısal verilerden tahmin etmek istiyoruz . Temizliğin daha önce yapıldığını varsayıyoruz. Bu tür verileri alıp tahmin çıkarabilecek mevcut bir algoritma var mı? (birden fazla algoritmayı test ederek, ayarlayarak, artırarak, vb.) Evet ise, hesaplama açısından verimli midir (hesaplamalar normal algoritmaya kıyasla makul bir sürede yapılıyor mu) ve bir kod örneğiniz var mı?


1
Muhtemelen güçlü AI olana kadar değil.
gung - Monica'yı eski

1
Otomatik ayarlama ile ilgili olarak , Makine Öğreniminde Hiperparametre Arama hakkında bilgi edinmek isteyebilirsiniz . Izgara arama, hiperparametreleri optimize etmenin korkunç bir yoludur.
Marc Claesen

2
Do Eğer varsa o kadar çok kullanmak biçimlendirme ?
Sycorax, Reinstate Monica

2
Açıkladığınız şeyi yaptığını iddia eden ürünler var, örneğin Crystal Ball . Şahsen onlara güvenmiyorum, ama yazdığınız gibi: işi istatistik hakkında hiçbir fikri olmayan birinden daha iyi yapıyorlar
Aksakal

1
Tahmin için auto.arima( forecastkütüphaneden) insanlardan daha iyi olabilir - Rob Hyndman sunumlarında birkaç kez bahsetti. Bu nedenle, bazı "otomatik öğrenme" yöntemlerinin başarıyla uygulandığı alanlar vardır.
Tim

Yanıtlar:


7

Ne tür verileri besleyeceğinizi önceden biliyorsanız ("fiyatlar ve promosyon işaretleyicileriyle aylık CPG satışları ve bir puan tahmini istiyorum"), böylece kurulumunuzu önceden ayarlayabilirsiniz, bu muhtemelen mümkün ve zaten yapılmış, belirli özel görevler için çeşitli "uzman sistemlere" bakınız.

Herhangi bir veri alabilir ve onunla "yararlı bir şey" yapabilen bir şey arıyorsanız ("ah, burada el yazısı ve çıktı ZIP kodlarını tanımam gerekiyor ve orada dolandırıcılık tespiti yapmalıyım ve bu giriş dosyası açıkça kredi puanlama görevidir "), hayır, bunun uzun süre olacağını sanmıyorum.

Fikire dayalı bir soru olarak neyin iyi kapatılabileceğine dair fikir tabanlı bir cevap için özür dileriz.


Düzenlenen soruyu çözmek için DÜZENLE:

Biz kategorik verilerle bir sütun var, diyelim ve biz sayısal veriler onu tahmin etmek istiyorum ya mankenleri ya da gerçek sayısal veriler olduğunuyX

Bu, Rastgele Ormanların aslında oldukça iyi olduğu bir şeye benziyor . Daha sonra, yine RF'ler gibi bir "genel amaçlı" algoritma muhtemelen önceden bilinen belirli bir türüne , örneğin el yazısı rakamlara veya kredi temerrüt risklerine ayarlanmış bir algoritmayı yenmez .y


Senin sayende sorumu düzenledim, birinci kısım var "ne olursa olsun girdi al ve sonucu bana ver" ve cevabınız gerçekten içgörüldü ve belirli bir tür soru ve veri biçimlendirmesi için ikinci bir kısım var, beni bul sonuç".
Pholochtairze

Çok çeşitli problemler üzerinde derin öğrenmenin muazzam başarısı göz önüne alındığında, son paragrafın hala geçerli olduğundan emin değilim. Bu yöntemler kesinlikle genel amaçlıdır, ancak bilgisayar görme ve NLP gibi çeşitli uygulama alanlarında kayıtlar tutarlar. Mimarların görevler arasında farklılık gösterdiği iddia edilebilir, ancak teorik düzeyde tam olarak bağlı bir derin ağ en azından örneğin evrişimli ağlar kadar iyi performans gösterecektir, bu sadece uygun eğitim yöntemlerinin zor kalmasıdır.
Marc Claesen

@MarcClaesen: "Sadece uygun eğitim yöntemlerinin zor kalması" olduğunu söyleyebilirim, yine de alana özel uzmanlığa ihtiyacınız olacak nokta.
Stephan Kolassa

7

Açıkladığınız şey bir dereceye kadar, örneğin AutoWEKA'da zaten var ve aktif olarak yeniden araştırılıyor (örneğin, Chalearn's AutoML gibi zorluklar ).

Bu genellikle hiperparametre optimizasyonunun alt alanında dikkate alınır. Optunity , Hyperopt ve ParamILS gibi yazılım paketleri , belirli bir yaklaşım için hiperparametreleri otomatik olarak optimize etmek ve hangi yaklaşımın en iyi olacağını seçmek için kullanılabilir. Bununla birlikte, bu tür optimizasyon problemleri önemsiz değildir ve genellikle en iyi modeli (veya buna yakın) otomatik olarak almak uzun zaman alır.

Otomatik olarak en iyi öğrenme algoritmasını belirlemek için Optunity kullanarak bir örnek bulabilirsiniz ve onun hyperparameters optimize http://optunity.readthedocs.org/en/latest/notebooks/notebooks/sklearn-automated-classification.html


4

Hiper parametre ayarlama ve topluluk modellerindeki ilerlemeler, model sanatının çoğunu 'sanat' olarak alıyor. Bununla birlikte, model yapının hiper parametre ayarının ve topluluklarının ilgilenmediği ve sizi mümkün olan en iyi modeli bulmanızı engelleyecek iki önemli yönü vardır.

İlk olarak, belirli algoritma türleri belirli veri türlerini modellemede daha iyidir. Örneğin, değişkenleriniz arasında etkileşimler varsa, bir ek model onları bulamaz, ancak bir karar ağacı olacaktır. Modellerin farklı veri kümesinde nasıl davrandığını bilmek ve doğru olanı seçmek, en iyi modelleme algoritmasını bulmak için etki alanı hakkında bilgi gerektirebilir.

İkincisi, özellik mühendisliği ve özellik çıkarımı, model oluşturma için gerçek 'sanat'tır. Sorunuz, veri kümesinin zaten hazır olduğunu varsayar. Ancak varsaymamanız gereken şey, veri kümesinin modellemeye çalıştığınız şeyin mümkün olan en iyi temsilidir. Bu her zaman açık bir sorudur. Veri kümesinin karmaşık olduğu birçok durumda, özellikleri gün boyunca düzenleyebilirsiniz, ancak algoritmaya gittikçe daha fazla gürültü atma riskiyle karşı karşıya kalırsınız. Hangi özelliklerin ekleneceğini bilmek için hangi özelliklerin istatistiksel açıdan anlamlı ve hangilerinin alan adı uzmanının bakış açısından anlamlı olduğunu bilmeniz gerekir.

Bu iki sebeplerden dolayı, hayır, iyi bulur bir algoritma bulmak mümkün olmayacaktır sonucuna mümkün otomatik modeli. Bu yüzden veri bilimcilerinin ihtiyacını değiştirecek yazılım satıcılarının yunuslama araçlarından şüpheliyim.

Bununla birlikte, 'en iyi' bir eğitim setindeki en yüksek tahmin doğruluğu olarak tanımlandığı, en iyi hiper parametreleriyle sabit bir model setinden en iyi modeli bulma arzunuzu daraltıyorsanız, evet, bu mümkündür.

Check out caretpaketi Rnasıl otomatik olarak çalmaya modellerinden bir örnek olarak. caretkusurları olan ızgara aramasını kullanır ve her seferinde yalnızca bir model oluşturur. Bununla birlikte, birçok farklı paketten uzun bir model listesi için modelleri ve uygun sarmalayıcıları karşılaştırma işlevleri vardır R.


Hala tam otomatik makine öğrenmesinden uzak olduğumuzu kabul ediyorum, ancak belirttiğiniz nedenlerden ötürü değil. İki şey: (i) verilen bir setten en iyi modeli bulmak (+ hiperparametrelerini optimize etmek) zaten mümkündür ve (ii) özellik mühendisliği ve özellik çıkarma, derin öğrenmedeki ilerlemeler nedeniyle önemini yitirmektedir. Şu anda eksik olduğumuz en önemli şey, önceden bilgi ve alana özgü sağduyu dahil etmek için otomatik yollar.
Marc Claesen

"Önceden bilgi ve alana özgü sağduyu" nun (i) en iyi modeli ve (ii) en iyi özellikleri bulması dışında ML sürecini nasıl geliştirebileceğini sanmıyorum. İkinci ile son paragraf arasında gerçek modelleri ve optimal (maksimum doğruluk) modelleri ayırt etmeye çalıştım.
brandco

modelleme sürecinde hatalı etiketler ve / veya bilgi sızıntıları, eksik verilerle nasıl başa çıkılacağı, gerçek öğrenme görevinin (+ uygun bir puan / kayıp fonksiyonu) belirlenmesi ve genellikle tam bir veri temizliği (her zaman dahil olduğum tüm pratik problemler için ana çaba oldu).
Marc Claesen

2

Kime sorduğunuza bağlı.

Geçenlerde Scott Golder tarafından Context Relevant'da bir konuşma duydum . Ürünleri aslında bir özellik ve model seçim robotudur. Temel model, lojistik regresyondur, ancak sistem temel olarak doğru tahminler üretmek için özellik seçiminin, boyut küçültmenin, düzenlenmenin vb. Doğru kombinasyonunu anlamak için makine öğrenimini kullanır. Çok etkileyici bir konuşmaydı ve detayların hepsi çok özeldi. Görünüşe göre müşterileri büyük finansal şirketleri içeriyor ve sistem keyfi olarak büyük veri setlerini idare edebiliyor.

En azından birkaç kişi, otomatik veri biliminin en azından bazı uygulamalar için zaten burada olduğunu düşünüyor. Ve bu insanların bazıları (Bağlam İlgili müşterileri) görünüşe göre burun üzerinden ödeme için ödeme yapıyor.


1

Hayır, bu bir rüya değil. Bunu (yığılmış topluluklar da dahil olmak üzere bahsettiğiniz tüm tekniklerin kombinasyonu) H2O makine öğrenme kütüphanesine uyguladık . Bununla ilgili daha fazla bilgi edinebilir ve burada R ve Python'da kod örnekleri bulabilirsiniz .

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.