Udostępnij za pośrednictwem


Zadania uczenia maszynowego w ML.NET

Zadanie uczenia maszynowego to typ przewidywania lub wnioskowania na podstawie problemu lub pytania, które jest zadawane, oraz dostępnych danych. Na przykład zadanie klasyfikacji przypisuje dane do kategorii, a dane grup zadań klastrowania według podobieństwa.

Zadania uczenia maszynowego polegają na wzorcach w danych, a nie na jawnym programowanym programie.

W tym artykule opisano różne zadania uczenia maszynowego, które można wybrać w ML.NET i niektóre typowe przypadki użycia.

Po podjęciu decyzji, które zadanie działa w danym scenariuszu, musisz wybrać najlepszy algorytm do wytrenowania modelu. Dostępne algorytmy są wymienione w sekcji dla każdego zadania.

Klasyfikacja binarna

Nadzorowane zadanie uczenia maszynowego używane do przewidywania, do której z dwóch klas (kategorii) należy wystąpienie danych. Dane wejściowe algorytmu klasyfikacji to zestaw z etykietami przykładów, w których każda etykieta jest liczbą całkowitą 0 lub 1. Dane wyjściowe algorytmu klasyfikacji binarnej to klasyfikator, którego można użyć do przewidywania klasy nowych nieoznakowanych wystąpień. Przykłady scenariuszy klasyfikacji binarnej obejmują:

  • Zrozumienie tonacji komentarzy w serwisie Twitter jako "pozytywnych" lub "negatywnych".
  • Diagnozowanie, czy pacjent ma pewną chorobę, czy nie.
  • Podjęcie decyzji o oznaczeniu wiadomości e-mail jako "spamu" lub nie.
  • Określenie, czy zdjęcie zawiera konkretny element, taki jak pies lub owoce.

Aby uzyskać więcej informacji, zobacz artykuł klasyfikacji binarnej w Wikipedii.

Trenerzy klasyfikacji binarnej

Model klasyfikacji binarnej można wytrenować przy użyciu następujących algorytmów:

Dane wejściowe i wyjściowe klasyfikacji binarnej

Aby uzyskać najlepsze wyniki z klasyfikacją binarną, dane treningowe powinny być zrównoważone (czyli równe liczby dodatnich i negatywnych danych treningowych). Brakujące wartości powinny być obsługiwane przed trenowaniem.

Dane kolumny etykiety wejściowej muszą mieć wartość Boolean. Dane kolumn funkcji wejściowych muszą być wektorem o stałym rozmiarze Single.

Te trenerzy wyjdą następujące kolumny:

Nazwa kolumny wyjściowej Typ kolumny opis
Score Single Nieprzetworzona ocena obliczona przez model
PredictedLabel Boolean Przewidywana etykieta na podstawie znaku wyniku. Wynik ujemny jest mapowy na false wartość , a wynik dodatni jest mapowy na true.

Klasyfikacja wieloklasowa

Nadzorowane zadanie uczenia maszynowego używane do przewidywania klasy (kategorii) wystąpienia danych. Dane wejściowe algorytmu klasyfikacji to zestaw przykładów oznaczonych etykietami. Każda etykieta zwykle zaczyna się jako tekst. Następnie jest uruchamiany za pomocą elementu TermTransform, który konwertuje go na typ Klucz (liczbowy). Dane wyjściowe algorytmu klasyfikacji to klasyfikator, którego można użyć do przewidywania klasy nowych nieoznakowanych wystąpień. Przykłady scenariuszy klasyfikacji wieloklasowej obejmują:

  • Kategoryzowanie lotów jako "wcześnie", "na czas" lub "późno".
  • Zrozumienie recenzji filmów jako "pozytywne", "neutralne" lub "negatywne".
  • Kategoryzowanie recenzji hotelowych jako "lokalizacja", "cena", "czystość" itp.

