Podstawowe informacje

Nazwa:

Niezbędnik Machine Learning

Kod:

ml-py-essentials

O szkoleniu:

Szkolenie narzędziowe wprowadzające w Machine Learning, dające niezbędną bazę teoretyczną i umiejętności rozwiązywania typowych problemów Machine Learning.

Dla kogo:

Szkolenie dla analityków i developerów, którzy nie mieli styczności z Machine Learning lub wykorzystują ML niekomercyjnie (czytali, przerabiali tutoriale, pracowali nad side-project’ami).

Osobom, które na co dzień w pracy tworzą dedykowane rozwiązania Machine Learning, proponujemy szkolenie Zaawansowany Machine Learning i wprowadzenie do Deep Learning.

W szkoleniu mogą wziąć udział osoby pracujące w dowolnych technologiach, pomimo że podczas szkolenia wykorzystywany jest głównie Python.

Uwagi:

Od uczestników nie jest wymagana znajomość Pythona.

Czas trwania:

21 godzin = 3 dni x 7 godzin (wliczając przerwy)

Liczba osób:

maksymalnie 12

Forma:

warsztatowa (30% wykłady / 70% warsztaty)

Logistyka:

Szkolenie zamknięte – szkolenie odbywa się w siedzibie klienta lub w innym wybranym przez Klienta miejscu, w sali szkoleniowej (wymagany projektor, flip-chart lub tablica oraz miejsce dla uczestników i prowadzącego). Uczestnicy pracują na własnych laptopach.

Język:

Szkolenie jest prowadzone po polsku lub po angielsku.

Ścieżka rozwoju:

Po tym szkoleniu proponujemy kolejne: Zaawansowany Machine Learning i Deep Learning. Istnieje także możliwość przygotowania nowego, dedykowanego szkolenia.

Warianty:

Szkolenie dostępne jest w kilku wariantach dla różnych branż. Istnieje możliwość wydłużenia lub skrócenia szkolenia.

