О КУРСЕ "МАШИННОЕ ОБУЧЕНИЕ" НА ФАКУЛЬТЕТЕ ВМК ННГУ
Золотых Николай Юрьевич (Nikolai.Zolotykh@gmail.com)
Половинкин Алексей Николаевич (Alexey.Polovinkin@gmail.com)
Нижегородский государственный университет им. Н.И. Лобачевского, г. Нижний Новгород
Ерухимов Виктор Львович (Victor.Eruhimov@intel.com)
Чикалов Игорь Валерьевич (Igor.Chikalov@intel.com)
Корпорация Интел
Аннотация Обсуждается опыт преподавания разработанного авторами курса "Машинное обучение" (Machine Learning), читаемого магистрантам факультета ВМК Нижегородского госуниверситета им. Н.И. Лобачевского. Подчеркивается важность привлечения студентов к исследовательской работе.
Здесь описывается курс "Машинное обучение" (Machine Learning), который двое из авторов читают в магистратуре факультета ВМК Нижегородского госуниверситета им. Н.И. Лобачевского. Разработка курса поддержана корпорацией Intel. Это односеместровый вводный курс, основная цель которого - дать обзор основных методов, используемых в машинном обучении, развить интуицию студентов для лучшего понимания основных идей и привить навыки работы с программным обеспечением, реализующим алгоритмы машинного обучения.
Предполагается, что студенты знакомы с основами теории и вероятности и математической статистики. Это позволяет сконцентрироваться преподавателю на изложении современных методов машинного обучения.
Домашняя страница курса http://www.uic.nnov.ru/~zny/ml содержит конспекты лекций, презентации, описание лабораторных работ, ссылки и другую полезную информацию.
Лекции
Основные темы лекций:
- постановки и примеры задач машинного обучения;
- линейная регрессия;
- метод ближайших соседей;
- дискриминантный анализ;
- логистическая регрессия;
- машина опорных векторов;
- нейронные сети;
- деревья решений;
- комбинация методов (бустинг, баггинг);
- model inference;
- алгоритм "Ожидание-максимизация";
- скрытые марковские модели;
- байесовы сети;
- методы решения задач кластеризации;
- основы теории Вапника-Червоненкиса об обобщающей способности алгоритмов.
Рекомендуемая литература включает [1-15]. В основном, это англоязычные книги, что может являться проблемой для некоторых студентов. Заметим, что есть много хороших книг по распознаванию образов и машинному обучению на русском языке, включая фундаментальные работы Вапника и Червоненкиса [4, 5], однако немногие из них посвящены современным подходам к решению задач машинного обучения. Это доказывает важность составления полного конспекта лекций по курсу.
Лабораторные работы
Основная цель предлагаемых лабораторных работ - помочь студентам развить интуицию для понимания основных идей, лежащих в основе современных методов машинного обучения, и привить некоторые практические навыки, необходимые исследователю, работающему в этой области.
Мы полагаем, что студенты при выполнении лабораторных работ должны пользоваться профессиональными средствами и нет необходимости в каком-либо специальном "образовательном" программном обеспечении. Все примеры (включая небольшие "игрушечные" примеры для иллюстрации основных шагов алгоритма), как правило, могут быть показаны с использованием такого state-of-the-art программного обеспечения.
В качестве основной вычислительной среды для проведения лабораторных работ мы выбрали пакет для статистических расчетов R http://www.r-project.org/. Он обладает целым рядом преимуществ: R свободно распространяется (по лицензии GNU General Public License); R представляет собой профессиональное средство для статистических расчетов (и иногда характеризуется как стандарт для таких вычислений de facto); на R реализованы многие современные алгоритмы машинного обучения. В качестве альтернативы рассматривались Matlab и Python.
Предлагаются следующие лабораторные работы:
- основы работы в R;
- статистический вывод и проверка гипотез;
- линейная регрессия;
- машина опорных векторов;
- деревья решений для классификации и восстановления регрессии;
- алгоритмы кластеризации;
- оценивание моделей (метод скользящего контроля, бутстрэп);
- бустинг.
В рамках лабораторных работ студенты должны реализовать различные алгоритм и/или экспериментально сравнить такие алгоритмы между собой на тестовых выборках. Обычно студенты проявляют большой интерес к реальным практическим задачам, это мотивирует их на активное участие в образовательном процессе. Данные для задач мы выбираем из хорошо известных коллекций, таких как UCI Machine Learning Repository http://mlearn.ics.uci.edu/MLRepository.html, Carnegie Mellon University StatLib Collection http://lib.stat.cmu.edu. Иногда для иллюстации тонких моментов некоторых алгоритмов мы предлагаем искусственно сгенерированные данные.
Конкурс
В рамках курса проводится специальный конкурс. Его правила обычны для проведения соревнований такого сорта. Во второй половине семестра становится доступной некоторая обучающая выборка. В конце семестра студентам предоставляется возможность проверить построенные ими классификаторы на проверочной выборке. Далее студенты загружают тестовые данные (без значений выходной переменной) и посылают организатором найденные значения выходной переменной.
Наш опыт по проведению соревнования был положительным, но мы думаем, что студенты могли получить лучшие данные, если бы конкурс начал проводиться в самом начале семестра и студенты могли бы испытать самые разнообразные подходы к обучению.
Для выполнения конкурсного задания студенты могут использовать любое программное обеспечение (хотя мы рекомендуем R).
Литература
- Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: основы моделирования и первичная обработка данных. М.: Финансы и статистика, 1983
- Айвазян С. А., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: исследование зависимостей. М.: Финансы и статистика, 1985
- Айвазян С. А., Бухштабер В. М., Енюков И. С., Мешалкин Л. Д. Прикладная статистика: классификация и снижение размерности. М.: Финансы и статистика, 1989
- Вапник В. Н., Червоненкис А. Я. Теория распознавания образов. М.: Наука, 1974
- Вапник В. Н. Восстановление зависимостей по эмпирическим данным. М.: Наука, 1979
- Воронцов К.В. Курс лекций "Математические методы обучения по прецедентам". http://www.ccas.ru/voron/teaching.html
- Загоруйко Н. Г. Прикладные методы анализа данных и знаний. Новосибирск: ИМ СО РАН, 1999
- Николенко С.И. Курс лекций по машинному и вероятностному обучению. http://logic.pdmi.ras.ru/~sergey/
- Bishop C.M. Pattern recognition and machine learning. Springer, 2006
- Duda R. O., Hart P. E., Stork D. G. Pattern classification. New York: JohnWiley and Sons, 2001
- Hastie T., Tibshirani R., & Friedman J. The elements of statistical learning: Data mining, inference, and prediction. Springer, 2001
- Mitchell T. Machine learning. McGraw Hill,1997
- Ripley, B. D. Pattern recognition and neural networks. Cambridge University Press, 1996
- Vapnik, V. N. The nature of statistical learning theory. New York: Springer, 1995
- Vapnik, V. N. Statistical learning theory. New York: John Wiley, 1998
|