Wybieranie scenariusza i przygotowywanie danych

Ukończone

W tej lekcji dowiesz się więcej na temat wybierania scenariusza, wybierania środowiska szkoleniowego i przygotowywania danych do trenowania w narzędziu Model Builder.

Rozpoczynanie procesu trenowania

Aby rozpocząć proces trenowania, należy dodać nowy element modelu uczenia maszynowego (ML.NET) do nowej lub istniejącej aplikacji .NET.

Napiwek

Przenośność jest jedną z zalet zapewnianych przez biblioteki klas. Biblioteki klas ułatwiają odwołowanie się do wszystkich modeli, które są jej częścią z poziomu konsoli, pulpitu, sieci Web i dowolnego innego typu aplikacji .NET. Zalecamy dodanie elementów modelu uczenia maszynowego (ML.NET) do biblioteki klas.

Element Model uczenia maszynowego (ML.NET) dodaje plik do projektu z rozszerzeniem pliku mbconfig . Pliki korzystające z rozszerzenia mbconfig to pliki konfiguracji narzędzia Model Builder utworzone w formacie JSON. Te pliki umożliwiają:

  • Podaj nazwę modelu.
  • Współpracuj z innymi osobami w zespole za pośrednictwem kontroli źródła.
  • Stan trwały. Jeśli w dowolnym momencie procesu trenowania musisz zamknąć narzędzie Model Builder, stan jest zapisywany i możesz wybrać miejsce, w którym zostało to przerwane.

Wybór scenariusza

Pierwszym krokiem trenowania modelu uczenia maszynowego jest podjęcie decyzji, który scenariusz i zadanie uczenia maszynowego są najbardziej odpowiednie, biorąc pod uwagę to, co próbujesz przewidzieć.

Co to jest scenariusz?

W scenariuszu opisano problem, który próbujesz rozwiązać przy użyciu danych. Typowe scenariusze obejmują te wymienione w poprzedniej lekcji:

  • Kategoryzowanie danych: Organizowanie artykułów z wiadomościami według tematu.
  • Przewidywanie wartości liczbowej: oszacowanie ceny domu.
  • Grupowanie elementów o podobnych cechach: Klienci segmentu.
  • Klasyfikowanie obrazów: oznaczanie obrazu na podstawie jego zawartości.
  • Zalecane elementy: Zalecamy filmy.
  • Wykrywanie obiektów na obrazie: Wykrywanie pieszych i rowerów na skrzyżowaniu.

Scenariusze są mapowe na zadania uczenia maszynowego. Zadanie uczenia maszynowego to typ przewidywania lub wnioskowania na podstawie problemu lub pytania, które jest zadawane, i dostępnych danych.

Zadania uczenia maszynowego zwykle dzielą się na dwie kategorie:

  • Nadzorowanych
  • Nienadzorowane

Główna różnica między nimi polega na tym, czy etykieta, czy wartość, którą próbujesz przewidzieć, jest znana, czy nie.

W przypadku zadań nadzorowanych etykieta jest znana. Przykłady nadzorowanych zadań uczenia maszynowego obejmują:

  • Klasyfikacja
    • Binarne (dwie kategorie)
    • Multiklasa (co najmniej dwie kategorie)
    • Obraz
  • Regresja

W przypadku zadań nienadzorowanych etykieta jest nieznana. Przykłady nienadzorowanych zadań uczenia maszynowego obejmują:

  • Klastrowanie
  • Wykrywanie anomalii

Obsługiwane scenariusze w narzędziu Model Builder

Narzędzie Model Builder obsługuje następujące scenariusze mapujące na zadania uczenia maszynowego:

Scenariusz Zadanie uczenia maszynowego Przypadek użycia
Klasyfikacja danych Klasyfikacja binarna i wieloklasowa Organizowanie artykułów według tematu.
Przewidywanie wartości regresja liniowa Przewidywanie ceny domu na podstawie cech domu.
Klasyfikacja obrazów Klasyfikacja obrazów (uczenie głębokie) Organizowanie obrazów według gatunków zwierząt na podstawie zawartości obrazu.
Zalecenie Zalecenie Polecanie filmów na podstawie preferencji podobnych użytkowników.
Wykrywanie obiektów Wykrywanie obiektów (uczenie głębokie) Zidentyfikuj uszkodzenia fizyczne na obrazie.

