Otomatik ML ile fazla uygunluğu ve dengesiz verileri önleme

Makine öğrenmesi modelleri oluştururken aşırı uygunluk ve dengesiz veriler sık karşılaşılan sorunlardır. Varsayılan olarak, Azure Machine Learning'in Otomatik ML'si bu riskleri belirlemenize yardımcı olacak grafikler ve ölçümler sağlar ve bunları azaltmaya yardımcı olacak en iyi yöntemleri uygular.

Fazla uygunluğu belirleme

Makine öğrenmesinde fazla uygunluk, model eğitim verilerine çok iyi uyduğunda ve sonuç olarak görünmeyen test verileri üzerinde doğru tahminde yapılamadığında ortaya çıkar. Başka bir deyişle model, eğitim verilerindeki belirli desenleri ve gürültüyü ezberlemiştir ancak gerçek veriler üzerinde tahminde bulunabilecek kadar esnek değildir.

Aşağıdaki eğitilmiş modelleri ve bunların ilgili eğitim ve test doğruluklarını göz önünde bulundurun.

Modelleme Eğitim doğruluğu Test doğruluğu
A %99,9 %95
B 87% 87%
C %99,9 %45

A modelini göz önünde bulundurun; görülmeyen verilerde test doğruluğunun eğitim doğruluğundan düşük olması durumunda modelin fazla uygun olduğu yaygın bir yanılgı vardır. Ancak, test doğruluğu her zaman eğitim doğruluğundan daha az olmalıdır ve aşırı sığdırma ile uygun uyum arasındaki fark , ne kadar daha az doğru olduğuyla ilgilidir.

A ve B modellerini karşılaştırın, A modeli daha yüksek test doğruluğuna sahip olduğundan daha iyi bir modeldir ve test doğruluğu %95'te biraz daha düşük olsa da fazla uygunluk olduğunu öneren önemli bir fark değildir. Tren ve test doğrulukları birbirine daha yakın olduğundan B modelini seçemezsiniz.

C modeli açık bir fazla uygunluk durumunu temsil eder; eğitim doğruluğu yüksektir ancak test doğruluğu bu kadar yüksek değildir. Bu ayrım özneldir, ancak sorununuzun ve verilerinizin bilgisinden ve hangi hata büyüklüğünün kabul edilebilir olduğundan kaynaklanır.

Fazla uygunluğu önleme

En önemli durumlarda, fazla uygun bir model, eğitim sırasında görülen özellik değeri birleşimlerinin her zaman hedef için tam olarak aynı çıktıyla sonuçlandığını varsayar.

Fazla uygunluğu önlemenin en iyi yolu ml'nin aşağıdaki en iyi yöntemlerini izlemektir:

  • Daha fazla eğitim verisi kullanma ve istatistiksel sapmaları ortadan kaldırma
  • Hedef sızıntısını önleme
  • Daha az özellik kullanma
  • Düzenlileştirme ve hiper parametre iyileştirmesi
  • Model karmaşıklığı sınırlamaları
  • Çapraz doğrulama

Otomatik ML bağlamında, ilk üç yol uyguladığınız en iyi yöntemleri listeler. Son üç kalın yazı tipi öğe, fazla uygunluktan korunmak için Otomatik ML'nin varsayılan olarak uyguladığı en iyi uygulamalardır . Otomatik ML dışındaki ayarlarda, modellerin fazla uygunluktan kaçınmak için en iyi altı yöntem de takip edilmeye değer.

Uyguladığınız en iyi yöntemler

Daha fazla veri kullanma

Daha fazla veri kullanmak, fazla uygunluğu önlemenin en basit ve en iyi yoludur ve ek bir bonus olarak genellikle doğruluğu artırır. Daha fazla veri kullandığınızda modelin tam desenleri ezberlemesi zorlaşır ve daha fazla koşula uyum sağlamak için daha esnek çözümlere ulaşmak zorunda kalır. Eğitim verilerinizin canlı tahmin verilerinde mevcut olmayan yalıtılmış desenler içermediğinden emin olmak için istatistiksel yanlılıkları tanımak da önemlidir. Canlı test verileriyle karşılaştırıldığında fazla uygunluk mevcut olabileceği için bu senaryoya çözüm bulmak zor olabilir.

Hedef sızıntısını önleme

Hedef sızıntısı da benzer bir sorundur; burada eğitim/test kümeleri arasında fazla uygunluk göremeyebilirsiniz, bunun yerine tahmin zamanında görünür. Hedef sızıntı, modeliniz normalde tahmin zamanında sahip olmaması gereken verilere erişerek eğitim sırasında "hileler" yaparken ortaya çıkar. Örneğin Pazartesi günü bir emtia fiyatının Cuma günü ne olacağını tahmin etmek için, özellikleriniz perşembe günlerine ait verileri yanlışlıkla eklemişse bu, modelin geleceğe dönük görmeyeceği için tahmin zamanında sahip olmayacağı veriler olacaktır. Hedef sızıntısı kaçırılması kolay bir hatadır, ancak genellikle sorununuz için anormal derecede yüksek doğruluk ile karakterize edilir. Hisse senedi fiyatını tahmin etmeye çalışırken modeli %95 doğrulukla eğitiyorsanız, özelliklerinizin bir yerinde hedef sızıntısı olabilir.

Daha az özellik kullanın

Özelliklerin kaldırılması, modelin belirli desenleri ezberlemek için çok fazla alana sahip olmasını önleyerek fazla uygunluk konusunda da yardımcı olabilir ve bu da daha esnek olmasına neden olabilir. Nicel olarak ölçmek zor olabilir, ancak özellikleri kaldırabilir ve aynı doğruluğu koruyabilirseniz modeli daha esnek hale getirmiş ve fazla uygunluk riskini azaltmış olabilirsiniz.

Otomatik ML'nin uyguladığı en iyi yöntemler

Düzenlileştirme ve hiper parametre ayarlama

Düzenlileştirme , karmaşık ve fazla sığdırılmış modelleri cezaya indirmek için maliyet işlevini en aza indirme işlemidir. Farklı türlerde düzenlileştirme işlevleri vardır, ancak genel olarak hepsi model katsayısı boyutunu, varyansını ve karmaşıklığını cezalandırır. Otomatik ML, L1 (Kement), L2 (Sırt) ve ElasticNet 'i (L1 ve L2) aynı anda, fazla uygunluğu denetleen farklı model hiper parametre ayarlarıyla birlikte kullanır. Otomatik ML, bir modelin ne kadar düzenlendiğine ve en iyi sonucun seçileceğine göre değişiklik gösterir.

Model karmaşıklığı sınırlamaları

Otomatik ML ayrıca fazla uygunluğu önlemek için açık model karmaşıklığı sınırlamaları uygular. Çoğu durumda, bu uygulama özellikle tek tek ağaç maksimum derinliğinin sınırlı olduğu ve orman veya topluluk tekniklerinde kullanılan toplam ağaç sayısının sınırlı olduğu karar ağacı veya orman algoritmalarına yöneliktir.

Çapraz doğrulama

Çapraz doğrulama (CV), tam eğitim verilerinizin birçok alt kümesini alma ve her alt küme üzerinde bir model eğitma işlemidir. Burada fikir, bir modelin "şanslı" olabileceği ve bir alt kümede yüksek doğruluk elde edebileceğidir, ancak birçok alt küme kullanıldığında model her seferinde bu yüksek doğruluğu elde etmez. CV yaparken bir doğrulama saklama veri kümesi sağlar, CV katlamalarınızı (alt küme sayısı) belirtirsiniz ve Otomatik ML, doğrulama kümenizdeki hatayı en aza indirmek için modelinizi eğitip hiper parametreleri ayarlar. Bir CV katlama fazla sığdırılabilir, ancak birçoğu kullanıldığında son modelinizin fazla uygun olma olasılığını azaltır. Bunun dezavantajı, cv alt kümelerindeki her n model için bir modeli bir kez eğittiğiniz için CV'nin daha uzun eğitim sürelerine ve daha yüksek maliyete neden olmasıdır.

Not