Aby uzyskać więcej informacji, zobacz artykuł klasyfikacji wieloklasowej w Wikipedii.

Uwaga

Jeden z wszystkich uaktualnień wszystkich osób uczących się klasyfikacji binarnej do działania na wieloklasowych zestawach danych. Więcej informacji na temat Wikipedii.

Trenerzy klasyfikacji wieloklasowej

Model klasyfikacji wieloklasowej można wytrenować przy użyciu następujących algorytmów trenowania:

Dane wejściowe i wyjściowe klasyfikacji wieloklasowej

Dane kolumny etykiety wejściowej muszą być typem klucza . Kolumna funkcji musi być stałym wektorem rozmiaru Single.

Ten trener zwraca następujące dane:

Nazwa danych wyjściowych Type Opis
Score Wektor of Single Wyniki wszystkich klas. Wyższa wartość oznacza większe prawdopodobieństwo, aby należeć do skojarzonej klasy. Jeśli element i-th ma największą wartość, przewidywany indeks etykiety będzie i. Należy pamiętać, że i jest indeksem opartym na zera.
PredictedLabel typ klucza Indeks przewidywanej etykiety. Jeśli jej wartość to i, rzeczywista etykieta będzie kategorią i-th w typie etykiety wejściowej z wartością klucza.

Regresja

Nadzorowane zadanie uczenia maszynowego używane do przewidywania wartości etykiety z zestawu powiązanych funkcji. Etykieta może być dowolną rzeczywistą wartością i nie pochodzi z skończonego zestawu wartości, jak w zadaniach klasyfikacji. Algorytmy regresji modelują zależność etykiety od powiązanych funkcji, aby określić, w jaki sposób etykieta zmieni się, gdy wartości cech są zróżnicowane. Dane wejściowe algorytmu regresji to zestaw przykładów z etykietami znanych wartości. Dane wyjściowe algorytmu regresji to funkcja, której można użyć do przewidywania wartości etykiety dla dowolnego nowego zestawu funkcji wejściowych. Przykłady scenariuszy regresji obejmują:

  • Przewidywanie cen domów na podstawie atrybutów domu, takich jak liczba sypialni, lokalizacja lub rozmiar.
  • Przewidywanie przyszłych cen akcji na podstawie danych historycznych i bieżących trendów rynkowych.
  • Przewidywanie sprzedaży produktu na podstawie budżetów reklamowych.

Trenerzy regresji

Model regresji można wytrenować przy użyciu następujących algorytmów:

Dane wejściowe i wyjściowe regresji

Dane kolumny etykiety wejściowej muszą mieć wartość Single.

Trenerzy tego zadania wyjdą następujące dane:

Nazwa danych wyjściowych Type Opis
Score Single Nieprzetworzony wynik przewidywany przez model

Klastrowanie

Nienadzorowane zadanie uczenia maszynowego używane do grupowania wystąpień danych w klastry, które zawierają podobne cechy. Klastrowanie może również służyć do identyfikowania relacji w zestawie danych, które mogą nie być logicznie uzyskiwane przez przeglądanie lub prostą obserwację. Dane wejściowe i wyjściowe algorytmu klastrowania zależą od wybranej metodologii. Można stosować podejście oparte na dystrybucji, centroidie, łączności lub gęstości. ML.NET obecnie obsługuje podejście oparte na centroid przy użyciu klastrowania metodą K-Średnich. Przykłady scenariuszy klastrowania obejmują:

  • Zrozumienie segmentów gości hotelowych w oparciu o nawyki i cechy wyborów hotelowych.
  • Identyfikowanie segmentów klientów i danych demograficznych w celu ułatwienia tworzenia ukierunkowanych kampanii reklamowych.
  • Kategoryzowanie spisu na podstawie metryk produkcyjnych.

Trener klastrowania

Model klastrowania można wytrenować przy użyciu następującego algorytmu:

Klastrowanie danych wejściowych i wyjściowych

