Rozwiąż problemy z uczeniem maszynowym

Opublikowany: 2017-11-01
Spis treści pokaż
Szukasz darmowych opcji na początek?
Jakie czynniki należy wziąć pod uwagę podczas tworzenia zestawu danych szkoleniowych uczenia maszynowego?
Identyfikacja typu algorytmu w rozwoju
Prawidłowa identyfikacja „jeśli” i „kiedy” Big Data jest wymagana
Podsumowując

W związku z agresywną trajektorią rozwoju uczenia maszynowego coraz więcej naukowców zajmujących się danymi koncentruje się na uzyskiwaniu wyników, aby naśladować rzeczywiste zastosowania praktyczne. W tym celu polegają na uczących zestawach danych, aby trenować swój model i „uczyć się” lepiej. Po wykonaniu tej czynności jest przekazywany przez rzeczywiste dane, na których nie został przeszkolony, przy użyciu testowego zestawu danych. W związku z tym zestaw danych szkoleniowych uczenia maszynowego to dane, dla których MLP został przeszkolony przy użyciu zestawu danych szkoleniowych.

Zarówno zestawy danych szkoleniowych, jak i testowych będą próbowały dopasować się do reprezentatywnych próbek populacji. Gwarantuje to, że wyniki będą miały uniwersalne zastosowanie dla tej próbki. To w skrócie uczenie maszynowe .

czego szukać w danych treningowych

Szukasz darmowych opcji na początek?

Jeśli szukasz wartościowych, bezpłatnych źródeł baz danych do tworzenia zestawów danych treningowych, poniższe opcje mogą być dla Ciebie świetnym punktem wyjścia:

  1. UCI — repozytorium uczenia maszynowego
  2. Iris by UCI [Ma 3 klasy, 50 próbek dla każdej klasy, łącznie 150 punktów danych; dobre źródło dla początkujących]
  3. Kaggle
  4. Otwarte zbiory danych pomagają uczyć rzeczy i roboty, aby były inteligentne i bardziej przydatne
  5. Ławka ML firmy R
  6. MIAS
  7. Mulan
  8. DataStock od PromptCloud

Jakie czynniki należy wziąć pod uwagę podczas tworzenia zestawu danych szkoleniowych uczenia maszynowego ?

1. Odpowiednia ilość

Musisz ocenić i mieć gotową odpowiedź na te podstawowe pytania dotyczące ilości danych:

  • Liczba rekordów do pobrania z baz danych
  • Wielkość próby potrzebna do uzyskania oczekiwanych wyników wydajności
  • Podział danych do szkolenia i testowania lub skorzystaj z alternatywnego podejścia, takiego jak k-krotna walidacja krzyżowa

2. Podejście do dzielenia danych

Potrzebujesz danych do zbudowania modelu i potrzebujesz danych do przetestowania modelu. Powinna istnieć metoda podziału zestawu danych na te dwie części. Możesz wybrać podział losowy lub podział na czas. W przypadku tych ostatnich ogólna zasada jest taka, że ​​starsze dane są przeznaczone do trenowania, a nowsze do testowania. Niektóre zestawy danych wymagają innych metod, takich jak próbkowanie warstwowe lub próbkowanie klastrowe. Jeśli naprawdę nie jesteś pewien, zrób małego pilota, aby zweryfikować swój model, a następnie przerzuć go w pełni po całej planszy.

3. Historia przeszła

Wielu analityków danych pracowało już nad problemami w przeszłości i opracowało zestawy danych uczących dla swoich konkretnych potrzeb w zakresie modelowania. Praca nad stosowanymi problemami uczenia maszynowego ułatwia nie tylko uzyskanie odpowiedniego zestawu danych, ale także pewność oczekiwanych wyników.

Możesz sprawdzić badania, które mają problemy podobne do Twojego obecnego problemu i zebrać dane dla lepszej efektywności procesu budowania modelu. Jeśli masz szczęście, że w przeszłości przeprowadzono dużą liczbę podobnych badań, możesz je uśrednić do celów budowlanych.

4. Ekspertyza domenowa

Filozofia „Garbage In Garbage Out” jest niezwykle ważna w przypadku zestawu danych szkoleniowych do uczenia maszynowego. Algorytm uczenia maszynowego nauczy się dla dowolnych danych, które go podasz. Jeśli więc dane dostarczone jako dane wejściowe są dobrej jakości, to opracowany algorytm uczenia będzie również dobrej jakości. Zazwyczaj próbki, które karmisz, muszą mieć dwie kluczowe cechy – niezależność i identyczną dystrybucję.

A jak ustalić, czy dane wejściowe są dobrej jakości? Prosty. Poproś eksperta w danej dziedzinie, aby przejrzał dane wyszkolonym oczom. Będzie w stanie ocenić, czy użyta próbka jest odpowiednia, czy próbka jest równomiernie rozłożona i czy próbka jest niezależna.

Ekspert może również pomóc w inżynierii danych w taki sposób, aby uzyskać większą pulę bez naruszania podstawowych zasad zasięgu i uniwersalnej stosowalności. Może również pomóc w symulacji danych, których obecnie nie masz, ale chcesz użyć do szkolenia programu uczenia maszynowego.

5. Właściwy rodzaj transformacji danych

