Dzisiaj uproszczony przepis na to, by tworzyć konsekwentnie świetne modele.
Cały proces tworzenia modelu jest rodzajem rzemiosła.
Akt tworzenia modelu przypomina garncarstwo. Jak w każdym rzemiośle można wyodrębnić zasoby, bez których nie sposób tworzyć.
Uczenie Maszynowe niewiele się różni pod tym względem. Wyodrębniłem 3 elementy, które wpływają na to, czy model jest świetny, czy tylko dobry.
Spis Treści
1. Umiejętny Rzemieślnik
Nie musisz mieć tytułów naukowych, by robić modele. Znajomość matematyki, statystyki i programowania przydaje się bardzo i warto rozwijać swoje umiejętności z kolejnymi projektami.
Materiałów dotyczących programowania, statystyki i matematyki jest wiele. Polecam przejrzeć poniższe i używać w razie potrzeby, by coś sobie przypomnieć lub poznać:
- How to Think Like a Computer Scientist – interaktywny ebook i kompedium pythona,
- Linear Algebra – kurs algebry liniowej,
- Multivariable calculus – kurs rachunku różniczkowego,
- An Introduction to Statistical Learning – podręcznik do statystycznych metod uczenia.
Często jednak nie musisz wiedzieć, jak zbudowany jest samochód, by móc się nim jeździć.
Uczenie Maszynowe to proces, dziesiątki dużych i małych decyzji. To slalom gdzie potrzebna jest wprawa i doświadczenie. W umiejętnym prowadzaniu procesu pomaga opracowanie schematu pracy.
Kilka przykładowych schematów pracy (workflow):
- A Complete Machine Learning Project Walk-Through in Python,
- Machine Learning Project in Python Step-By-Step,
- Machine Learning Crash CourseWażne jest więc aby dane były odpowiedniej jakości.
Przygotowanie projektu to także określenie jego zakresu, warunku sukcesu itp. W tym mogą pomóc materiały przygotowane przez bohaterów tego wpisu:
Jest jeszcze jeden element dobrego rzemieślnika. Znajomość dziedziny, w której pracuje. To czyni ogromną różnicę i w tym leży przewaga konkurencyjna. Naukowiec, który zna dziedzinę, wygra z naukowcem, który ma tylko techniczne umiejętności.
2. Dobrej Jakości Surowiec
Mówi się, że dane mogą położyć Twój projekt albo uczynić go świetnym. Dobry surowiec, na którym pracujesz, wpływa na jakość finalnego produktu. O istotności jakości danych pisałem w Największym Micie Uczenia Maszynowego.
Szacuje się, że przygotowanie i przekształcenie danych trwa ponad połowę czasu pracy nad projektem. Warto więc dobrze przerobić ten krok.
Poniżej, artykuł i mini-kurs jak przygotować dane:
- How to Prepare Data For Machine Learning – artykuł i mini kurs mailowy.
Kurs jak tworzyć nowe atrybuty:
- Feature Engineering – kurs tworzenia zmiennych wejściowych.
3. Nie Przesadzić
W garncarstwie delikatna zmiana, inne ułożenie rąk, za mało surowca, za dużo surowca może zepsuć cały efekt.
Największe dwie pułapki w uczeniu maszynowym związane są z pojęciem szumu i sygnału, który wyjaśniłem tutaj:
- model niedouczony – nie wyłapaliśmy całego sygnału/wzorca z danych,
- model przetrenowany – model z szumem.
Są dwie strategie, by chronić się przed takimi sytuacjami:
- odpowiedni dobór algorytmu – mapa algorytmów i jak dobrać do danego problemu
- odpowiednie tuningowanie algorytmu (ustawienie hiperparametrów)
Podsumowanie
Powyżej poznałeś prosty przepis, by konsekwentnie tworzyć świetne modele.
Poszerzaj swoją wiedzę i umiejętności w zakresie matematyki, statystyki i programowania a jednocześnie patrz na projekt jako całość.
Dbaj o jakość swoich danych i strzeż się przed pułapkami uczenia maszynowego: niedotrenowaniem i przetrenowaniem modelu.