ML.NET'de makine öğrenmesi görevleri
Makine öğrenmesi görevi, sorulan sorun veya soruya ve kullanılabilir verilere göre yapılan tahmin veya çıkarım türüdür. Örneğin, sınıflandırma görevi kategorilere veri atar ve kümeleme görevi verileri benzerliğe göre gruplandırr.
Makine öğrenmesi görevleri, açıkça programlanmak yerine verilerdeki desenleri kullanır.
Bu makalede, ML.NET ve bazı yaygın kullanım örneklerinde aralarından seçim yapabileceğiniz farklı makine öğrenmesi görevleri açıklanmaktadır.
Senaryonuzda hangi görevin işe yarayabileceğinize karar verdikten sonra modelinizi eğitmek için en iyi algoritmayı seçmeniz gerekir. Kullanılabilir algoritmalar, her görev için bölümünde listelenir.
İkili sınıflandırma
Bir veri örneğinin hangi sınıfa (kategorilere) ait olduğunu tahmin etmek için kullanılan denetimli makine öğrenmesi görevi. Sınıflandırma algoritmasının girişi, etiketlenmiş örnekler kümesidir ve her etiket 0 veya 1 tamsayıdır. İkili sınıflandırma algoritmasının çıkışı, etiketlenmemiş yeni örneklerin sınıfını tahmin etmek için kullanabileceğiniz bir sınıflandırıcıdır. İkili sınıflandırma senaryolarına örnek olarak şunlar verilebilir:
- Twitter yorumlarının yaklaşımını "pozitif" veya "negatif" olarak anlama.
- Bir hastanın belirli bir hastalığı olup olmadığını teşhis etme.
- E-postayı "istenmeyen posta" olarak işaretlemeye karar verme.
- Bir fotoğrafın köpek veya meyve gibi belirli bir öğeyi içerip içermediğini belirleme.
Daha fazla bilgi için Wikipedia'da İkili sınıflandırma makalesine bakın.
İkili sınıflandırma eğitmenleri
Aşağıdaki algoritmaları kullanarak ikili sınıflandırma modelini eğitebilirsiniz:
- AveragedPerceptronTrainer
- SdcaLogisticRegressionBinaryTrainer
- SdcaNonCalibratedBinaryTrainer
- SymbolicSgdLogisticRegressionBinaryTrainer
- LbfgsLogisticRegressionBinaryTrainer
- LightGbmBinaryTrainer
- FastTreeBinaryTrainer
- FastForestBinaryTrainer
- GamBinaryTrainer
- FieldAwareFactorizationMachineTrainer
- PriorTrainer
- LinearSvmTrainer
İkili sınıflandırma girişleri ve çıkışları
İkili sınıflandırma ile ilgili en iyi sonuçlar için eğitim verileri dengelenmelidir (yani, eşit sayıda pozitif ve negatif eğitim verileri). Eksik değerler eğitimden önce işlenmelidir.
Giriş etiketi sütun verileri olmalıdır Boolean. Giriş özellikleri sütun verileri sabit boyutlu bir vektör olmalıdır Single.
Bu eğitmenler aşağıdaki sütunları oluşturur:
Çıkış Sütunu Adı | Sütun Türü | Açıklama |
---|---|---|
Score |
Single | Model tarafından hesaplanan ham puan |
PredictedLabel |
Boolean | Puanın işaretine göre tahmin edilen etiket. Negatif puan ile false , pozitif puan ise ile true eşler. |
Çok sınıflı sınıflandırma
Bir veri örneğinin sınıfını (kategorisini) tahmin etmek için kullanılan denetimli makine öğrenmesi görevi. Sınıflandırma algoritmasının girişi etiketli örnekler kümesidir. Her etiket normalde metin olarak başlar. Daha sonra TermTransform üzerinden çalıştırılır ve bu da bunu Anahtar (sayısal) türüne dönüştürür. Sınıflandırma algoritmasının çıktısı, etiketlenmemiş yeni örneklerin sınıfını tahmin etmek için kullanabileceğiniz bir sınıflandırıcıdır. Çok sınıflı sınıflandırma senaryolarına örnek olarak şunlar verilebilir:
- Uçuşları "erken", "zamanında" veya "geç" olarak kategorilere ayırma.
- Film incelemelerini "pozitif", "nötr" veya "negatif" olarak anlama.
- Otel incelemelerini "konum", "fiyat", "temizlik" vb. olarak kategorilere ayırmak.
Daha fazla bilgi için Wikipedia'da Çok Sınıflı sınıflandırma makalesine bakın.
Not
Bir ile tümü, çok sınıflı veri kümelerinde işlem yapmak için herhangi bir ikili sınıflandırma öğrencisini yükselter. Wikipedia hakkında daha fazla bilgi.
Çok sınıflı sınıflandırma eğitmenleri
Aşağıdaki eğitim algoritmalarını kullanarak çok sınıflı sınıflandırma modelini eğitebilirsiniz:
- LightGbmMulticlassTrainer
- SdcaMaximumEntropyMulticlassTrainer
- SdcaNonCalibratedMulticlassTrainer
- LbfgsMaximumEntropyMulticlassTrainer
- NaiveBayesMulticlassTrainer
- OneVersusAllTrainer
- PairwiseCouplingTrainer
Çok sınıflı sınıflandırma girişleri ve çıkışları
Giriş etiketi sütun verilerinin anahtar türü olması gerekir. Özellik sütunu sabit boyutlu vektör olmalıdır Single.
Bu eğitmen aşağıdaki çıkışları oluşturur:
Çıkış Adı | Type | Açıklama |
---|---|---|
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. öğesi 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. |
Regresyon
Bir dizi ilgili özellikten etiketin değerini tahmin etmek için kullanılan denetimli makine öğrenmesi görevi. Etiket herhangi bir gerçek değere sahip olabilir ve sınıflandırma görevlerinde olduğu gibi sonlu bir değer kümesinden değildir. Regresyon algoritmaları, özelliklerin değerleri değiştikçe etiketin nasıl değişeceğini belirlemek için etiketin ilgili özelliklerine bağımlılığını modeller. Regresyon algoritmasının girişi, bilinen değerlerin etiketlerini içeren bir dizi örnektir. Regresyon algoritmasının çıkışı, yeni giriş özellikleri kümesinin etiket değerini tahmin etmek için kullanabileceğiniz bir işlevdir. Regresyon senaryolarına örnek olarak şunlar verilebilir:
- Yatak odası sayısı, konum veya boyut gibi ev özniteliklerine göre ev fiyatlarını tahmin etme.
- Geçmiş verilere ve güncel piyasa eğilimlerine göre gelecekteki hisse senedi fiyatlarını tahmin etme.
- Reklam bütçelerine göre bir ürünün satışını tahmin etme.
Regresyon eğitmenleri
Aşağıdaki algoritmaları kullanarak regresyon modelini eğitebilirsiniz:
- LbfgsPoissonRegressionTrainer
- LightGbmRegressionTrainer
- SdcaRegressionTrainer
- OlsTrainer
- OnlineGradientDescentTrainer
- FastTreeRegressionTrainer
- FastTreeTweedieTrainer
- FastForestRegressionTrainer
- GamRegressionTrainer
Regresyon girişleri ve çıkışları
Giriş etiketi sütun verileri olmalıdır Single.
Bu görevin eğitmenleri aşağıdaki çıkışları oluşturur:
Çıkış Adı | Type | Açıklama |
---|---|---|
Score |
Single | Model tarafından tahmin edilen ham puan |
Kümeleme
Veri örneklerini benzer özelliklere sahip kümeler halinde gruplandırmak için kullanılan denetimsiz bir makine öğrenmesi görevi. Kümeleme, gözatma veya basit gözlemle mantıksal olarak türetmeyebileceğiniz bir veri kümesindeki ilişkileri tanımlamak için de kullanılabilir. Kümeleme algoritmasının girişleri ve çıkışları, seçilen metodolojiye bağlıdır. Dağıtım, merkezroid, bağlantı veya yoğunluk tabanlı bir yaklaşım benimseyebilirsiniz. ML.NET şu anda K-Means kümeleme kullanarak centroid tabanlı bir yaklaşımı desteklemektedir. Kümeleme senaryolarına örnek olarak şunlar verilebilir:
- Otel seçeneklerinin alışkanlıklarına ve özelliklerine göre otel konuklarının segmentlerini anlama.
- Hedefli reklam kampanyaları oluşturmaya yardımcı olmak için müşteri segmentlerini ve demografik bilgilerini tanımlama.
- Stokları üretim ölçümlerine göre kategorilere ayırma.
Kümeleme eğitmeni
Aşağıdaki algoritmayı kullanarak kümeleme modelini eğitebilirsiniz:
Kümeleme girişleri ve çıkışları
Giriş özellikleri verileri olmalıdır Single. Etiket gerekmez.
Bu eğitmen aşağıdaki çıkışları oluşturur:
Çıkış Adı | Type | Açıklama |
---|---|---|
Score |
vektör Single | Verilen veri noktasının tüm kümelerin merkez noktalarına olan uzaklıkları |
PredictedLabel |
anahtar türü | Model tarafından tahmin edilen en yakın küme dizini. |
Anomali algılama
Bu görev, Asıl Bileşen Analizi (PCA) kullanarak bir anomali algılama modeli oluşturur. PCA Tabanlı Anomali Algılama, geçerli işlemler gibi bir sınıftan eğitim verileri almanın kolay olduğu ancak hedeflenen anomalilerin yeterli örneklerinin elde edilemediği senaryolarda bir model oluşturmanıza yardımcı olur.
Makine öğrenmesinde yerleşik bir teknik olan PCA, verilerin iç yapısını ortaya çıkardığından ve verilerdeki varyansı açıkladığı için keşif veri analizinde sıklıkla kullanılır. PCA, birden çok değişken içeren verileri analiz ederek çalışır. Değişkenler arasındaki bağıntıları arar ve sonuçlardaki farkları en iyi yakalayan değerlerin birleşimini belirler. Bu birleştirilmiş özellik değerleri, asıl bileşenler olarak adlandırılan daha kompakt bir özellik alanı oluşturmak için kullanılır.
Anomali algılama, makine öğrenmesindeki birçok önemli görevi kapsar:
- Sahte olabilecek işlemleri tanımlama.
- Bir ağ izinsiz girişi oluştuğuna işaret eden öğrenme desenleri.
- Anormal hasta kümelerini bulma.
- Sisteme girilen değerler denetleniyor.
Anomaliler tanım gereği nadir olaylar olduğundan, modelleme için kullanılacak temsili bir veri örneği toplamak zor olabilir. Bu kategoriye dahil edilen algoritmalar özellikle dengesiz veri kümelerini kullanarak model oluşturma ve eğitmeye yönelik temel zorlukları ele almak için tasarlanmıştır.
Anomali algılama eğitmeni
Aşağıdaki algoritmayı kullanarak anomali algılama modelini eğitebilirsiniz:
Anomali algılama girişleri ve çıkışları
Giriş özellikleri sabit boyutlu bir vektör olmalıdır Single.
Bu eğitmen aşağıdaki çıkışları oluşturur:
Çıkış Adı | Type | Açıklama |
---|---|---|
Score |
Single | Anomali algılama modeli tarafından hesaplanan negatif olmayan, ilişkisiz puan |
PredictedLabel |
Boolean | Girişin bir anomali (PredictedLabel=true) olup olmadığını gösteren true/false değeri (PredictedLabel=false) |
Derecelendirme
Derecelendirme görevi, etiketlenmiş örnekler kümesinden bir dereceleyici oluşturur. Bu örnek kümesi, belirli bir ölçütle puanlanabilir örnek gruplarından oluşur. Derecelendirme etiketleri her örnek için { 0, 1, 2, 3, 4 } şeklindedir. Dereceleyici, her örnek için bilinmeyen puanlara sahip yeni örnek gruplarını derecelendirecek şekilde eğitilir. ML.NET derecelendirme öğrenenler makine öğrenmesi derecelendirmesi tabanlıdır.
Eğitim algoritmalarını derecelendirme
Aşağıdaki algoritmalarla bir derecelendirme modeli eğitebilirsiniz:
Sıralama girişi ve çıkışları
Giriş etiketi veri türü veya Singleanahtar türünde olmalıdır. Etiketin değeri, daha yüksek değerlerin daha yüksek ilgiyi gösterdiği ilgiyi belirler. Etiket bir anahtar türüyse anahtar dizini, en küçük dizinin en az ilgili olduğu ilgi değeridir. Etiket bir Singleise, daha büyük değerler daha yüksek ilgi gösterir.
Özellik verilerinin sabit boyutlu bir vektör olması ve giriş satırı grubu sütununun Single anahtar türü olması gerekir.
Bu eğitmen aşağıdaki çıkışları oluşturur:
Çıkış Adı | Type | Açıklama |
---|---|---|
Score |
Single | Tahmin belirlemek için model tarafından hesaplanan ilişkisiz puan |
Öneri
Öneri görevi, önerilen ürün veya hizmetlerin listesinin üretilmesine olanak tanır. ML.NET, kataloğunuzda geçmiş ürün derecelendirme verileri olduğunda öneriler için işbirliğine dayalı bir filtreleme algoritması olan Matris faktörleştirmesini (MF) kullanır. Örneğin, kullanıcılarınız için geçmiş film derecelendirme verileriniz var ve daha sonra izlemeleri muhtemel diğer filmleri önermek istiyorsunuz.
Öneri eğitim algoritmaları
Aşağıdaki algoritmayla bir öneri modelini eğitebilirsiniz:
Tahmin
Tahmin görevi, gelecekteki davranışlarla ilgili tahminlerde bulunmak için geçmiş zaman serisi verilerini kullanır. Tahmin için geçerli senaryolar arasında hava durumu tahmini, mevsimsel satış tahminleri ve tahmine dayalı bakım sayılabilir.
Eğitimcileri tahmin etme
Tahmin modelini aşağıdaki algoritmayla eğitebilirsiniz:
Resimleri Sınıflandırma
Bir görüntünün sınıfını (kategorisini) tahmin etmek için kullanılan denetimli makine öğrenmesi görevi. Giriş, etiketlenmiş örnekler kümesidir. Her etiket normalde metin olarak başlar. Daha sonra TermTransform üzerinden çalıştırılır ve bu da bunu Anahtar (sayısal) türüne dönüştürür. Görüntü sınıflandırma algoritmasının çıkışı, yeni görüntü sınıfını tahmin etmek için kullanabileceğiniz bir sınıflandırıcıdır. Görüntü sınıflandırma görevi, çok sınıflı bir sınıflandırma türüdür. Görüntü sınıflandırma senaryolarına örnek olarak şunlar verilebilir:
- Bir köpeğin cinsini "Sibirya Husky", "Golden Retriever", "Kaniş" vb. olarak belirlemek.
- Üretim ürününün arızalı olup olmadığını belirleme.
- Ne tür çiçeklerin "Gül", "Ayçiçeği" vb. olarak belirlenmesi.
Görüntü sınıflandırma eğitmenleri
Aşağıdaki eğitim algoritmalarını kullanarak görüntü sınıflandırma modelini eğitebilirsiniz:
Görüntü sınıflandırma girişleri ve çıkışları
Giriş etiketi sütun verilerinin anahtar türü olması gerekir. Özellik sütunu değişken boyutlu bir vektör olmalıdır Byte.
Bu eğitmen aşağıdaki sütunların çıkışını oluşturur:
Çıkış Adı | Type | Açıklama |
---|---|---|
Score |
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. öğesi en büyük değere sahipse, tahmin edilen etiket dizini i.Sıfır tabanlı dizin olduğuma dikkat edin. |
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. |
Nesne Algılama
Bir görüntünün sınıfını (kategori) tahmin etmek için kullanılan ancak aynı zamanda bu kategorinin görüntü içinde bulunduğu yere sınırlayıcı bir kutu sağlayan denetimli makine öğrenmesi görevi. Nesne algılama, görüntüdeki tek bir nesneyi sınıflandırmak yerine bir görüntüdeki birden çok nesneyi algılayabilir. Nesne algılama örnekleri şunlardır:
- Bir yol görüntüsündeki arabaları, işaretleri veya kişileri algılama.
- Ürünlerin görüntülerindeki hataları algılama.
- X-Ray görüntüleriyle ilgili endişe alanlarını algılama.
Nesne algılama modeli eğitimi şu anda yalnızca Azure Machine Learning kullanılarak Model Builder'da kullanılabilir.