Po przetworzeniu czystych danych możesz je przekształcić w oparciu o cele szkoleniowe uczenia maszynowego. Znajomość dziedziny i cechy/funkcje algorytmu mogą pomóc w określeniu odpowiedniego rodzaju transformacji, która ma zostać zastosowana w celu zasilenia treningowego zestawu danych. Ten etap inżynierii funkcji pomaga w przekształceniu danych w takie, które najlepiej nadają się do określonego typu analizy. Inżynieria funkcji może obejmować jeden lub więcej z poniższych procesów transformacji danych.

a. Skalowanie — zwykle przetworzony zbiór danych będzie miał atrybuty, które używają różnych skal dla metryk, takich jak wagi (kilogramy lub funty), odległość (kilometry lub mile) lub waluta (dolary lub euro). Będziesz musiał zmniejszyć różnice w skali, aby uzyskać znacznie lepszy wynik. Ten krok skalowania funkcji pomoże lepiej analizować dane.

b. Dekompozycja – Za pomocą dekompozycji funkcjonalnej zmienną złożoną można podzielić na jej części składowe na poziomie granularnym. Te poszczególne części składowe mogą mieć pewne nieodłączne właściwości lub cechy, które mogą wzbogacać cały proces budowania uczenia maszynowego. Dlatego ważne jest rozdzielenie w celu osiągnięcia tych cech. Pomaga oddzielić „szum” od elementów lub komponentów, którymi faktycznie jesteśmy zainteresowani do budowania zestawów danych treningowych. Sposób, w jaki metoda sieci bayesowskiej próbuje rozdzielić wspólny rozkład wzdłuż linii uskoku przyczynowego, jest klasycznym przykładem działania dekompozycji.

c. Agregacja – skrajnym przeciwieństwem rozkładu jest metoda agregacji. Łączy wiele zmiennych o podobnych atrybutach w jedną większą jednostkę. W przypadku niektórych zestawów danych uczenia maszynowego może to być bardziej rozsądny sposób tworzenia zestawu danych w celu rozwiązania określonego problemu. Przykładem może być to, jak można śledzić zbiorcze odpowiedzi ankietowe, zamiast patrzeć na indywidualne odpowiedzi, aby rozwiązać konkretny problem za pomocą uczenia maszynowego.

Identyfikacja typu algorytmu w rozwoju

Możesz wybrać algorytm liniowy lub nieliniowy. Wiedząc, jakiego rodzaju algorytmu używasz, będziesz w stanie lepiej ocenić rodzaj i ilość danych potrzebnych do zbudowania zestawu danych treningowych. Zazwyczaj algorytmy nieliniowe są uważane za bardziej wydajne. Są w stanie uchwycić i ustanowić połączenia w nieliniowych relacjach między cechami wejściowymi i wyjściowymi.

Pod względem ogólnej struktury te nieliniowe algorytmy mogą być bardziej elastyczne i nieparametryczne (takie algorytmy mogą nie tylko określić, ile parametrów jest wymaganych, ale także określić, jakie wartości mają być obecne dla tych parametrów, aby lepiej rozwiązać konkretny problem uczenia maszynowego). Ponieważ jest nieliniowy, oznacza to, że może wykazywać wysoki stopień wariancji, tj. wyniki algorytmu mogą się różnić w zależności od tego, jakie dane są wykorzystywane do jego uczenia.

Oznacza to również, że nieliniowy algorytm potrzebuje znacznie większej ilości danych w uczącym zbiorze danych, aby mógł uchwycić złożone połączenia i relacje między różnymi analizowanymi jednostkami. Większość bardziej znanych przedsiębiorstw jest zainteresowana takimi algorytmami, które ciągle się poprawiają w miarę jak coraz więcej danych jest wprowadzanych do ich systemu.

Prawidłowe identyfikowanie „jeśli” i „kiedy” Big Data jest wymagane

Kiedy mówimy o budowaniu treningowego zbioru danych, musimy mądrze ocenić, czy w ogóle potrzebne są duże zbiory danych (bardzo duża ilość danych). Jeśli tak, to w którym momencie tworzenia zbioru danych powinniśmy wprowadzić duże zbiory danych. Oprócz tego, że jest to kosztowne, wprowadzenie dużych zbiorów danych może znacząco wpłynąć na czas wprowadzania zestawu danych na rynek. Jeśli jednak jest to absolutnie nieuniknione, musisz zaangażować zasoby, aby duże zbiory danych stały się częścią zestawu danych treningowych.

Klasycznym przykładem będzie przeprowadzanie tradycyjnego modelowania predykcyjnego. W ten sposób możesz osiągnąć punkt malejących zwrotów, w którym plony nie będą odpowiadać ilości wprowadzonych danych. Aby pokonać tę barierę, możesz potrzebować znacznie więcej danych. Uważnie oceniając wybrany model i konkretny problem, możesz dowiedzieć się, kiedy nadejdzie ten punkt i kiedy będziesz potrzebować znacznie większej ilości danych.

Podsumowując

Budowanie szkoleniowego zestawu danych wpływa na jakość całego modelu uczenia maszynowego. Dzięki tym czynnikom możesz mieć pewność, że tworzysz zestaw danych uczenia maszynowego o wysokiej wydajności i czerpać korzyści z niezawodnego, znaczącego i dokładnego modelu uczenia maszynowego, który „nauczy się” z tak doskonałego zestawu danych szkoleniowych.

Chcesz podzielić się jakimkolwiek innym ważnym czynnikiem, który może wpłynąć na jakość zestawu danych szkoleniowych dla uczenia maszynowego? Napisz w komentarzach poniżej i podziel się z nami swoimi przemyśleniami.