Çapraz doğrulama varsayılan olarak etkin değildir; otomatik makine öğrenmesi ayarlarında yapılandırılmalıdır. Ancak çapraz doğrulama yapılandırıldıktan ve bir doğrulama veri kümesi sağlandıktan sonra işlem sizin için otomatikleştirilir.

Dengesiz verilerle modelleri tanımlama

Dengesiz veriler genellikle makine öğrenmesi sınıflandırma senaryolarına yönelik verilerde bulunur ve her sınıftaki orantısız gözlem oranı içeren verileri ifade eder. Bu dengesizlik, giriş verileri bir sınıfa karşı sapma içerdiğinden modelin doğruluğunun yanlış algılanan olumlu etkisine yol açabilir ve bu da eğitilen modelin bu yanlılığı taklit etmesine neden olur.

Ayrıca, Otomatik ML işleri aşağıdaki grafikleri otomatik olarak oluşturur. Bu grafikler, modelinizin sınıflandırmalarının doğruluğunu anlamanıza ve dengesiz verilerden etkilenmiş olabilecek modelleri belirlemenize yardımcı olur.

Grafik Description
Karışıklık Matrisi Verilerin gerçek etiketlerine göre doğru sınıflandırılmış etiketleri değerlendirir.
Duyarlık-yakalama Doğru etiketlerin oranını, verilerin bulunan etiket örneklerinin oranına göre değerlendirir
ROC Eğrileri Doğru etiketlerin oranını hatalı pozitif etiketlerin oranına göre değerlendirir.

Dengesiz verileri işleme

Makine öğrenmesi iş akışını basitleştirme hedefinin bir parçası olarak, Otomatik ML aşağıdakiler gibi dengesiz verilerle ilgilenmeye yardımcı olacak yerleşik özelliklere sahiptir:

  • Ağırlık sütunu: Otomatik ML, verilerdeki satırların yukarı veya aşağı ağırlıklı olmasına neden olmak için giriş olarak bir ağırlık sütunu oluşturur ve bu sütun bir sınıfı daha fazla veya daha az "önemli" hale getirmek için kullanılabilir.

  • Otomatik ML tarafından kullanılan algoritmalar, azınlık sınıfındaki örnek sayısının çoğunluk sınıfındaki örnek sayısının %20'sine eşit veya daha az olması durumunda dengesizliği algılar; burada azınlık sınıfı en az örnek içereni, çoğunluk sınıfı ise en çok örneği olanı ifade eder. Daha sonra otomatik makine öğrenmesi, sınıf ağırlıklarının kullanılmasının bu sorunu giderip gidermeyeceğini ve performansı geliştirip geliştirmediğini denetlemek için alt örneklenmiş verilerle bir deneme çalıştırır. Bu denemede daha iyi bir performans elde ederse, bu çözüm uygulanır.

  • Dengesiz verilerle daha iyi ilgilenen bir performans ölçümü kullanın. Örneğin, AUC_weighted, her sınıfın katkısını, bu sınıfı temsil eden göreli örnek sayısına göre hesaplayan birincil bir ölçümdür ve bu nedenle dengesizliğe karşı daha sağlamdır.

Aşağıdaki teknikler, Otomatik ML dışındaki dengesiz verileri işlemek için ek seçeneklerdir.

  • Küçük sınıfların yukarı örneklemesini yaparak veya daha büyük sınıfların aşağı örneklemesini yaparak sınıf dengesizliği için bile yeniden örnekleme. Bu yöntemler, işlemek ve analiz etmek için uzmanlık gerektirir.

  • Dengesiz veriler için performans ölçümlerini gözden geçirin. Örneğin, F1 puanı duyarlık ve yakalamanın harmonik ortalamasıdır. Duyarlık, bir sınıflandırıcının kesinliğini ölçer; burada yüksek duyarlık daha az hatalı pozitifi gösterirken, geri çağırma bir sınıflandırıcının tamlığını ölçer; burada daha yüksek geri çağırma daha az hatalı negatifi gösterir.

Sonraki adımlar

Örnekleri görün ve Otomatik ML kullanarak model oluşturmayı öğrenin: