Машинное обучение (РЭУ)

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
Строка 2: Строка 2:
== Краткое описание ==
== Краткое описание ==
-
Курс ведется для магистров РЭУ им.Г.В.Плеханова. В курсе рассматриваются основные задачи анализа данных и обучения по прецедентам: классификация, кластеризация, регрессия, понижение размерности, ранжирование, коллаборативная фильрация. По изложению для каждой рассматриваемой задачи изучаются математические основы методов, лежащие в их основе предположения о данных, взаимосвязи методов между собой и особенности их практического применения.
+
Курс ведется для магистров РЭУ им.Г.В.Плеханова. В курсе рассматриваются основные задачи анализа данных и обучения по прецедентам. По изложению для каждой рассматриваемой задачи изучаются математические основы методов, лежащие в их основе предположения о данных, взаимосвязи методов между собой и особенности их практического применения.
Большое внимание уделено освоению практических навыков анализа данных, отрабатываемых на семинарах, которое будет вестись с использованием языка python и соответствующих библиотек для научных вычислений.
Большое внимание уделено освоению практических навыков анализа данных, отрабатываемых на семинарах, которое будет вестись с использованием языка python и соответствующих библиотек для научных вычислений.
От студентов требуются знания линейной алгебры, математического анализа и теории вероятностей.
От студентов требуются знания линейной алгебры, математического анализа и теории вероятностей.
 +
 +
==Объявление==
 +
На первой паре курса по анализу данных 23.05.2016 будет проведена первая часть экзамена. Экзамен будет устный. Каждому студенту будет задан 1 случайный вопрос из списка ниже. Переговариваться и пользоваться никакими материалами нельзя.
 +
 +
30.05.2016 будет проведена вторая часть экзамена по тем же правилам.
 +
 +
Зачет по курсу будет выставляться в первую очередь - на основе выполнения домашних работ, во вторую - на основе сдачи экзаменов. При обнаружении плагиата в домашних работах баллы не будут зачитываться ни тому, кто списал, ни тому, у кого списали.
 +
 +
