Share via


ML.NET algoritması seçme

Her ML.NET görev için aralarından seçim yapabileceğiniz birden çok eğitim algoritması vardır. Hangisini seçeceğiniz, çözmeye çalıştığınız soruna, verilerinizin özelliklerine ve kullanabileceğiniz işlem ve depolama kaynaklarına bağlıdır. Makine öğrenmesi modelini eğitmek yinelemeli bir süreçtir. En uygun algoritmayı bulmak için birden çok algoritma denemeniz gerekebilir.

Algoritmalar özellikler üzerinde çalışır. Özellikler, giriş verilerinizden hesaplanan sayısal değerlerdir. Bunlar makine öğrenmesi algoritmaları için en uygun girişlerdir. Ham giriş verilerinizi bir veya daha fazla veri dönüştürmesi kullanarak özelliklere dönüştürebilirsiniz. Örneğin, metin verileri bir sözcük sayıları ve sözcük birleşimi sayıları kümesine dönüştürülür. Özellikler, veri dönüşümleri kullanılarak ham bir veri türünden ayıklandıktan sonra özelliklendirilmiş olarak adlandırılır. Örneğin, özelliklendirilmiş metin veya özelliklendirilmiş görüntü verileri.

Eğitmen = Algoritma + Görev

Algoritma, bir model oluşturmak için yürütülen matematik işlemidir. Farklı algoritmalar farklı özelliklere sahip modeller üretir.

ML.NET ile aynı algoritma farklı görevlere uygulanabilir. Örneğin, İkili Sınıflandırma, Çok Sınıflı Sınıflandırma ve Regresyon için Stokastik İkili Koordinat Yükselmesi kullanılabilir. Fark, algoritma çıktısının görevle eşleşecek şekilde nasıl yorumlandığıdır.

Her algoritma/görev bileşimi için ML.NET, eğitim algoritmasını yürüten ve yorumlamayı yapan bir bileşen sağlar. Bu bileşenlere eğitmen adı verilir. Örneğin, Regresyon görevine SdcaRegressionTraineruygulanan StochasticDualCoordinatedAscent algoritmasını kullanır.

Doğrusal algoritmalar

Doğrusal algoritmalar, giriş verilerinin ve bir ağırlık kümesinin doğrusal birleşiminden puanları hesaplayan bir model oluşturur. Ağırlıklar, eğitim sırasında tahmin edilen modelin parametreleridir.

Doğrusal algoritmalar, doğrusal olarak ayrıştırılabilir özellikler için iyi çalışır.

Doğrusal algoritmayla eğitimden önce özelliklerin normalleştirilmesi gerekir. Bu, bir özelliğin sonuç üzerinde diğerlerinden daha fazla etkiye sahip olmasını önler.

Genel olarak doğrusal algoritmalar ölçeklenebilir, hızlı, eğitilebilir ucuz ve tahmin edilmesi ucuzdur. Bunlar özellik sayısına ve yaklaşık olarak eğitim veri kümesinin boyutuna göre ölçeklendirilir.

Doğrusal algoritmalar, eğitim verilerinin üzerinden birden çok geçiş yapar. Veri kümeniz belleğe sığıyorsa, eğitmeni eklemeden önce ML.NET işlem hattınıza önbellek denetim noktası eklemek eğitimin daha hızlı çalışmasını sağlar.

Ortalama algı

Metin sınıflandırması için en iyi.

Eğitmen Görev ONNX Dışarı Aktarılabilir
AveragedPerceptronTrainer İkili sınıflandırma Yes

Stokastik çift eşgüdümlü yükseliş

İyi bir varsayılan performans için ayarlama gerekli değildir.

Eğitmen Görev ONNX Dışarı Aktarılabilir
SdcaLogisticRegressionBinaryTrainer İkili sınıflandırma Yes
SdcaNonCalibratedBinaryTrainer İkili sınıflandırma Yes
SdcaMaximumEntropyMulticlassTrainer Çok sınıflı sınıflandırma Yes
SdcaNonCalibratedMulticlassTrainer Çok sınıflı sınıflandırma Yes
SdcaRegressionTrainer Regresyon Yes

L-BFGS

Özellik sayısı büyük olduğunda kullanın. Lojistik regresyon eğitim istatistikleri oluşturur, ancak AveragedPerceptronTrainer ile birlikte ölçeklendirilemez.

