Popularne algorytmy uczenia maszynowego

sages.pl 4 lat temu
Przedstawię kilka algorytmów uczenia maszynowego, które w tej chwili są często stosowane do budowy modeli. Ponieważ grupą docelową są menedżerowie, moim celem nie jest precyzyjny opis, jak algorytm działa. Zamiast tego podam pewne intuicje, które pozwolą zrozumieć, dlaczego niektóre algorytmy mogą być lepsze od innych, czemu warto próbować różnych i dlaczego w konkretnym problemie możemy nie mieć możliwości wykorzystania któregoś z nich.

## Regresja liniowa i logistyczna

Jednym z najstarszych podejść do budowy modelu jest regresja liniowa. Była używana przez statystyków na długo zanim pojawiło się pojęcie "uczenie maszynowe". Załóżmy, iż naszym celem jest zrozumienie, w jaki sposób wzrost człowieka zależy od wzrostu jego matki, ojca i płci. Być może tę relację dałoby się opisać poniższym wzorem:

##### wzrost = 40 + 0,3 * wzrost_matki + 0,4 * wzrost_ojca + 15 * płeć

Jak taki wzór moglibyśmy wykorzystać? Przyjmijmy, iż w pewnej rodzinie urodził się syn, jego matka ma 170 cm wzrostu, ojciec 180 cm. Podstawmy te wartości do wzoru, zakładając, iż syna oznaczamy przez 1, córkę przez 0. Otrzymamy poniższy wynik:

##### wzrost = 40 + 0,3 * 170 + 0,4 * 180 + 15 * 1 = 178

Taki wzór jest pewnym modelem (niekoniecznie słusznym), za pomocą którego jesteśmy w stanie dokonać **prognozy** przyszłych wartości. Ale nie tylko: możemy zrozumieć, w jaki sposób poszczególne zmienne (predyktory) są związane ze wzrostem. jeżeli matka byłaby 1 cm wyższa, dziecko powinno mieć średnio 0,3 cm więcej, z kolei jeżeli urodziłaby się córka, byłaby 15 cm niższa (bo za płeć podstawilibyśmy 0). Czyli model może być wykorzystany również do **wnioskowania**.

Regresja liniowa to algorytm, który znajduje współczynniki (parametry, wagi) podane w powyższym wzorze (40; 0,3; 0,4; 15). Jego istotą jest założenie, iż rozważana relacja ma **liniową** postać, to znaczy wystarczy pomnożyć wartości predyktorów przez odpowiednie liczby i je dodać. Rzeczywistość może być daleka od tego założenia.

Regresji liniowej użyjemy tylko w problemach regresyjnych, to znaczy, gdy przewidujemy zmienną ilościową. Z kolei na regresję logistyczną najprościej spojrzeć jak na modyfikację regresji liniowej, dzięki której rozwiążemy problem klasyfikacyjny. Ważne jest to, iż i w tym podejściu opieramy się na założeniu o liniowości.

Kiedy warto użyć regresji? jeżeli naszym głównym celem jest zrozumienie relacji między \(Y\) a \(X\) (wnioskowanie), wtedy przyda nam się model, w którym postać tej relacji będzie dobrze widoczna --- a taką cechę ma właśnie regresja. Trzeba jednak pamiętać, iż rozważana relacja wcale nie musi być liniowa. Modyfikując jednak w odpowiedni sposób predyktory, jesteśmy w stanie zamodelować również nieliniowe zależności.

## Drzewo decyzyjne

Relację między wzrostem a pozostałymi zmiennymi możemy opisać przy pomocy zdań warunkowych, na przykład:

1) jeżeli urodzi się dziewczynka, której matka ma powyżej 170 cm, będzie miała 168 cm.
2) jeżeli urodzi się dziewczynka, której matka ma poniżej 170 cm, będzie miała 164 cm.
3) jeżeli urodzi się chłopiec, którego ojciec ma powyżej 182 cm, będzie miał 180 cm.
4) jeżeli urodzi się chłopiec, którego ojciec ma poniżej 182 cm, będzie miał 176 cm.

Takie zdania można przedstawić w postaci drzewa, jak poniżej.

![tree.webp](/uploads/tree_5642b36658.webp)


Drzewo decyzyjne to algorytm, który znajduje takie zdania warunkowe, a precyzyjniej: najlepsze punkty podziału (> 170 cm,
Idź do oryginalnego materiału