Тем, кто не был на занятиях для подготовки к экзамену требуется ознакомиться со слайдами первых 2х лекций [http://www.machinelearning.ru/wiki/index.php?title=%D0%9C%D0%B0%D1%88%D0%B8%D0%BD%D0%BD%D0%BE%D0%B5_%D0%BE%D0%B1%D1%83%D1%87%D0%B5%D0%BD%D0%B8%D0%B5_%28%D0%BA%D1%83%D1%80%D1%81_%D0%BB%D0%B5%D0%BA%D1%86%D0%B8%D0%B9%2C_%D0%92.%D0%92.%D0%9A%D0%B8%D1%82%D0%BE%D0%B2%29/2015-2016 отсюда] и видео-записями первых 2х лекций [https://www.youtube.com/playlist?list=PLJOzdkh8T5kp99tGTEFjH_b9zqEQiiBtC отсюда].
 +
 +
==Вопросы к экзамену 23.05.2016==
 +
 +
1. Задачи машинного обучения - обучение с учителем, без учителя. Привести пример каждой задачи на практике.
 +
1. Задачи регрессии и классификации. Задачи снижения размерности и кластеризации. Привести пример каждой задачи на практике.
 +
1. Функции потерь (loss-функции) и функции выигрыша (score-функции). Привести примеры каждой функции.
 +
1. Что такое класс функций, в котором ищется решение задачи обучения с учителем? Привести пример классов функций для задачи регрессии и классификации.
 +
1. Как находятся оптимальные параметры прогнозирующей модели?
 +
1. Качество прогнозирования на обучающем множестве и на контрольном множестве. Как они соотносятся друг с другом? Как они меняются, если мы изменяем сложность (гибкость) модели, и когда мы изменяем число объектов обучающей выборки?
 +
1. Что такое кросс-валидация? Как оценивать точность моделей для временных рядов?
 +
1. Метод ближайших соседей для задачи регрессии и классификации. Его обобщение через взвешенный учет объектов.
 +
1. Почему прогнозы методом ближайших соседей зависят от масштабирования признаков? Привести пример. Способ стандартизации признаков.
 +
1. Как преобразовывать категориальные признаки? - рассказать про one-hot кодирование.
 +
==Задания==
==Задания==

Версия 10:32, 17 мая 2016


Содержание

Краткое описание

Курс ведется для магистров РЭУ им.Г.В.Плеханова. В курсе рассматриваются основные задачи анализа данных и обучения по прецедентам. По изложению для каждой рассматриваемой задачи изучаются математические основы методов, лежащие в их основе предположения о данных, взаимосвязи методов между собой и особенности их практического применения. Большое внимание уделено освоению практических навыков анализа данных, отрабатываемых на семинарах, которое будет вестись с использованием языка python и соответствующих библиотек для научных вычислений. От студентов требуются знания линейной алгебры, математического анализа и теории вероятностей.

Объявление

На первой паре курса по анализу данных 23.05.2016 будет проведена первая часть экзамена. Экзамен будет устный. Каждому студенту будет задан 1 случайный вопрос из списка ниже. Переговариваться и пользоваться никакими материалами нельзя.

30.05.2016 будет проведена вторая часть экзамена по тем же правилам.

Зачет по курсу будет выставляться в первую очередь - на основе выполнения домашних работ, во вторую - на основе сдачи экзаменов. При обнаружении плагиата в домашних работах баллы не будут зачитываться ни тому, кто списал, ни тому, у кого списали.

Тем, кто не был на занятиях для подготовки к экзамену требуется ознакомиться со слайдами первых 2х лекций отсюда и видео-записями первых 2х лекций отсюда.

Вопросы к экзамену 23.05.2016

1. Задачи машинного обучения - обучение с учителем, без учителя. Привести пример каждой задачи на практике. 1. Задачи регрессии и классификации. Задачи снижения размерности и кластеризации. Привести пример каждой задачи на практике. 1. Функции потерь (loss-функции) и функции выигрыша (score-функции). Привести примеры каждой функции. 1. Что такое класс функций, в котором ищется решение задачи обучения с учителем? Привести пример классов функций для задачи регрессии и классификации. 1. Как находятся оптимальные параметры прогнозирующей модели? 1. Качество прогнозирования на обучающем множестве и на контрольном множестве. Как они соотносятся друг с другом? Как они меняются, если мы изменяем сложность (гибкость) модели, и когда мы изменяем число объектов обучающей выборки? 1. Что такое кросс-валидация? Как оценивать точность моделей для временных рядов? 1. Метод ближайших соседей для задачи регрессии и классификации. Его обобщение через взвешенный учет объектов. 1. Почему прогнозы методом ближайших соседей зависят от масштабирования признаков? Привести пример. Способ стандартизации признаков. 1. Как преобразовывать категориальные признаки? - рассказать про one-hot кодирование.


Задания

N1 - Проверка работы метода K-NN

Срок: до 14 февраля.

скачать задание

N2 - Применение метода K-NN для распознавания цифр

Срок: до 14 февраля.

скачать задание

N3 - Поиск наилучшей модели для оценки съедобности грибов

Срок: до 23:59 24 апреля.

скачать задание и данные

Необходимо: разработать модель, дающую 100% точность на кросс-валидации и отослать мне ipynb файл кода и файл прогнозов для тестового множества в формате - как указано в файле.

Помощь по заданию:

Пример преобразования признаков и подбора параметров модели для другого датасета.

Для работы демонстрационного примера и выполнения задания понадобятся полезные модули отсюда. Главным образом - модуль feature transformations.py, содержащий one-hot и вероятностное кодирование признаков.

N4 - Предсказание, откликнется ли клиент на новую услугу банка

Срок: до 23:59 24 апреля.

Вам необходимо добиться максимально возможной точности по кросс валидации. Вам нужно подобрать параметр K и метрику для метода ближайших соседей, минимальное число объектов в листе и impurity function для дерева решений и параметр регуляризации C (рекомендуется перебирать C=10**-5,10**-4,...10**5), а также тип регуряризации (L1/L2) для логистической регресии. После чего результаты оформить в виде таблицы - для какого метода какие параметры по какой сетке значений перебирались, какие значения параметров оказались наилучшими и какой метод в целом оказался самым лучшим. Мне нужно прислать только ipynb файл c таблицей результатов и кодом. Естественно, все дискретные признаки вначале необходимо заменить их one-hot-encoding преобразованиями и проверить - добавление дискретных признаков улучшает точность или нет.

скачать задание и данные

Помощь по заданию:

Пример преобразования признаков и подбора параметров модели для другого датасета.

Для работы демонстрационного примера и выполнения задания понадобятся полезные модули отсюда. Главным образом - модуль feature transformations.py, содержащий one-hot и вероятностное кодирование признаков.

N5 - На стадии формирования...

Пройденные теоретические темы

  • Задачи машинного обучение: обучение с учителем и без учителя, регрессия, классификация, кластеризация.
  • Метод ближайших соседей. Алгоритм метода для регрессии и классификации.
  • Обобщение метода ближайших соседей через веса.
  • Метод решающих деревьев для классификации и регрессии.
  • Упрощение решающих деревьев. Pruning.
  • Работа с дискретными признаками: one-hot кодирование и вероятностное кодирование.
  • Характер зависимости разных методов машинного обучения от масштабирования признаков.
  • Методы линейной классификации. Настройка весов.
  • Логистическая регрессия. Функция цены для логистической регрессии.

Пройденные практические темы

  • Язык программирования Python
  • Математическая библиотека numpy
  • Основы работы с библиотекой машинного обучения scikit-learn.


Презентации некоторых лекций

Введение

Метод ближайших соседей

Метод решающих деревьев

Методы линейной классификации. Логистическая регрессия.

Метод опорных векторов

Ядерное обобщение метода опорны векторов

Материалы для самостоятельного изучения (необходимы для решения домашних работ)

Интересно

Разборы решений соревнований по анализу данных

Дополнительные материалы, если что-то непонятно

Python

Личные инструменты