LbfgsMaximumEntropyMulticlassTrainer Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
IEstimator<TTransformer> L-BFGS yöntemiyle eğitilen maksimum entropi çok sınıflı sınıflandırıcı kullanarak hedefi tahmin etme.
public sealed class LbfgsMaximumEntropyMulticlassTrainer : Microsoft.ML.Trainers.LbfgsTrainerBase<Microsoft.ML.Trainers.LbfgsMaximumEntropyMulticlassTrainer.Options,Microsoft.ML.Data.MulticlassPredictionTransformer<Microsoft.ML.Trainers.MaximumEntropyModelParameters>,Microsoft.ML.Trainers.MaximumEntropyModelParameters>
type LbfgsMaximumEntropyMulticlassTrainer = class
inherit LbfgsTrainerBase<LbfgsMaximumEntropyMulticlassTrainer.Options, MulticlassPredictionTransformer<MaximumEntropyModelParameters>, MaximumEntropyModelParameters>
Public NotInheritable Class LbfgsMaximumEntropyMulticlassTrainer
Inherits LbfgsTrainerBase(Of LbfgsMaximumEntropyMulticlassTrainer.Options, MulticlassPredictionTransformer(Of MaximumEntropyModelParameters), MaximumEntropyModelParameters)
- Devralma
Açıklamalar
Bu eğitmeni oluşturmak için LbfgsMaximumEntropy veya LbfgsMaximumEntropy(Options) kullanın.
Giriş ve Çıkış Sütunları
Giriş etiketi sütun verilerinin anahtar türü ve özellik sütununun bilinen boyutlu bir vektör olması Singlegerekir.
Bu eğitmen aşağıdaki sütunları oluşturur:
Çıkış Sütunu Adı | Sütun Türü | Description |
---|---|---|
Score |
Vektör Single | Tüm sınıfların puanları. Daha yüksek değer, ilişkili sınıfa düşme olasılığının yüksek olduğu anlamına gelir. i. öğe en büyük değere sahipse, tahmin edilen etiket dizini i olur. Sıfır tabanlı dizin olduğunu unutmayın. |
PredictedLabel |
anahtar türü | Tahmin edilen etiketin dizini. Değeri i ise, gerçek etiket anahtar değerli giriş etiketi türündeki i. kategori olacaktır. |
Eğitmen Özellikleri
Makine öğrenmesi görevi | Çok sınıflı sınıflandırma |
Normalleştirme gerekli mi? | Yes |
Önbelleğe alma gerekli mi? | No |
Microsoft.ML ek olarak gerekli NuGet | Hiçbiri |
ONNX'e aktarılabilir | Yes |
Puanlama İşlevi
Maksimum entropi modeli , doğrusal lojistik regresyonun genelleştirilmesidir. Entropi modeli ile lojistik regresyon arasındaki en büyük fark, dikkate alınan sınıflandırma probleminde desteklenen sınıf sayısıdır. Lojistik regresyon yalnızca ikili sınıflandırma için kullanılırken entropi modeli birden çok sınıfı işler. Ayrıntılı bir giriş için bu makaledeki Bölüm 1'e bakın.
Sınıf sayısının $m$ ve özellik sayısının $n$ olduğunu varsayalım. Entropi modeli üst sınırı, $c$-th sınıfına {\mathbb R}^n$ içinde $\textbf{w}_c \katsayı vektöru ve $c=1,\nokta,m$ için {\mathbb R}$ içinde bir sapma $b_c \atar. {\mathbb R}^n$ içindeki $\textbf{x} \özellik vektöründe $c$-th sınıfının puanı $\hat{y}^c = \textbf{w}_c^T \textbf{x} + b_c$ olur. $\textbf{x}$ öğesinin $c$ sınıfına ait olma olasılığı $\tilde{P}(c | \textbf{x}) = \frac{ e^{\hat{y}^c} }{ \sum_{c' = 1}^m e^{\hat{y}^{c'}} }$ tarafından tanımlanır. $P(c, \textbf{ x})$ $c$ ve $\textbf{x}$ görme olasılığını göstersin. Bu eğitmen tarafından simge durumuna küçültülmüş kayıp işlevi $-\sum_{c = 1}^m P(c, \textbf{ x}) \log \tilde{P}(c | \textbf{x}) $ 'dir ve bu da negatif günlük olasılığı işlevidir.
Eğitim Algoritması Ayrıntıları
Uygulanan iyileştirme tekniği sınırlı bellek Broyden-Fletcher-Goldfarb-Shanno yöntemini (L-BFGS) temel alır. L-BFGS, Hessian matrisinin pahalı hesaplamasını yaklaşık değerle değiştiren ancak yine de Tam Hessian matrisinin hesaplandığı Newton yöntemi gibi hızlı bir yakınsama oranına sahip olan bir quasi-Newtonian yöntemidir. L-BFGS yaklaşık değeri, bir sonraki adım yönünü hesaplamak için yalnızca sınırlı sayıda geçmiş durumu kullandığından, özellikle yüksek boyutlu özellik vektörü ile ilgili sorunlar için uygundur. Geçmiş durumların sayısı kullanıcı tarafından belirtilen bir parametredir; daha büyük bir sayı kullanılması Hessian matrisinin daha iyi bir şekilde tahmin edilmesine ve adım başına daha yüksek bir hesaplama maliyetine yol açabilir.
Bu sınıf, toplanan veriler üzerine oluşturulan iyileştirme sorununu formüle etmek için ampirik risk en aza indirerek (ERM) kullanır. Ampirik riskin genellikle modelin toplanan veri noktalarındaki tahminlerine bir kayıp işlevi uygulanarak ölçüldüğünü unutmayın. Eğitim verileri yeterli veri noktası içermiyorsa (örneğin, $n$boyutlu alanda doğrusal bir modeli eğitmek için en az $n$ veri noktalarına ihtiyacımız vardır), ERM tarafından üretilen modelin eğitim verilerini açıklamada iyi olması ancak görünmeyen olaylarda doğru sonuçları tahmin etmede başarısız olması için fazla uygunluk gerçekleşebilir. Düzenlileştirme , model parametrelerinin büyüklüğünü (genellikle norm işleviyle ölçülür) azaltarak böyle bir olguyu hafifletmek için yaygın bir tekniktir. Bu eğitmen, L1-norm (LASSO), $|| doğrusal bir kombinasyonunu cezalandıran esnek net düzenlileştirmeyi destekler \textbf{w}_c || _1$ ve L2-norm (sırt), $|| \textbf{w}_c || _2^2$ $c=1,\dots,m$ için normalleştirmeler. L1-norm ve L2-norm düzenlileştirmeleri, belirli bakımlardan tamamlayıcı olan farklı etkilere ve kullanımlara sahiptir.
Uygulanan iyileştirme algoritmasıyla birlikte L1-norm normalleştirmesi, $\textbf{w}_1,\dots,\textbf{w}_m$ model ağırlıklarının sıklığını artırabilir. Yüksek boyutlu ve seyrek veri kümelerinde, kullanıcılar L1 norm katsayısını dikkatle seçerse, tahmin gücünü etkilemeden yalnızca birkaç sıfır olmayan ağırlığa (örneğin, toplam model ağırlıklarının %1'i) sahip bir modelle iyi bir tahmin kalitesi elde etmek mümkündür. Buna karşılık, L2-norm eğitilen modelin sparsity'sini artıramaz, ancak yine de büyük parametre değerlerinden kaçınarak fazla uygunluğu önleyebilir. Bazen L2-norm kullanılması daha iyi bir tahmin kalitesine yol açar, bu nedenle kullanıcılar yine de bunu denemek ve L1-norm ve L2-norm katsayılarında ince ayar yapmak isteyebilir. Kavramsal olarak L1-norm'un kullanılması, tüm model parametrelerinin dağılımının bir Laplace dağılımı olduğunu, L2-norm ise onlar için Bir Gauss dağılımı anlamına gelir.
Agresif bir düzenlileştirme (yani L1-norm veya L2-norm düzenleme koşullarına büyük katsayılar atamak), önemli değişkenleri modelden dışlayarak tahmine dayalı kapasiteye zarar verebilir. Örneğin, çok büyük bir L1 norm katsayısı tüm parametreleri sıfır olmaya zorlayabilir ve önemsiz bir modele yol açabilir. Bu nedenle, doğru normalleştirme katsayılarının seçilmesi pratikte önemlidir.
Kullanım örneklerinin bağlantıları için Ayrıca Bkz. bölümüne bakın.
Alanlar
FeatureColumn |
Eğitmenin beklediği özellik sütunu. (Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>) |
LabelColumn |
Eğitmenin beklediği etiket sütunu. etiketin eğitim için kullanılmadığını gösteren olabilir |
WeightColumn |
Eğitmenin beklediği ağırlık sütunu. |
Özellikler
Info |
IEstimator<TTransformer> L-BFGS yöntemiyle eğitilen maksimum entropi çok sınıflı sınıflandırıcı kullanarak hedefi tahmin etme. (Devralındığı yer: LbfgsTrainerBase<TOptions,TTransformer,TModel>) |
Yöntemler
Fit(IDataView) |
bir ITransformereğitip döndürür. (Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>) |
Fit(IDataView, MaximumEntropyModelParameters) |
Zaten eğitilmiş |
GetOutputSchema(SchemaShape) |
IEstimator<TTransformer> L-BFGS yöntemiyle eğitilen maksimum entropi çok sınıflı sınıflandırıcı kullanarak hedefi tahmin etme. (Devralındığı yer: TrainerEstimatorBase<TTransformer,TModel>) |
Uzantı Metotları
AppendCacheCheckpoint<TTrans>(IEstimator<TTrans>, IHostEnvironment) |
Tahmin zincirine 'önbelleğe alma denetim noktası' ekleme. Bu, aşağı akış tahmincilerinin önbelleğe alınan verilere karşı eğitilmesini sağlar. Birden çok veri geçiren eğitmenlerden önce bir önbelleğe alma kontrol noktası olması yararlıdır. |
WithOnFitDelegate<TTransformer>(IEstimator<TTransformer>, Action<TTransformer>) |
Tahmin aracı verildiğinde, bir temsilci çağrıldıktan sonra Fit(IDataView) çağıracak bir sarmalama nesnesi döndürün. Tahmin aracının neyin uygun olduğu hakkında bilgi döndürmesi genellikle önemlidir; bu nedenle Fit(IDataView) yöntem yalnızca genel ITransformerbir nesne yerine özel olarak yazılan bir nesne döndürür. Bununla birlikte, aynı zamanda, IEstimator<TTransformer> genellikle birçok nesne içeren işlem hatları halinde oluşturulur, bu nedenle transformatörü almak istediğimiz tahmin aracının EstimatorChain<TLastTransformer> bu zincirde bir yere gömülü olduğu bir tahmin aracı zinciri oluşturmamız gerekebilir. Bu senaryo için, bu yöntem aracılığıyla sığdır çağrıldıktan sonra çağrılacak bir temsilci ekleyebiliriz. |
Şunlara uygulanır
Ayrıca bkz.
- LbfgsMaximumEntropy(MulticlassClassificationCatalog+MulticlassClassificationTrainers, String, String, String, Single, Single, Single, Int32, Boolean)
- LbfgsMaximumEntropy(MulticlassClassificationCatalog+MulticlassClassificationTrainers, LbfgsMaximumEntropyMulticlassTrainer+Options)
- LbfgsMaximumEntropyMulticlassTrainer.Options
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin