Машинное обучение (РЭУ)
Материал из 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, Numpy, методов визуализации и настройки прогнозирующих моделей.
- A Crash Course in Python for Scientists
- Numpy
- Matplotlib
- Scipy Lecture Notes
- Pandas
- Scikit-learn
Интересно
Разборы решений соревнований по анализу данных
Дополнительные материалы, если что-то непонятно
- Видеолекции К.В.Воронцова по машинному обучению
- machinelearning.ru
- Одна из классических и наиболее полных книг по машинному обучению. Elements of Statistical Learning (Trevor Hastie, Robert Tibshirani, Jerome Friedman)
Python
- Официальный сайт
- Библиотеки: NumPy, Pandas, SciKit-Learn, Matplotlib.
- Небольшой пример для начинающих: краткое руководство с примерами по Python 2