Algorytmy uczenia maszynowego możemy rozpatrywać w dwóch kategoriach: metod uczenia bez nadzoru i z nadzorem. Między nimi jest bardzo istotna różnica.
A) Uczenie z nadzorem
Wyobraź sobie, że sprzedajesz samochody. Twój biznes rośnie, więc zatrudniasz kolejne osoby do pomocy, na przykład stażystów. Jednak masz problem: jeśli chodzi o Ciebie, to wystarczy, byś rzucił okiem na samochód – i już wiesz, ile mniej więcej jest on wart. Tymczasem Twoi nowi niedoświadczeni pracownicy tego nie potrafią.
Postanawiasz więc stworzyć program, który pomoże stażystom w wycenie wartości pojazdu. Aplikacja weźmie pod uwagę cenę podobnych pojazdów oraz cechy takie jak wiek pojazdu, marka i model czy wyposażenie.
Aby tego dokonać, zbierasz dane z minimum trzech miesięcy, rejestrując wszystkie informacje dotyczące sprzedaży pojazdów w okolicy. Przy każdej sprzedaży notujesz wiek pojazdu, markę i model, opis wyposażenia oraz – co najważniejsze – cenę, za którą pojazd został sprzedany:
Wiek | Wersja wyposażenia | Marka/Model | Cena sprzedaży |
3 | Komfort | Audi Q8 | 112200 zł |
2 | Standard | Mazda 6 | 47 000 zł |
2 | Średnia | Honda Civic | 56 600 zł |
1 | Komfort | Citroen Cactus | 53 000 zł |
1 | Komfort | Renault Megane | 44100 zł |
To dane uczące potrzebne do „treningu/uczenia”. Tak zebrane dane będą służyły do napisania aplikacji, która szacunkowo przybliży ceny innych pojazdów.
Wiek | Wersja wyposażenia | Marka/Model | Cena sprzedaży |
5 | Standard | Mazda 5 | ? |
Dane zostaną użyte do uczenia przewidywania cen innych pojazdów. Takie uczenie nazywamy uczeniem z nadzorem. W tym przypadku w jego rezultacie otrzymujemy odpowiedź końcową, którą jest cena pojazdu. Aplikacja pozwoliła na wpisanie znanych danych pojazdów wraz z ich ceną – co umożliwiło poznanie logiki wyceniania tych pojazdów w odniesieniu do zebranych danych wejściowych.
Aby stworzyć program, musisz wpisać dane uczące do algorytmu uczenia maszynowego, który będzie próbował oszacować, jakie operacje matematyczne trzeba wykonać, by wyniki były satysfakcjonujące. W pewnym stopniu można to porównać do testu matematycznego, w którym symbole arytmetyczne zakryte, ale wyniki znamy.
By zbudować program, do algorytmu uczenia maszynowego musisz wpisać dane uczące. Algorytm ten próbuje oszacować, jakie operacje matematyczne trzeba wykonać, by otrzymać poprawne wyniki. Przypomina to trochę test matematyczny z wyczyszczonymi symbolami arytmetycznymi w działaniach, do których masz klucz odpowiedzi:

