Uczenie maszynowe to sposób wykorzystywania danych do przewidywania lub wykrywania wzorców bez ręcznego zapisywania każdej reguły. W uczeniu nadzorowanym dane treningowe zawierają poprawną odpowiedź. W uczeniu nienadzorowanym jej nie ma, więc celem jest znalezienie struktury, takiej jak grupy lub główne kierunki zmienności.
To jest podstawowa idea stojąca za większością zagadnień z zakresu uczenia maszynowego. Zaczynasz od danych, wybierasz model, uczysz go na przykładach, a potem sprawdzasz, czy działa na nowych danych, a nie tylko na tych, które już widział.
Co robi uczenie maszynowe
Model uczenia maszynowego odwzorowuje dane wejściowe na wyniki lub wzorce. Danymi wejściowymi mogą być metraż domu, wyniki egzaminu, aktywność klienta albo wartości pikseli na obrazie. Wynik zależy od zadania:
- przewidywanie liczby, na przykład ceny
- przewidywanie etykiety, na przykład spam lub nie spam
- grupowanie podobnych elementów bez etykiet
- porządkowanie lub rekomendowanie prawdopodobnych wyborów
To, co sprawia, że jest to „uczenie”, polega na tym, że parametry modelu są dostosowywane na podstawie danych, a nie w całości ustalane przez programistę.
Uczenie nadzorowane a nienadzorowane
Uczenie nadzorowane: przewidywanie znanego celu
Uczenie nadzorowane wykorzystuje przykłady postaci , gdzie to wejście, a to znany cel.
Jeśli jest liczbą, zadanie często nazywa się regresją. Jeśli jest kategorią, zadanie zwykle nazywa się klasyfikacją.
Do popularnych algorytmów uczenia nadzorowanego należą regresja liniowa, regresja logistyczna, drzewa decyzyjne, lasy losowe, maszyny wektorów nośnych i sieci neuronowe. Nie ma jednej metody najlepszej w każdej sytuacji. Właściwy wybór zależy od rozmiaru danych, poziomu szumu, typu cech i tego, jak ważna jest interpretowalność.
Uczenie nienadzorowane: znajdowanie struktury bez etykiet
Uczenie nienadzorowane wykorzystuje wejścia bez etykiet docelowych.
Tutaj celem jest zwykle odkrycie struktury, która już występuje w danych. Metoda grupowania, taka jak k-means, próbuje łączyć podobne obserwacje w grupy. Metoda redukcji wymiarowości, taka jak analiza głównych składowych, próbuje opisać zmienność za pomocą mniejszej liczby kierunków.
Uczenie nienadzorowane może być przydatne do eksploracji, kompresji, wykrywania anomalii lub wstępnego przetwarzania. Jego wyniki silnie zależą od tego, jak dane są reprezentowane i jakie pojęcie podobieństwa jest wbudowane w metodę.
Prosty model myślowy
Pomyśl o uczeniu maszynowym jak o dopasowywaniu krzywej lub wzorca w warunkach niepewności.
Wybierasz rodzinę modeli, na przykład proste, drzewa decyzyjne albo warstwowe sieci neuronowe. Następnie trening dostosowuje model tak, aby jego przewidywania jak najlepiej zgadzały się z danymi treningowymi zgodnie z funkcją straty. Jeśli model dobrze uogólnia, działa też dobrze na nowych danych, których wcześniej nie widział.
Ten ostatni warunek ma znaczenie. Model, który tylko zapamiętuje zbiór treningowy, zwykle nie jest użyteczny.
Przykład: przewidywanie czynszu za pomocą regresji liniowej
Załóżmy, że chcesz przewidzieć czynsz za mieszkanie na podstawie powierzchni. Prostym modelem nadzorowanym jest
gdzie to powierzchnia, to przewidywany czynsz, to wyraz wolny, a to nachylenie.
Załóżmy, że dopasowany model ma postać
gdzie czynsz jest mierzony w dolarach, a powierzchnia w stopach kwadratowych.
Jeśli mieszkanie ma , przewidywanie wynosi
Zatem model przewiduje czynsz równy .
Ważne są tu trzy szczegóły. Model nauczył się na oznaczonych przykładach powierzchni i czynszu. Przewidywanie jest estymacją, a nie gwarancją. Wzór ma sens tylko wtedy, gdy zależność w przybliżeniu liniowa jest rozsądnym przybliżeniem w interesującym cię zakresie.
Ten przykład jest celowo prosty, ale pokazuje główną pętlę uczenia nadzorowanego: użyj danych z etykietami, dopasuj parametry i przewiduj wartość docelową dla nowego wejścia.
Kluczowe algorytmy uczenia maszynowego i kiedy ich używać
Regresja liniowa
Użyj jej, gdy celem jest przewidywanie wartości liczbowej, a przybliżenie linią prostą jest rozsądnym pierwszym modelem.
Regresja logistyczna
Użyj jej do klasyfikacji, gdy chcesz mieć stosunkowo prosty i interpretowalny model bazowy do przewidywania kategorii, takich jak tak lub nie.
Drzewa decyzyjne i lasy losowe
Użyj ich, gdy zależności są nieliniowe lub obejmują interakcje, zwłaszcza w danych tabelarycznych. Lasy losowe zwykle zamieniają część interpretowalności na większą stabilność predykcyjną.
Grupowanie k-means
Użyj go w uczeniu nienadzorowanym do podziału obserwacji na klastrów. Działa najlepiej wtedy, gdy pojęcie środka klastra ma sens dla używanych cech.
Sieci neuronowe
Użyj ich, gdy zależność między wejściami a wyjściami jest bardzo złożona, szczególnie w zadaniach związanych z obrazem, mową i językiem. Często wymagają więcej danych i strojenia niż prostsze modele.
Typowe błędy w podstawach uczenia maszynowego
Mylenie przewidywania z wyjaśnianiem
Model może dobrze przewidywać, a mimo to nie wyjaśniać prawdziwej przyczyny wzorca.
Ignorowanie różnicy między treningiem a testowaniem
Wysoka trafność na zbiorze treningowym nie oznacza, że model będzie dobrze działał na nowych danych. Uogólnianie trzeba sprawdzać na osobnych danych.
Używanie niewłaściwej miary
Accuracy może wprowadzać w błąd w problemach klasyfikacji z niezrównoważonymi klasami. W niektórych zadaniach ważniejsze mogą być precision, recall, średni błąd bezwzględny albo inna miara.
Traktowanie nazw algorytmów jak gwarancji
„Sieć neuronowa” albo „las losowy” nie są obietnicą jakości. Jakość danych, projekt cech, ewaluacja i właściwe sformułowanie problemu mają co najmniej takie samo znaczenie jak nazwa algorytmu.
Kiedy uczenie maszynowe jest przydatne
Uczenie maszynowe jest przydatne wtedy, gdy wzorzec jest zbyt skomplikowany dla małego, stałego zestawu reguł, ale jednocześnie istnieje wystarczająco dużo danych, by uczyć się na przykładach. Typowe zastosowania obejmują systemy rekomendacyjne, wykrywanie oszustw, narzędzia wspomagające analizę obrazów medycznych, ranking, prognozowanie i klasyfikację dokumentów.
Nie zawsze jest to właściwe narzędzie. Jeśli reguła jest prosta, stabilna i w pełni znana, zwykły wzór albo deterministyczny program mogą być lepsze.
Spróbuj podobnego problemu
Weź mały zbiór danych i zadaj dwa pytania: „Co jest wejściem?” oraz „Co jest celem?”. Jeśli potrafisz odpowiedzieć na oba, wypróbuj model nadzorowany, taki jak regresja liniowa albo klasyfikacja. Jeśli nie, sprawdź, czy dane naturalnie tworzą grupy za pomocą metody nienadzorowanej.
Jeśli chcesz pójść o krok dalej, najpierw rozwiąż podobny problem prostym modelem, a potem porównaj go z bardziej elastycznym. To zwykle lepszy sposób nauki niż od razu przechodzenie do najbardziej zaawansowanego algorytmu.
Potrzebujesz pomocy z zadaniem?
Prześlij pytanie i otrzymaj zweryfikowane rozwiązanie krok po kroku w kilka sekund.
Otwórz GPAI Solver →