Eğitmen Görev ONNX Dışarı Aktarılabilir
LbfgsLogisticRegressionBinaryTrainer İkili sınıflandırma Yes
LbfgsMaximumEntropyMulticlassTrainer Çok sınıflı sınıflandırma Yes
LbfgsPoissonRegressionTrainer Regresyon Yes

Sembolik stokastik gradyan azalma

En hızlı ve en doğru doğrusal ikili sınıflandırma eğitmeni. İşlemci sayısıyla iyi ölçeklendirilir.

Eğitmen Görev ONNX Dışarı Aktarılabilir
SymbolicSgdLogisticRegressionBinaryTrainer İkili sınıflandırma Yes

Çevrimiçi gradyan azalma

Standart (toplu olmayan) stokastik gradyan azalmasını, bir kayıp işlevleri seçeneğiyle ve zaman içinde görülen vektörlerin ortalamasını kullanarak ağırlık vektörlerini güncelleştirme seçeneğiyle uygular.

Eğitmen Görev ONNX Dışarı Aktarılabilir
OnlineGradientDescentTrainer Regresyon Yes

Karar ağacı algoritmaları

Karar ağacı algoritmaları, bir dizi karar içeren bir model oluşturur: veri değerleri aracılığıyla etkili bir akış grafiği.

Bu tür algoritmaların kullanılabilmesi için özelliklerin doğrusal olarak ayrıştırılabilir olması gerekmez. Özellik vektörlerindeki tek tek değerler karar sürecinde bağımsız olarak kullanıldığından özelliklerin normalleştirilmesi gerekmez.

Karar ağacı algoritmaları genellikle çok doğrudur.

