Методы машинного обучения для обработки данных
Лекции: | Олег Калашев |
Максим Пширков | |
Григорий Рубцов | |
Семинары: | Яна Жежер |
Михаил Кузнецов |
Аннотация
Курс посвящен современным методам машинного обучения и алгоритмам анализа данных в парадигме Big Data. На примере актуальных задач физики частиц и астрофизики будут рассмотрены все этапы обработки данных от постановки вопроса до конструирования вычислительного алгоритма. Будут детально рассмотрены принципы построения и механизмы работы усиленных деревьев решений и нейронных сетей. Курс сопровождается семинарами, проходящими в формате мастер-класса по анализу данных.
План курса
- Введение
- понятие Big Data; почему машине требуется обучение?
- задачи обработки данных, регрессия и классификация;
- обучение с учителем и без учителя;
- инструментарий: готовые решения, конструкторы, ручная работа;
- примеры задач: классификация источников гамма-излучения, определение красного смещения по фотометрии, классификация гамма-всплесков, определение химического состава космических лучей ультравысоких энергий, предсказание погоды по данным за неделю, определения автора научного текста;
- линейная регрессия как пример метода: построение гипотезы, функция стоимости;
- кривая обучения, проблема переобучения.
- Деревья решений [Задачи-1: tex,
pdf], [Виртуальная машина для выполнения заданий: Яндекс.диск, FTP], [Код на Python для построения простого дерева решений: simple_dt_classif.py], [Репозитарий на GitHub]
- принцип работы дерева решений для регрессии и классификации; реализация простого варианта алгоритма;
- усиление алгоритма машинного обучения (бустинг); алгоритм AdaBoost;
- метод случайного леса (Random Forest);
- некоторые свойства многомерного гауссовского распределения;
- подготовка входных данных для машинного обучения: нормирование, декорреляция, другие преобразования.
- Нейронные сети [Пример на Python для построения простой нейронной сети: network.py],
[Нейронная сеть с регуляризацией с выбором функции потерь: network2.py],[Реализация нейроннай сети на пакете Theano: network3.py],
[Минимальный пример для работы с каталогом 3FGL: 3fgl_nnet_minimal.py]
- принципы построения нейронных сетей;
- краткий обзор алгоритмов многомерной оптимизации;
- регуляризация нейронной сети, алгоритм обратного распространения ошибки обучения;
- построение простой нейронной сети
- многослойные нейронные сети, алгоритм MLP;
- особенности практического использования нейронных сетей.
- Некоторые приложения
- обучение без учителя: алгоритмы кластеризации, метод k-средних;
- сверточные нейронные сети и анализ изображений [презентация];
- поиск негауссовости температуры реликтового излучения с помощью нейронных сетей.
Литература
- W.H. Press, S.A. Teukolsky, W.T. Vettering, B.P. Flannery, «Numerical recipes. The art of scientific computing» Cambridge university press, 2007.
- I. Goodfellow, Y. Bengio and A. Courville, Deep Learning textbook, MIT Press, 2016.
- LazyProgrammer, Deep Learning in Python: Master Data Science and Machine Learning with Modern Neural Networks written in Python, Theano, and TensorFlow (Machine Learning in Python), Amazon publishing, 2016.
- LazyProgrammer, Convolutional Neural Networks in Python: Master Data Science and Machine Learning with Modern Deep Learning in Python, Theano, and TensorFlow (Machine Learning in Python), Amazon publishing, 2016.
- Michael A. Nielsen, "Neural Networks and Deep Learning", Determination Press, 2015
- Deep Learning Tutorials
- David Salvetti, Classifying Unidentified Gamma-ray Sources, Ph.D. thesis submitted to the University of Pavia, Italy, arXiv:1603.00231