Dane funkcji wejściowych muszą mieć wartość Single. Nie są potrzebne żadne etykiety.

Ten trener zwraca następujące dane:

Nazwa danych wyjściowych Type Opis
Score wektor Single Odległości danego punktu danych do centroid wszystkich klastrów
PredictedLabel typ klucza Indeks najbliższego klastra przewidywany przez model.

Wykrywanie anomalii

To zadanie tworzy model wykrywania anomalii przy użyciu analizy głównych składników (PCA). Wykrywanie anomalii opartej na pcA ułatwia tworzenie modelu w scenariuszach, w których łatwe jest uzyskanie danych szkoleniowych z jednej klasy, takich jak prawidłowe transakcje, ale trudne do uzyskania wystarczających próbek docelowych anomalii.

Ustanowiona technika uczenia maszynowego pcA jest często używana w eksploracyjnej analizie danych, ponieważ ujawnia wewnętrzną strukturę danych i wyjaśnia wariancję danych. Analiza pcA działa przez analizowanie danych, które zawierają wiele zmiennych. Szuka korelacji między zmiennymi i określa kombinację wartości, które najlepiej przechwytują różnice w wynikach. Te połączone wartości funkcji służą do tworzenia bardziej kompaktowej przestrzeni funkcji nazywanej głównymi składnikami.

Wykrywanie anomalii obejmuje wiele ważnych zadań w uczeniu maszynowym:

  • Identyfikowanie transakcji, które są potencjalnie fałszywe.
  • Edukacja wzorców wskazujących, że doszło do włamania do sieci.
  • Znajdowanie nietypowych klastrów pacjentów.
  • Sprawdzanie wartości wprowadzonych w systemie.

Ponieważ anomalie są rzadkimi zdarzeniami według definicji, zbieranie reprezentatywnej próbki danych do użycia do modelowania może być trudne. Algorytmy uwzględnione w tej kategorii zostały specjalnie zaprojektowane, aby sprostać podstawowym wyzwaniom związanym z tworzeniem i trenowaniem modeli przy użyciu niezrównoważonych zestawów danych.

Trener wykrywania anomalii

Model wykrywania anomalii można wytrenować przy użyciu następującego algorytmu:

Dane wejściowe i wyjściowe wykrywania anomalii

Funkcje wejściowe muszą być wektorem o stałym rozmiarze Single.

Ten trener zwraca następujące dane:

Nazwa danych wyjściowych Type Opis
Score Single Wynik nieujemny, niezwiązany, który został obliczony przez model wykrywania anomalii
PredictedLabel Boolean Wartość true/false reprezentująca, czy dane wejściowe są anomalią (PredictedLabel=true), czy też nie (PredictedLabel=false)

Rankingi

Zadanie klasyfikacji konstruuje klasyfikator z zestawu oznaczonych przykładami. Ten przykładowy zestaw składa się z grup wystąpień, które można ocenić przy użyciu określonych kryteriów. Etykiety klasyfikacji to { 0, 1, 2, 3, 4 } dla każdego wystąpienia. Klasyfikator jest trenowany w celu klasyfikacji nowych grup wystąpień z nieznanymi wynikami dla każdego wystąpienia. ML.NET klasyfikacji uczniów są oparte na klasyfikacji maszynowej.

Klasyfikowanie algorytmów trenowania

Model klasyfikacji można wytrenować przy użyciu następujących algorytmów:

Klasyfikowanie danych wejściowych i wyjściowych

Typ danych etykiety wejściowej musi być typem klucza lub Single. Wartość etykiety określa istotność, gdzie wyższe wartości wskazują na większe znaczenie. Jeśli etykieta jest typem klucza, indeks klucza jest wartością istotności, gdzie najmniejszy indeks jest najmniej odpowiedni. Jeśli etykieta Singleto , większe wartości wskazują na większe znaczenie.

Dane funkcji muszą być wektorem o stałym rozmiarze, a kolumna grupy wierszy wejściowych Single musi być typem klucza .