Wybieranie scenariusza konserwacji predykcyjnej

W zależności od tego, jak wyglądają dane, problem z konserwacją predykcyjną można modelować za pomocą różnych zadań. W przypadku użycia, ponieważ etykieta jest wartością binarną (0 lub 1), która opisuje, czy maszyna jest uszkodzona, czy nie, scenariusz klasyfikacji danych jest odpowiedni.

Wybieranie środowiska

Po wybraniu klasyfikacji danych nadszedł czas, aby wybrać środowisko, w którym chcesz wytrenować model uczenia maszynowego. Środowiska opisują zasoby obliczeniowe, których będziesz używać do trenowania modelu uczenia maszynowego.

Obsługiwane środowiska w narzędziu Model Builder

Narzędzie Model Builder obsługuje następujące opcje środowiska:

Scenariusz Procesor lokalny Lokalny procesor GPU Azure GPU
Klasyfikacja danych ✔️
Przewidywanie wartości ✔️
Klasyfikacja obrazów ✔️ ✔️ ✔️
Zalecenie ✔️
Wykrywanie obiektów ✔️

W zależności od przypadku użycia istnieją różne powody, dla których możesz wybrać środowisko lokalne lub środowisko platformy Azure.

Środowiska lokalne

Przyczyny, dla których warto rozważyć lokalne środowiska obliczeniowe, obejmują:

  • Trenowanie lokalnie nie kosztuje niczego, ponieważ korzystasz z zasobów komputera.
  • Nie chcesz, aby dane opuszczały komputer lub centrum danych.

Środowiska platformy Azure

Scenariusze, takie jak klasyfikacja obrazów i wykrywanie obiektów, intensywnie korzystają z zasobów. Korzystanie z procesora GPU często przyspiesza proces trenowania. Jeśli nie masz procesora GPU lub komputera z wystarczającą ilością procesora CPU lub pamięci RAM, odciążanie procesu trenowania na platformie Azure może rozjaśnić obciążenie systemu.

Ładowanie i przygotowywanie danych

Po wybraniu scenariusza i środowiska szkoleniowego nadszedł czas na załadowanie i przygotowanie danych.

Dane są najważniejszym składnikiem tworzenia modeli uczenia maszynowego. Proces ładowania danych do narzędzia Model Builder składa się z trzech kroków:

  1. Wybierz typ źródła danych.
  2. Podaj lokalizację danych.
  3. Wybierz cel kolumny.

Wybierz typ źródła danych

W zależności od scenariusza narzędzie Model Builder obsługuje ładowanie danych z następujących źródeł:

  • Rozdzielane pliki (przecinek, średnik i karta)
  • Lokalne i zdalne bazy danych programu SQL Server
  • Obrazy (.jpg i .png)

Podaj lokalizację danych

Po wybraniu typu źródła danych należy podać lokalizację, w której jest przechowywany zestaw danych. Ta lokalizacja może być katalogiem, ścieżką pliku lub parametry połączenia bazy danych. Jest on zależny od wybranego scenariusza i typu źródła danych.

Po wybraniu źródła danych w narzędziu Model Builder analizuje dane i dokłada wszelkich starań, aby zidentyfikować:

  • Nagłówki i nazwy kolumn
  • Separator kolumn
  • Typy danych w kolumnach
  • Cel kolumny
  • Separatory dziesiętne

Po załadowaniu danych program Model Builder wyświetli podgląd niektórych elementów w zestawie danych.

Wybieranie przeznaczenia kolumny

W zależności od wybranego scenariusza należy zdefiniować przeznaczenie niektórych kolumn. W scenariuszach, takich jak klasyfikacja danych i przewidywanie wartości, musisz wybrać kolumnę, która ma być przewidywana (etykieta).

Domyślnie wszystkie inne kolumny, które nie są etykietą, są używane jako funkcje. Funkcje to kolumny używane jako dane wejściowe do przewidywania etykiety.

Zaawansowane opcje danych

