Aracılığıyla paylaş


ML.NET'de makine öğrenmesi görevleri

Makine öğrenmesi görev, her ikisini de temel alan bir tahmin veya çıkarım türüdür:

  • Sorun veya soru
  • Kullanılabilir veriler

Ö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 kullanılabilen farklı makine öğrenmesi görevleri açıklanmaktadır.

Senaryonuz için 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.

Sınıflandırma görevleri

İkili sınıflandırma

İkili sınıflandırma, bir veri örneğinin tam olarak hangi sınıfına (kategoriler) ait olduğunu tahmin etmek için kullanılan denetimli bir makine öğrenmesi görevidir. 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 duygusunu anlama olumlu veya olumsuz.
  • Bir hastanın belirli bir hastalığı olup olmadığını teşhis.
  • 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:

İ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ş etiket sütunu verileri Booleanolmalıdır. Giriş özellikleri sütun verileri Singlesabit boyutlu bir vektör olmalıdır.

Bu eğitmenler aşağıdaki sütunları oluşturur:

Çıkış Sütunu Adı Sütun Türü Açıklama
Score Single Modelin hesaplanmış olduğu ham puan.
PredictedLabel Boolean Skorun işaretine dayanarak tahmin edilen etiket. Negatif bir skor false ile eşleşir ve pozitif bir skor trueile eşleşir.

Çok sınıflı sınıflandırma

Çok sınıflı sınıflandırma, bir veri örneğini üç veya daha fazla sınıfından (kategoriler) birinde sınıflandırmak için kullanılan denetimli makine öğrenmesi görevidir. Sınıflandırma algoritmasının girişi etiketli örnekler kümesidir. Her etiket normalde metin olarak başlar. Ardından TermTransform aracılığıyla ç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.
  • Örneğin otel incelemelerini "konum", "fiyat" veya "temizlik" olarak kategorilere ayırmak.

Daha fazla bilgi için Wikipedia'da Çok Sınıflı sınıflandırma makalesine bakın.

Not

One-vs.-rest, herhangi bir ikili sınıflandırma öğrenicisini çok sınıflı veri kümelerinde işlem yapacak şekilde yükseltir.

Ç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:

Çok sınıflı sınıflandırma girişleri ve çıkışları

Giriş etiketi sütun verileri anahtar türünde olmalıdır. Özellik sütunu, Singlesabit boyutlu bir vektör olmalıdır.

Bu eğitmen aşağıdaki sonuçları verir:

Çıkış Adı Tür Açıklama
Score Single vektör 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-th öğesi en büyük değere sahipse, tahmin edilen etiket dizini iolacaktır. i sıfır tabanlı dizin olduğunu unutmayın.
PredictedLabel anahtar Tahmin edilen etiketin dizini. Değeri iise, gerçek etiket anahtar değerli giriş etiketi türündeki i-th kategorisi olacaktır.

Metin sınıflandırması

Metin sınıflandırması, özellikle ham metinle ilgilenen çok sınıflı sınıflandırmanın bir alt kategorisidir. Metnin oluştuğu bağlamı ve semantiği hesaba bağlamanız gerektiğinden metin ilginç zorluklar oluşturur. Bu nedenle anlamı ve bağlamı kodlamak zor olabilir.

Derin öğrenme modelleri, doğal dil sorunlarını çözmek için umut verici bir teknik olarak ortaya çıkmıştır. Daha açık belirtmek gerekirse, transformatör olarak bilinen bir sinir ağı türü, metin sınıflandırması, çeviri, özetleme ve soru yanıtlama gibi doğal dil sorunlarını çözmenin baskın yolu haline gelmiştir. Doğal dil görevleri için bazı popüler transformatör mimarileri şunlardır:

  • Transformatörlerden çift yönlü kodlayıcı gösterimleri (BERT)
  • Sağlam bir şekilde iyileştirilmiş BERT ön eğitim yaklaşımı (RoBERTa)
  • Jeneratörlü önceden eğitilmiş transformatör (GPT)

ML.NET metin sınıflandırma API'TorchSharptarafından desteklenir. TorchSharp, PyTorch'ı destekleyen kitaplığa erişim sağlayan bir .NET kitaplığıdır. TorchSharp, .NET'te sinir ağlarını sıfırdan eğitmeye yönelik yapı taşları içerir. ML.NET TorchSharp'ın karmaşıklığından bazılarını senaryo düzeyine soyutlar. NAS-BERT modelinin önceden eğitilmiş bir sürümünü kullanır ve verilerinizle ince ayarlamalar uygular.