Plan szkolenia

  1. Tooling
    1. Dlaczego Python?
    2. Alternatywy dla Pythona
    3. IPython
    4. Jupyter Notebook
    5. Biblioteki Pythona do Data Science: scikit-learn, matplotlib, numpy, Pandas, scipy, nltk, dask, PySpark
  2. Wizualizacja danych przy pomocy biblioteki matplotlib
    1. Podstawowe wykresy: punktowy i liniowy
    2. Customizacja wyglądy serii, siatki, opisów osi, tytuły wykresu, wyświetlanego obszaru i legendy
    3. Skale osi: liniowa, logarytmiczna, logit, symlog
    4. Wiele wykresów – subplot
  3. Przetwarzanie danych w Pandasie
    1. Importowanie i eksportowanie danych z csv, baz danych i innych formatów
    2. Podstawowe transformacje (transpozycja, wybór jednej/kilku kolumn/wierszy, dodawanie/usuwanie kolumn)
    3. Analiza rozkładu poszczególnych zmiennych przy pomocy podstawowych wielkości statystycznych (kwartyle, minimum, maximum, średnia, liczba próbek)
    4. Agregacje
    5. Filtrowanie po wierszach, binaryzacja
    6. Filtrowanie serii czasowych
    7. Detekcja outlierów
    8. Split-apply-combine pattern (odpowiednik tabel przestawnych)
    9. Średnia krocząca i inne obliczenia “w oknach”
    10. Czyszczenie brakujących danych (NaN)
    11. Clean Data Principles
    12. Ćwiczenia oparte o przetwarzanie szeregu czasowego
  4. Wprowadzenie do Machine Learning
    1. Podstawowe pojęcia (zbiór danych, cecha, wektor cech, obserwacja, zbiór uczący/testujący, wejście, wyjście, model, feature engineering & selection)
    2. Typy danych (kategoryczne vs liczbowe)
    3. Dziedziny ML (supervised learning vs unsupervised learning vs reinforced learning)
    4. 7 kroków do stworzenia prototypu
    5. Klasy problemów (regresja, klasyfikacja, clusteryzacja, redukcja wymiarowości)
    6. Niedopasowanie i nadmierne dopasowanie (underfitting i overfitting i sweet spot)
    7. Model k-najbliższych sąsiadów (kNN).
    8. Case Study (klasyfikacja)
  5. Modele liniowe
    1. Model, funkcja kosztu
    2. Wady i zalety metod gradientowych do minimalizacji funkcji kosztu
    3. Korelacja
    4. Istotność poszczególnych cech (feature importance)
    5. Regularyzacja Ridge, Lasso i ElasticNet, funkcja kosztu
    6. Lasso jako metoda selekcji cech (feature selection)
    7. Dobór parametrów modelu
    8. Wprowadzenie do sieci neuronowych
  6. Feature Engineering & Selection
    1. Pipeline do automatyzacji potokowego przetwarzania danych
    2. One Hot Encoding
    3. Polynominal & Interaction Features
    4. Transformacja ln(x+1)
    5. Kiedy może się przydać selekcja cech (Feature Selection)
    6. 3 metody automatycznej selekcji cech (Feature Selection)
  7. Incepcja
    1. Idea sprawdzianu krzyżowego (crossvalidation)
    2. Strategie podziału na zbiór uczący i testujący
    3. Wyciek informacji ze zbioru uczącego do testującego i jak mu zapobiegać?
    4. Automatyczny dobór parametrów przy pomocy GridSearch
  8. Laboratorium regresji liniowej na przykładowym problemie
  9. Klasyfikacja
    1. Regresja logistyczna, iloraz szans, logit,
    2. Funkcja kosztu, regularyzacja L1 i L2, parametr C
    3. Klasyfikacja binarna vs wieloklasowa
    4. Strategie klasyfikacji wieloklasowej (one vs rest, one vs one)
    5. Tablica pomyłek (confusion matrix)
    6. Metryki: dokładność, precyzja, czułość, F1-score, F-beta score
    7. Uogólnienie powyższych metryk w klasyfikacji wieloklasowej
    8. Laboratorium: klasyfikacja zdjęć cyfr
  10. Modele
    1. kNN
    2. Modele liniowe + regularyzacja
    3. Sieci neuronowe
    4. SVM z Kernel trick
    5. Drzewa decyzyjne, lasy losowe, boosting
    6. Porównanie metod
    7. Algorytm doboru właściwego modelu (pokrywa 80% przypadków użycia)
  11. Przegląd pozostałych obszarów Machine Learning
    1. Klasteryzacja na przykładzie modelu k-means
    2. Redukcja wymiarowości – idea, kiedy stosować, PCA, t-SNE do eksploracji danych
  12. Zastosowania biznesowe (dyskusja)
    1. Detekcja fraudów w operacjach bankowych, ruchu internetowym, chargeback, zamówieniach i innych operacjach
    2. Automatyzacja rozpatrywania reklamacji
    3. Diagnozy medyczne
    4. Scoring klientów (ryzyko kredytowe, CLTV, satysfakcja klienta)
    5. Churn modeling, dyskryminacja cenowa
    6. Predictive maintenance
    7. Scoring leadów
    8. Scoring kandydatów na stanowisko pracy
    9. Systemy rekomendacji (koszykowe i behawioralne)
    10. Marketing
    11. Segmentacja klientów
    12. Przetwarzanie języka naturalnego (NLP) – analiza i generowanie content

Korzyści ze szkolenia

W cenę każdego naszego szkolenia wliczone są następujące korzyści:

  • Doradztwo poszkoleniowe. Trener jest dostępny dla uczestników telefonicznie i mailowo w ciągu dwóch miesięcy od zakończenia szkolenia.
  • Raport po szkoleniu. Po szkoleniu trener przygotowuje raport wskazujący mocne i słabe strony grupy, zawierający rekomendacje dalszej ścieżki rozwoju oraz wyniki ankiety ewaluacyjnej. Raport jest w formie maila lub/i ustnej, przekazany ustalonej wcześniej osobie.
  • Dopasowanie do potrzeb. Analizujemy potrzeby podczas rozmowy telefonicznej trenera ze sponsorem, HR, team leaderem, menedżerem lub inną osobą.
  • Dopasowanie do grupy. Szkolenie jest dopasowane do każdej grupy z osobna dzięki analizie potrzeb każdego uczestnika na początku szkolenia lub w formie ankiety przed szkoleniem.
  • Efektywne wykorzystanie czasu szkolenia dzięki wcześniej wysłanej uczestnikom instrukcji przygotowania laptopów. Nie tracimy czasu na początku szkolenia na skonfigurowanie środowiska. W razie jakichkolwiek problemów, służymy wsparciem mailowym oraz przez Skype, Webex, etc.
  • Materiały szkoleniowe uaktualniane w czasie rzeczywistym w formie elektronicznej, przygotowywane osobno dla każdej grupy. Materiały zawierają wykłady, przykłady, ćwiczenia z rozwiązaniami i uwagi uczestników. Materiały są uaktualniane na bieżąco w czasie szkolenia, dzięki czemu możemy dodać komentarze uczestników oraz do pewnego stopnia modyfikować plan szkolenia zgodnie z potrzebami uczestników.
  • Rzetelny pomiar jakości szkolenia. Na końcu każdego szkolenia uczestnicy oceniają je w formie przygotowanej przez nas anonimowej, elektronicznej ankiety. Możemy także wykorzystać ankietę Klienta. Pomiar jest rzetelny, ponieważ ankieta jest anonimowa. Ponadto, nasz trener na czas przeprowadzenia ankiety wychodzi z sali szkoleniowej. Wyniki ankiety są udostępniane Klientowi, dzięki czemu dział HR ma mniej pracy.
  • Efektywna nauka. Nasz trener jest specjalistą nie tylko w dziedzinie Machine Learning, ale także w nauczaniu dorosłych. Świadczą o tym certyfikaty Software Carpentry i Data Carpentry. Efektywna nauka jest realizowana przez odpowiednio dobrane ćwiczenia, dyskusje, ćwiczenia mentalne i programowanie w dwójkach.
  • Integracja zespołu i wymiana doświadczeń. Podczas szkolenia uczestnicy programują w dwójkach, dzięki temu integrują się i wymieniają doświadczeniami, co jest szczególnie istotne, gdy uczestnicy są z różnych zespołów.
  • Forma warsztatowa i wynikająca z tego duża liczba ćwiczeń.

Opinie

O trenerze

Szkolenie prowadzi trener i konsultant, Krzysztof Mędrela. Nasz trener współpracuje z firmami i instytucjami takimi jak:

  • Nokia,
  • Ericsson,
  • Motorola,
  • Allegro,
  • AB S.A.,
  • UBS,
  • MTU Aero Engines,
  • Office for National Statistics (brytyjski GUS),
  • Aarhus University,
  • i wiele innych nie wymienionych ze względu na wymogi poufności

Jest trenerem specjalizującym się w nauczaniu dorosłych i certyfikowanym przez organizacje Software Carpentry i Data Carpentry, które do tej pory wyszkoliły ponad 30 tys. naukowców.

Zanim poświęcił się w 2016 roku pracy trenera i konsultanta, nabył od 2011 roku wszechstronne doświadczenie w branży IT, pracując przy różnych projektach, m.in.:

  • rozwijając web framework Django (open-source) we współpracy z Google,
  • współtworząc dedykowany system ERP dla organizacji szkoleniowej Software Carpentry (ponad 30 tys. absolwentów),
  • rozwijając dedykowane rozwiązania Machine Learning objęte NDA.

Krzysztof wierzy, że w Machine Learning same umiejętności techniczne nie wystarczą i dlatego kładzie nacisk na szersze spojrzenie i na aspekt biznesowy.