Aby dostosować sposób ładowania danych, narzędzie Model Builder udostępnia zaawansowane opcje danych. Te opcje umożliwiają dostosowanie ustawień odnoszących się do kolumn i formatowania zestawu danych.

W przypadku kolumn można wybrać następujące ustawienia:

  • Cel: Czy kolumna powinna być funkcją, być etykietą, czy być ignorowana? Jako etykietę można wybrać tylko jedną kolumnę.
  • Typ danych: czy wartość jest wartością zmiennoprzecinkową o pojedynczej precyzji, ciągiem czy wartością logiczną?
  • Kategoria: czy kolumna reprezentuje wartość kategorii (na przykład: niska, średnia lub wysoka)?

Aby sformatować dane, możesz wybrać, czy dane zawierają nagłówki kolumn, separator kolumn (przecinek, średnik lub tabulator) oraz typ separatora dziesiętnego (kropka lub przecinek).

Omówienie zestawu danych konserwacji predykcyjnej

Zestaw danych używany w tym module to zestaw danych konserwacji predykcyjnej AI4I 2020. Ten syntetyczny zestaw danych odzwierciedla rzeczywiste dane konserwacji predykcyjnej napotkane w branży. Składa się z 10 000 punktów danych i 14 kolumn. Pochodzi z:

Wyjaśnialna sztuczna inteligencja dla aplikacji konserwacji predykcyjnej, Stephan Matzka, trzecia międzynarodowa konferencja na temat sztucznej inteligencji dla branż (AI4I 2020), 2020 (w prasie) i hostowana w repozytorium UCI Machine Learning — Dua, D. i Graff, C. (2019). Repozytorium http://archive.ics.uci.edu/mlUCI Machine Learning . Irvine, CA: University of California, School of Information and Computer Science.

Oto podgląd tego, jak wyglądają dane:

UDI Identyfikator produktu Typ Temperatura powietrza [K] Temperatura procesu [K] Prędkość rotacji [rpm] Moment obrotowy [Nm] Zużycie narzędzia [min] Awaria maszyny TWF HDF PWF OSF RNF
1 M14860 M 298.1 308.6 1551 42.8 0 0 0 0 0 0 0
162 L47341 L 298.3 308.1 1412 52.3 218 1 0 0 0 1 0

Kolumny są definiowane w następujący sposób:

  • UDI: indeks wiersza.
  • Identyfikator produktu: identyfikator produktu zawierający kategorię typu produktu i numer seryjny specyficzny dla wariantu.
  • Typ: Kategoria jakości produktu. Wartości to L (niski; 50% wszystkich produktów), M (średni; 30%) lub H (wysoki; 20%).
  • Temperatura powietrza [K], Temperatura procesu [K], Prędkość rotacji [rpm], Moment obrotowy [Nm], Zużycie narzędzia [min]: wartości zebrane z czujników.
  • Awaria maszyny: etykieta binarna (0 lub 1), która wskazuje, czy maszyna uległa awarii.
  • TWF, HDF, PWF, OSF, RNF: niezależne tryby awarii maszyny. Wartość 1 wskazuje, że wystąpił odpowiedni tryb awarii.

W tym scenariuszu nie będziesz używać wszystkich kolumn w zestawie danych, ponieważ nie informują one o przewidywaniu ani nie zawierają nadmiarowych informacji.

Ponieważ chcesz przewidzieć, czy maszyna zakończy się niepowodzeniem, czy nie, kolumna Błąd maszyny jest etykietą. W narzędziu Model Builder dla funkcji można używać danych z kolumn Identyfikator produktu, Typ i różne czujniki.

Chociaż tryby awarii są przydatne podczas diagnozowania głównej przyczyny awarii, nie są przydatne w przypadku użycia. Przyczyną jest to, że chcesz tylko wiedzieć, czy maszyna uległa awarii, czy nie. Ponadto podobne informacje są już przechwytywane przez kolumnę Awaria maszyny. W związku z tym można zignorować te kolumny.

Przejdź do następnej lekcji, aby sprawdzić swoją wiedzę na temat scenariuszy, środowisk i przygotowywania danych.