Ten trener zwraca następujące dane:

Nazwa danych wyjściowych Type Opis
Score Single Niezwiązany wynik obliczony przez model w celu określenia przewidywania

Zalecenie

Zadanie rekomendacji umożliwia utworzenie listy zalecanych produktów lub usług. ML.NET używa współczynnikyzacji macierzy (MF), algorytm filtrowania współpracy dla zaleceń, gdy masz historyczne dane klasyfikacji produktów w katalogu. Na przykład masz historyczne dane klasyfikacji filmów dla użytkowników i chcesz zalecić inne filmy, które prawdopodobnie będą oglądać dalej.

Algorytmy trenowania zaleceń

Model rekomendacji można wytrenować przy użyciu następującego algorytmu:

Prognozowanie

Zadanie prognozowania używa poprzednich danych szeregów czasowych, aby przewidywać przyszłe zachowanie. Scenariusze mające zastosowanie do prognozowania obejmują prognozowanie pogody, prognozy sprzedaży sezonowej i konserwację predykcyjną.

Trenerzy prognozowania

Model prognozowania można wytrenować przy użyciu następującego algorytmu:

ForecastBySsa

Klasyfikacja obrazów

Nadzorowane zadanie uczenia maszynowego używane do przewidywania klasy (kategorii) obrazu. Dane wejściowe to zestaw z etykietami przykładów. Każda etykieta zwykle zaczyna się jako tekst. Następnie jest uruchamiany za pomocą elementu TermTransform, który konwertuje go na typ Klucz (liczbowy). Dane wyjściowe algorytmu klasyfikacji obrazów to klasyfikator, którego można użyć do przewidywania klasy nowych obrazów. Zadanie klasyfikacji obrazów jest typem klasyfikacji wieloklasowej. Przykłady scenariuszy klasyfikacji obrazów obejmują:

  • Określanie rasy psa jako "Syberyjski Husky", "Golden Retriever", "Poodle", itp.
  • Określenie, czy produkt produkcyjny jest wadliwy, czy nie.
  • Określanie typów kwiatów jako "Róża", "Słonecznik" itp.

Trenerzy klasyfikacji obrazów

Model klasyfikacji obrazów można wytrenować przy użyciu następujących algorytmów trenowania:

Dane wejściowe i wyjściowe klasyfikacji obrazów

Dane kolumny etykiety wejściowej muszą być typem klucza . Kolumna funkcji musi być wektorem o zmiennym rozmiarze Byte.

Ten trener zwraca następujące kolumny:

Nazwa danych wyjściowych Type Opis
Score Single Wyniki wszystkich klas. Wyższa wartość oznacza większe prawdopodobieństwo, aby należeć do skojarzonej klasy. Jeśli element i-th ma największą wartość, przewidywany indeks etykiety będzie i.Zwróć uwagę, że i jest indeksem zerowym.
PredictedLabel Typ klucza Indeks przewidywanej etykiety. Jeśli jej wartość to i, rzeczywista etykieta będzie kategorią i-th w typie etykiety wejściowej z wartością klucza.

Wykrywanie obiektów

Nadzorowane zadanie uczenia maszynowego, które służy do przewidywania klasy (kategorii) obrazu, ale także udostępnia pole ograniczenia, w którym znajduje się ta kategoria na obrazie. Zamiast klasyfikować pojedynczy obiekt na obrazie, wykrywanie obiektów może wykrywać wiele obiektów na obrazie. Przykłady wykrywania obiektów to:

  • Wykrywanie samochodów, znaków lub osób na zdjęciach drogi.
  • Wykrywanie wad na obrazach produktów.
  • Wykrywanie obszarów obaw na zdjęciach X-Ray.

Trenowanie modelu wykrywania obiektów jest obecnie dostępne tylko w narzędziu Model Builder przy użyciu usługi Azure Machine Edukacja.