Często podchodzimy do nowego tematu z pewnym obciążeniem. Zanim zaczniemy mamy jakieś wyobrażenie, które często nas blokuje. Ja sam długo wierzyłem w coś, co na końcu okazało się największym mitem dotyczącym uczenia maszynowego.

Dzisiaj napiszę o tym, co sądziłem na temat uczenia maszynowego. Oraz o tym, co było największym mitem. Zanim do tego dojdę, opiszę mój moment Harajuku.

Moment Harajuku

W książce Tima Ferrisa „4-godzinne ciało” opisana jest historia człowieka, który przeżywa moment przełomowy. Z pozoru błahe i nic nieznaczące zdanie, wypowiedziane na głos, staje się momentem zwrotnym, przyczyną głębokich przemyśleń i zmian w życiu bohatera. Ja podobny moment przeżyłem na jednym ze spotkań firmowych.

Podczas spotkania z programistami specjalizującymi się w tworzeniu oprogramowania dla zakładów produkcyjnych pojawił się temat optymalizacji. Sama optymalizacja realizowana była przez algorytmy uczenia maszynowego. Szukały one wzorców w zleceniach produkcyjnych, które realizowane były w przyjętym terminie.

Na moje pytanie:

Jakiego algorytmu używa się do takich zadań?

Jeden z programistów odpowiedział:

To nie jest aż tak istotne. Najważniejsze są dane.

W tym jednym momencie zmieniła się moja percepcja i zniknęło największe błędne przekonanie.

Mit Uczenia Maszynowego

Przez długi czas sądziłem, że aby wykorzystywać Uczenie Maszynowe w swoich projektach trzeba znać tylko algorytmy. Podejście bardzo obiecujące. Wystarczy nauczyć się tylko wszystkich algorytmów i po sprawie.

I wtedy pojawił się największy problem. Spojrzałem na listę dostępnych algorytmów. Przynajmniej tak było w moim przypadku do pewnego momentu.

Mały wycinek listy algorytmów na Wikipedii

Zdałem sobie sprawę z faktu, że dla osoby takiej jak ja, która zaczyna, praktycznie niemożliwe jest poznanie ich wszystkich.

Entuzjazm uleciał. Przytłoczenie z powodu tej „góry” algorytmów wywołało zniechęcenie i odsunięcie na bok całej tematyki uczenia maszynowego.

Tak było do mojego momentu Harajuku. Z pozoru nieznaczące zdanie wypowiedziane przez programistę zniszczyło największy mit uczenia maszynowego, w który wierzyłem:

Uczenie Maszynowe = Algorytmy

Najważniejsze są dane. A skoro one są na pierwszym miejscu, to próg wejścia w uczenie maszynowe nie jest już tak wielki, jak mi się wydawało.

W mocy jest twierdzenie:

Śmieci na wejściu = Śmieci na wyjściu

Trzeba zadbać najpierw o dane: aby były poprawne, kompletne, miały sens i rzetelnie opisywały badane zjawisko. Mając to, nawet z nieidealnym algorytmem osiągniemy zadowalające wyniki.

Warto dodać, że ta zmiana podejścia, gdzie dane są na pierwszym miejscu, wpływa na przebieg pracy (z ang. Workflow). Ze sztuki operowania algorytmami przechodzimy na umiejętności pracy z danymi. Drugie podejście jest łatwiejsze do opanowania, daje więcej satysfakcji, łatwiej o wymierne wyniki i progres.

W dalszych postach postaram się opisywać pracę z danymi jako systematyczny i uporządkowany proces.

A jeśli chcesz sprawić, że proste rzeczy będą jeszcze prostsze, polecam Ci mój kurs Pandas Dla Zupełnie Początkujących w Uczeniu Maszynowym.