Genelleştirilmiş KatkıLı Modeller (GAM' ler) dışında, özellik sayısı büyük olduğunda ağaç modellerinde açıklanabilirlik eksik olabilir.

Karar ağacı algoritmaları daha fazla kaynak alır ve doğrusal olanlar kadar ölçeklendirmez. Belleğe sığabilen veri kümelerinde iyi performans gösterirler.

Artırılmış karar ağaçları, her ağacın giriş verilerini puanladığı ve puanı bir sonraki ağaca geçirerek daha iyi bir puan elde ettiği ve topluluktaki her ağacın öncekinden daha iyi hale geldiği küçük ağaçlardan oluşan bir topluluk.

Hafif gradyan artırılmış makine

İkili sınıflandırma ağacı eğitmenlerinin en hızlı ve en doğru. Yüksek oranda ayarlanabilir.

Eğitmen Görev ONNX Dışarı Aktarılabilir
LightGbmBinaryTrainer İkili sınıflandırma Yes
LightGbmMulticlassTrainer Çok sınıflı sınıflandırma Yes
LightGbmRegressionTrainer Regresyon Yes
LightGbmRankingTrainer Derecelendirme Hayır

Hızlı ağaç

Özelliklendirilmiş görüntü verileri için kullanın. Dengesiz verilere dayanıklıdır. Yüksek oranda ayarlanabilir.

Eğitmen Görev ONNX Dışarı Aktarılabilir
FastTreeBinaryTrainer İkili sınıflandırma Yes
FastTreeRegressionTrainer Regresyon Yes
FastTreeTweedieTrainer Regresyon Yes
FastTreeRankingTrainer Derecelendirme Hayır

Hızlı orman

Gürültülü verilerle iyi çalışır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
FastForestBinaryTrainer İkili sınıflandırma Yes
FastForestRegressionTrainer Regresyon Yes

Genelleştirilmiş katkı modeli (GAM)

Ağaç algoritmalarıyla iyi performans gösteren ancak açıklanabilirliğin öncelikli olduğu sorunlar için en iyi yöntemdir.

Eğitmen Görev ONNX Dışarı Aktarılabilir
GamBinaryTrainer İkili sınıflandırma Hayır
GamRegressionTrainer Regresyon Hayır

Matris faktörizasyonu

Matris Çarpanları

Öneride işbirliğine dayalı filtreleme için kullanılır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
MatrixFactorizationTrainer Öneri Hayır

Alan Algılayan Faktörizasyon Makinesi

Büyük veri kümeleriyle seyrek kategorik veriler için en iyi yöntemdir.

Eğitmen Görev ONNX Dışarı Aktarılabilir
FieldAwareFactorizationMachineTrainer İkili sınıflandırma Hayır

Meta algoritmalar

Bu eğitmenler ikili bir eğitmenden çok sınıflı bir eğitmen oluşturur. , , , , , LightGbmBinaryTrainerFastTreeBinaryTrainer, , FastForestBinaryTrainerGamBinaryTrainerile AveragedPerceptronTrainerkullanın. SymbolicSgdLogisticRegressionBinaryTrainerLbfgsLogisticRegressionBinaryTrainer

Tümüne karşı bir

Bu çok sınıflı sınıflandırıcı, her sınıf için bir ikili sınıflandırıcı eğitir ve bu sınıf diğer tüm sınıflardan ayrılır. Ölçek olarak kategorilere ayıracak sınıf sayısıyla sınırlıdır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
OneVersusAllTrainer Çok sınıflı sınıflandırma Yes

Çiftli kavrama

Bu çok sınıflı sınıflandırıcı, her sınıf çifti üzerinde bir ikili sınıflandırma algoritması eğiter. Her iki sınıfın birleşiminin eğitilmesi gerektiğinden, ölçek sınıf sayısıyla sınırlıdır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
PairwiseCouplingTrainer Çok sınıflı sınıflandırma Hayır

K Ortalamaları

Kümeleme için kullanılır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
KMeansTrainer Kümeleme Yes

Temel bileşen analizi

Anomali algılama için kullanılır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
RandomizedPcaTrainer Anomali algılama Hayır

Sade Bayes

Özellikler bağımsız olduğunda ve eğitim veri kümesi küçük olduğunda bu çok sınıflı sınıflandırma algoritmasını kullanın.

Eğitmen Görev ONNX Dışarı Aktarılabilir
NaiveBayesMulticlassTrainer Çok sınıflı sınıflandırma Yes

Önceki Eğitmen

Diğer eğitmenlerin performansını temel almak için bu ikili sınıflandırma algoritmasını kullanın. Etkili olmak için diğer eğitmenlerin ölçümleri önceki eğitmenden daha iyi olmalıdır.

Eğitmen Görev ONNX Dışarı Aktarılabilir
PriorTrainer İkili sınıflandırma Yes

Destek vektör makineleri

Destek vektörü makineleri (SVM' ler), doğrusal ve doğrusal olmayan sınıflandırma görevlerinde kullanılabilen son derece popüler ve iyi araştırılmış bir denetimli öğrenme modeli sınıfıdır.

Son araştırmalar, bu modelleri verimli bir şekilde daha büyük eğitim kümelerine ölçeklendirmek için iyileştirmenin yollarına odaklanmıştır.

Doğrusal SVM

Boole etiketli veriler üzerinde eğitilen doğrusal ikili sınıflandırma modelini kullanarak hedefi tahmin eder. Stokastik gradyan azalma adımları ile projeksiyon adımları arasında geçişler.

Eğitmen Görev ONNX Dışarı Aktarılabilir
LinearSvmTrainer İkili sınıflandırma Yes

Yerel Derin SVM

Doğrusal olmayan bir ikili sınıflandırma modeli kullanarak hedefi tahmin eder. Tahmin süresi maliyetini azaltır; tahmin maliyeti, sınıflandırma doğruluğunda tolere edilebilir bir kayıpla doğrusal olarak değil eğitim kümesinin boyutuyla logaritmik olarak artar.

Eğitmen Görev ONNX Dışarı Aktarılabilir
LdSvmTrainer İkili sınıflandırma Yes

Sıradan en küçük kareler

Normal en küçük kareler (OLS), doğrusal regresyonda en yaygın kullanılan tekniklerden biridir.

Normal en küçük kareler, gerçek değerden tahmin edilen çizgiye kadar olan uzaklık karesinin toplamı olarak hatayı hesaplayan ve kare hatasını en aza indirerek modele uyan kayıp işlevini ifade eder. Bu yöntem, girişler ve bağımlı değişken arasında güçlü bir doğrusal ilişki olduğunu varsayar.

Eğitmen Görev ONNX Dışarı Aktarılabilir
OlsTrainer Regresyon Yes