Tyle że symbole matematyczne zostały tu wymazane. Więc co dalej? Czy można odgadnąć, jakie działania pojawiły się w teście? Łatwo się domyślić, że trzeba „zrobić coś” z liczbami, które znajdują się po lewej stronie, aby uzyskać wynik znajdujący się po prawej. W uczeniu z nadzorem pozwalamy komputerowi samemu odgadnąć te relacje. W momencie gdy już dowiemy się, jakie działania były niezbędne, będziemy mogli rozwiązywać podobne zadania.
B) Uczenie bez nadzoru
Powróćmy teraz do przykładu ze sprzedażą pojazdów. Wyobraźmy sobie, co by się stało, gdyby sprzedawca nie znał ceny końcowej sprzedawanego pojazdu, a posiadał jedynie dane pojazdu jak np. marka, wiek czy wyposażenie? I tu właśnie pojawia się termin uczenia maszynowego bez nadzoru, gdzie algorytmy mogą dokonać wielu bardzo ciekawych operacji.
Wiek | Wersja wyposażenia | Marka/Model |
3 | Komfort | Audi Q8 |
2 | Standard | Mazda 6 |
2 | Średnia | Honda Civic |
1 | Komfort | Citroen Cactus |
1 | Komfort | Renault Megane |
Uczenie maszynowe pozwala na odkrycie ciekawych rzeczy nawet wtedy, gdy nie będziesz próbował znaleźć nieznanej liczby (w tym przypadku ceny pojazdu).
Przypomina to sytuację, w której dostajesz od kogoś zapisane na kartce papieru liczby, a wręczający mówi: „Wiesz, nie mam zielonego pojęcia, co te liczby mogą oznaczać, ale może ty pomożesz mi rozwikłać tę zagadkę i sprawdzić, czy jest jakiś wzorzec albo zbiór danych?”
Jak możemy wykorzystać takie dane? Co możemy z nimi zrobić? Na początku możemy mieć algorytm, który automatycznie rozszyfruje z naszych danych dotyczących samochodów różne wymagania klientów. Może dowiesz się, że kupujący wybierają najczęściej dany model albo z danym wyposażeniem? Albo że młodsze auta mają lepsze wyposażenie? Znajomość oczekiwań klientów pomoże w ukierunkowaniu naszych działań marketingowych.
Innym ciekawym użyciem algorytmu byłoby automatyczne wykrywanie pojazdów o niezwykłych cechach. Być może dowiesz się, że te wyjątkowe samochody to jakieś rzadko spotykane modele? W takim przypadku możemy skoncentrować się na nich, angażując swoich najlepszych pracowników, którzy będą w stanie uzyskać lepszą cenę.
W dalszych wyjaśnieniach skupimy się na uczeniu maszynowym z nadzorem. Nie dlatego, że uczenie maszynowe bez nadzoru jest mniej interesujące czy użyteczne. Wręcz przeciwnie: jego znaczenie rośnie wraz z doskonaleniem algorytmów, gdyż umożliwia przetwarzanie danych bez konieczności oznaczania tych z prawidłowymi wynikami. Na marginesie: istnieje wiele innych typów algorytmów uczenia maszynowego, ale omówione do tej pory powinny na początek wystarczyć.
To wspaniale, ale czy przewidywanie ceny sprzedawanego pojazdu naprawdę uważa się za „uczenie” maszynowe?
Mózg człowieka jest w stanie przystosować się do większości sytuacji niej i nie potrzebuje do tego dokładnych instrukcji. Po jakimś czasie sprzedawania samochodów wyrobi sobie instynktowne przeczucie, „nosa” do właściwej wyceny na danym rynku, najlepszej strategii marketingowej, rodzaju klienta, którego dane auto może zainteresować itd. Celem badań nad sztuczną inteligencją (Artificial Intelligence, AI) jest właśnie możliwość powtórzenia takiego zachowania.
Istniejące dziś algorytmy uczenia maszynowego nie są jeszcze tak wszechstronne, jak ludzki mózg. Działają dobrze jedynie wtedy, gdy skupiają się na konkretnym zadaniu w ograniczonym polu. W naszym przypadku, by rozwiązać zadanie, które opiera się na przykładowych danych, zamiast definicji „uczenie” możemy użyć określenia „rozwiązywanie równań”. Dlatego takie uczenie określono mianem „uczenia maszynowego”.
Gdy za jakieś 50 lat odgrzebiemy ten artykuł, algorytmy silnej sztucznej inteligencji będą już istniały, a cały tekst wyda się mocno przestarzały. Kto wie, może nawet sztuczna inteligencja zrobi nam wtedy kanapkę?