Metin sınıflandırma örneği için bkz. Metin sınıflandırma API'sini kullanmaya başlama.

Görüntü sınıflandırması

Görüntü sınıflandırması, bir görüntünün sınıfını (kategorisini) tahmin etmek için kullanılan denetimli makine öğrenmesi görevidir. Giriş, etiketlenmiş örnekler kümesidir. Her etiket normalde metin olarak başlar. Ardından TermTransform aracılığıyla ç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 Kurdu", "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 verileri anahtar türünde olmalıdır. Özellik sütunu, Bytedeğişken boyutlu bir vektör olmalıdır.

Bu eğitmen aşağıdaki sütunları üretir:

Çıkış Adı Tür 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-th öğesi en büyük değere sahipse, tahmin edilen etiket dizini iolacaktır. (i sıfır tabanlı bir dizindir.)
PredictedLabel Anahtar türü Tahmin edilen etiketin dizini. Değeri iise, gerçek etiket anahtar değerli giriş etiketi türündeki i-th kategorisi olacaktır.

Gerileme

Regresyon, bir dizi ilgili özellikten etiketin değerini tahmin etmek için kullanılan denetimli makine öğrenmesi görevidir. 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.
  • Yayındaki ilgili makaleleri bulma (cümle benzerliği).

Regresyon eğitmenleri

Aşağıdaki algoritmaları kullanarak regresyon modelini eğitebilirsiniz:

Regresyon girişleri ve çıkışları

Giriş etiket sütunu verileri Singleolmalıdır.

Bu görevin eğitmenleri aşağıdaki çıktıları oluşturur.

Çıkış Adı Tür Açıklama
Score Single Model tarafından tahmin edilen ham puan

Kümeleme

Kümeleme, veri örneklerini benzer özelliklere sahip kümeler halinde gruplandırmak için kullanılan denetimsiz bir makine öğrenmesi görevidir. 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 Singleolmalıdır. Etiket gerekmez.

Bu eğitmen aşağıdaki sonuçları verir:

Çıkış Adı Tür Açıklama
Score Single vektör Verilen veri noktasının tüm kümelerin merkez noktalarına olan uzaklıkları.
PredictedLabel anahtar türü Modelin tahmin ettiği en yakın kümenin indeksi.

Anomali algılama

Anomali algılama görevi, asıl bileşen analizini (PCA) kullanarak bir anomali algılama modeli oluşturur. PCA tabanlı anomali algılama, geçerli işlemler gibi tek 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 Singlesabit boyutlu bir vektör olmalıdır.

Bu eğitmen aşağıdaki sonuçları verir:

Çıkış Adı Tür Açıklama
Score Single Anomali algılama modeli tarafından hesaplanan negatif olmayan, ilişkisiz puan.
PredictedLabel Boolean Giriş anomali ise true, değilse false.

Sıralama

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 derecelendirme tabanlıdır.

Eğitim algoritmalarını derecelendirme

Aşağıdaki algoritmalarla bir derecelendirme modeli eğitebilirsiniz:

Girdi ve çıktıların sıralanması

Giriş etiketi veri türü, anahtarı türü veya Singleolmalıdır. Etiketin değeri, daha yüksek değerlerin daha yüksek alakayı gösterdiği durumu belirler. Etiket bir türünde anahtarsa, anahtar dizini ilgi değeridir; burada en küçük dizin en az ilgilidir. Etiket bir Singleise, daha büyük değerler daha yüksek ilgi gösterir.

Özellik verileri Single sabit boyutlu bir vektör olmalı ve giriş satırı grubu sütunu anahtar türünde olmalıdır.

Bu eğitmen aşağıdaki sonuçları verir:

Çıkış Adı Tür Açıklama
Score Single Tahmini belirlemek için model tarafından hesaplanan sınırsız puan.

Tavsiye

Ö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 bir işbirliğine dayalı filtreleme algoritması olan Matris faktörizasyonu (MF)kullanır. Örneğin, kullanıcılarınız için geçmiş film derecelendirme verileriniz var ve daha sonra izleme olasılığı olan 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.

Tahmin eğitmenleri

Tahmin modelini aşağıdaki algoritmayla eğitebilirsiniz:

ForecastBySsa

Nesne algılama

Nesne algılama, bir görüntünün sınıfını (kategorisini) 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örevidir. 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 kullanılabilir.