Численные методы обучения по прецедентам (практика, В.В. Стрижов)/Группа 274, весна 2016

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

Перейти к: навигация, поиск


Построение моделей в машинном обучении

Курс посвящен обсуждению методов выбора моделей. Обсуждение ведется в формате лекций, докладов и эссе. Эссе — это краткое, примерно на страницу, изложение собственной точки зрения на постановку и решение определенной задачи. Пишется в свободной форме, но с учетом нашего стиля написания научных работ: терминологическая точность и единство обозначений приветствуются[1].

Эссе

Автор 1 2 3 4 5 6 7 8 L E Оценка
Бочкарев Артем 1 2 3 4 5 6 7 8
Гончаров Алексей 1 2 3 4 5 6 7 8
Двинских Дарина 1 2 3 - 5 6 7 8
Жариков Илья 1 2 3 4 5 6 7 8
Задаянчук Андрей 1 2 3 4 5 6 7 8
Златов Александр 1 2 3 - 5 6 7 8
Исаченко Роман 1 2 3 4 5 6 7 8
Нейчев Радослав 1 2 3 4 5 6 7 8
Подкопаев Александр 1 2 3 4 5 6 7 8
Решетова Дарья 1 2 3 4 5 6 7 8
Смирнов Евгений 1 2 3 - 5 6 7 8
Черных Владимир 1 2 3 4 5 6 7 8
Шишковец Светлана 1 2 3 4 5 6 7 8
Чинаев Николай 1 2 3 - - - 7 8

Эссе хранятся в папке Group274/Surname2016Essays/. Ссылка на эссе делается по шаблону

 [https://sourceforge.net/p/mlalgorithms/code/HEAD/tree/Group274/Surname2016Essays/Surname2016Essay1.pdf?format=raw 1] 

Темы эссе

  • Эссе 1. Байесовский вывод в выборе моделей slides, txt, paper
    1. Вывод формулы ошибки общего вида для "необычных" гипотез порождения данных (от мультиномиального распределения для задачи многоклассовой классификации до произвольных распределений из экспоненциального семейства, см. список GLM).
    2. Для некоторых функций ошибки указать из какой гипотезы порождения данных они получены и каким образом (например, функцию ошибки включена сумма различных видов штрафов на векторы параметров и невязок).
    3. Сделать эксперимент-пример вычисления правдоподобия моделей и визуальный анализ пространства параметров и гиперпараметров модели.
  • Эссе 2. Смеси моделей page 21, slide 24, txt, tableau
    1. Предложить способы порождения объектов и признаков для задачи прогнозирования сложных объектов (spatio-temporal data).
    2. Сделать краткое и ясное описание алгоритма порождения мультимоделей:
      • совместный выбор объектов и признаков с помощью генетического алгоритма,
      • порождение и выбор мультимоделей из принципа алгоритма МГУА.
    3. Сделать краткое и ясное описание алгоритма выбора мультимоделей:
      • mixture of experts,
      • multi-level model,
      • своего алгоритма.
  • Дополнение к 2. Оценка параметров slides, text, pages 30-33
  • Эссе 3. Обучение по предпочтениям и конусы text, text, slides, slides
    • Задачи обучения по предпочтениям в которых используются конусы или расслоение Парето переформулировать с использованием
      1. Байесовского вывода первого или второго уровня,
      2. выбора моделей, признаков содержащие вероятностные модели,
      3. построения смесей экспертов (например, тождественных экспертам в области знаний).
  • Эссе 4. Структурное обучение slides, video, slides, (slides 1, slides 2, slides 3), (pptx txt),
    • В качестве задачи выполняется групповой проект: Автоматическое порождение и выбор модели классификации временных рядов.
  • Эссе 5. задачи
    • Предложить две задачи для студентов 2-го курса. Требования к задаче:
      1. несложная выборка с природой понятного происхождения (возможно, получаемая по ссылке);
      2. базовая задача из нашей области, решаемая за 4-6 часов;
      3. решение должно быть интересным для студента, а результаты должны быть такими, чтобы их интересно было бы слушать;
      4. для решения предполагается короткий код;
      5. в результате получены графики, иллюстрирующие результаты и решение.
    • Задачи публикуются на этой странице внизу.
  • Эссе 6. задачи
    • По результатам предыдущего обсуждения предложить третью задачу и сделать правки в первых двух.
  • Эссе 7. Автоматическое построение скоринговых моделей, внешняя и внутренняя оптимизация / дообучение slides
    • Описать интерфейс к блоку и содержимое блока
    • Подумать, как связать блоки в систему, передавая выборку (или ее составные части) значения функции ошибки и критериев качества, параметры, структурные параметры, выбранные признаки (или элементы модели).
      1. Заполнение пропущенных значений, исключение или коррекция выбросов — Илья
      2. Преобразование шкал: ординальных и номинальных в бинарные, монотонизация линейных шкал (кусочно-линейная сегментация) — Дарья
      3. Группировка признаков — Андрей
      4. Порождение признаков — Алексей
      5. Обнаружение мультикоррелированных признаков — Роман
      6. Анализ малых размерностей, одномерный анализ — Евгений
      7. Выбор признаков, снижение размерности — Светлана
      8. Построение модели — Николай
      9. Кластерный анализ — Артем
      10. Построение мультимодели — Радослав
      11. Статистический анализ адекватности модели — Александр
      12. Анализ устойчивости модели — Александр
      13. Критерии качества модели и ограничения на ее структуру — Дарина
      14. Внешняя оптимизация и дообучение — Владимир
    • 1-4 построение выборки, 5-7 выбор признаков, 8-10 построение модели, 11-14 анализ качества.


Прошу делать разнообразные эссе, минимизируя пересечения. Смотрите на те *загрузки, которые уже сделаны.


Сумма=13, где A-=0, A=1, A+=1.5, A++=2, тесты (30-50 вопросов 1 час)=3, доклад=2, 3 пропуска.

Пробные задачи для поступления на кафедру Интеллектуальные системы

Задача 1 (Аврелий)

Текст

Задача 2 (Аврелий)

Текст

Задача 1 (Черных)

Реализовать алгоритм логистической регрессии и протестировать его на предложенной выборке. В чем особенность данного алгоритма классификации? В качестве функционала ошибки использовать AUC. Исследовать зависимость ошибки от наличия/отсутствия и типа регуляризатора (L1 и L2). Для оптимизации параметров можно использовать алгоритм градиентного спуска. Число итераций ограничить либо условием на сходимость – норма разности последовательных векторов весов не больше точности, либо числом шагов.

Данные: UCI

Визуализировать полученные результаты в виде меток класса и разделяющей гиперплоскости.

Задача 2 (Черных)

Взять два алгоритма оптимизации - один из градиентых (краткий обзор методов градиентного спуска) и имитации отжига. Сравнить и визуализировать их работу при поиске минимума тестовой функции.

В качестве примера предлагается взять функцию f(x, y) = 0.01\left(x^2 - 90\right)^2 + y^2 + 0.1 x^2 y.

Задача 3 (Черных)

Решить задачу классификации букв латинского алфафита (датасет notMNIST). Отличительной (от MNIST) особенностью данного датасета является значительно большее различие в написании одних и тех же букв из-за использования различных шрифтов. В качестве бейслайна предлагается взять алгоритм понижения размерности PCA в связке с логичтической регрессией. Количество компонент для PCA настроить с помощью кросс-валидации.

Задача 1 (Исаченко)

Построить регрессионную модель, используя формулу Надарая-Ватсона. Поэкспериментировать с параметрами алгоритма: ядро, ширина окна. Произвести отсев выбросов, используя алгоритм LOWESS. В качестве данных предлагается использовать выборку "Цены на хлеб". Построить график ошибки в зависимости от параметров эксперимента.

Задача 2 (Исаченко)

Сгенерировать двухклассовую выборку. Классифицировать выборку произвольным методом (например: knn, gradient descent, logistic regression). Для измерения качества классификации вычислить AUC-ROC. Изобразить ROC-кривые построенные с помощью скользящего контроля (leave one out). Оценить дисперсию результата.

Задача 1 (Жариков)

Задача: распознавание написанных от руки цифр 0, 1,..., 9.

Данные и подробное описание: "Kaggle. Digit Recognizer."

Требуется: Получить информацию о выборках: количество объектов в обучающей и контрольной выборках, количество признаков у каждого объекта, типы признаков, есть ли пропуски в данных.

Снизить размерность признакового описания объектов(например, методом главных компонент, реализация "PCA") и использовать SVM со стандартными параметрами, оценить качетво. Ответить на вопрос: почему в этой задаче для SVM необходимо снижать размерность, на что это влият?

Выбрать лучшие параметры из: kernel = 'rbf', gamma = $[10^{-8},\dots, 10^2]$, C = $[10^{-2},\dots, 10^8]$ (можно построить "heatmap", качество можно смотреть на части обучающей выборке, которую не будем использовать для обучения). Насколько улучшилось "качество"?

Нужно ли при использование SVM нормировать признаки? Нужно ли в этой задаче нормировать признаки?

Задача 2 (Жариков)

Задача: предсказать сорт винограда, из которого сделано вино, используя результаты химических анализов.

Данные: "wines".

Требуется: Реализовать алгоритм KNN - k ближайших соседей с различными метриками(около трех). Для определения "качество" использовать скользящий контроль(кросс-валидация). Подобрать оптимальные параметры алгоритма: k от 1 до 50, метрика одна из трех реализованная вами. При каком k получилось оптимальное качество? Чему оно равно? Поможет ли масштабирование признаков в этой задаче для KNN?

Задача 3 (Жариков)

Задача: предсказать число прокатов в день.

Данные и подробное описание: "Rent".

Требуется: Посмотреть на признаки: выяснить есть ли пропуски в данных, подсчитать попарные корреляции, выяснить есть ли зависимые признаки. Применить алгоритмы линейной регрессии: "Lasso", "Ridge", "ElasticNet". Построить графики зависимости весов объектов (атрибут coef\_) от alpha(обязательно перебрать alpha = 0). Что происходит с весами у зависимых признаков? Какой классификатор отбирает признаки(зануляет веса)? Почему это происходит? Лекция с указанными методами - "линейная регрессия".

Задача 1 (Гончаров)

Задача: Исследовать зависимость стоимости пути наименьшей стоимости между двумя временными рядами от величины ограничения "Sakoe-Chiba band".

Данные: Сгенерировать две длинных периодических последовательности (например, синус), которые сдвинуты друг относительно друга на половину периода.

Требуется: Реализовать алгоритм нахождения расстояния "DTW", реализовать ограничения на вид пути в матрице с помощью техники "Sakoe-Chiba band". Построить график зависимости стоимости пути от величины ограничений. Следует отметить, что при наименьшей величине отклонения пути от диагонали при этих ограничениях, стоимость DTW перейдет в Евклидово расстояние. Пример реализации алгоритма представлен "здесь"

Задача 2 (Гончаров)

Задача: Исследовать поведение пути наименьшей стоимости между двумя временными рядами от величины ограничения "Sakoe-Chiba band".

Данные: Сгенерировать две длинных периодических последовательности (например, синус), которые сдвинуты друг относительно друга на половину периода.

Требуется: Реализовать алгоритм построения пути наименьшей стоимости "DTW" в соответствующей матрице, реализовать ограничения на вид пути в матрице с помощью техники "Sakoe-Chiba band". Построить "анимацию" этого пути (например, используя функцию pause в matlab - пример реализации легко найти в интернете). Первый график в анимации должен соответствовать максимальным ограничениям (то есть должен проходить по диагонали), а последний - случаю минимальных ограничений (то есть их отсутствию). Пример реализации представлен "здесь"

Задача 3 (Гончаров)

Задача: Зависимость функции ошибки регрессии от сложности признакового пространства.

Данные: В качестве ответа в задаче регрессии - произвольный набор аналитических функций координаты с нормальным шумом. В качестве объектов - точки на оси абсцисс. В качестве признакового описания объекта - произвольные аналитические функции координаты (sin(x), ln(x), полиномы различной степени и тд).

Требуется: Реализовать алгоритм, восстанавливающий целевую зависимость как решение "задачи МНК для линейной регрессии". В качестве функционала качества принять среднеквадратичное отклонение в контрольных точках. При этом исследовать зависимость этого функционала от сложности признакового пространства. Ее можно менять добавлением и удалением различных признаков (аналитических функций) из признакового описания.

Задача 1 (Подкопаев)

Основной идеей задачи является знакомство с анализом многомерных данных. В данной задаче рассматривается МГК (PCA) - один из способов уменьшения размерности с потерей наименьшего количества информации. Работу предлагается провести с "выборкой" из библиотеки UCI. Студенту предлагается реализовать метод на данной выборке, рассмотреть первые 5-6 главных компонент и в результате для визуализации данных построить полученные двумерные графики.

Задача 2 (Подкопаев)

Предлагается рассмотреть линейный классификатор (метод обучения классификатора выбирается студентом самостоятельно). В качестве данных можно использовать "выборку". Предлагается рассмотреть различные разбиения выборки на обучающую и тестовую. Оценить качество бинарной классификации. Для оценки качества классификатора предлагается построить ROC-кривую.

Задача 3 (Подкопаев)

Для решения задачи двухклассовой классификации предлагается воспользоваться методом ERM. В качестве данных можно использовать "выборку". В качестве функции потерь рассмотреть hinge-loss и некоторую его гладкую аппроксимацию. Для решения задачи минимизации функционала воспользоваться стандартами методами: GD и SGD. Визуализировать их работу и попытаться ответить на вопрос, чувствителен ли каждый из методов к негладкости функции потерь в случае использования hinge-loss.

Задача 1 (Бочкарев)

Задача: Идентификация видов стекла. Часто на месте преступления остаются осколки разных видов стекол, которые мы можем использовать как улики, если определим тип стекла и от каких оно объектов. Выборка состоит из 9 признаков – химических параметров образцов, а также из 214 объектов. Необходимо каждому образцу сопоставить один из 6 класов (например: стекло автомобиля, осколок посуды, окно здания).

Ссылка на данные: [2]

Требуется: Оценить качество работы случайного леса, построить график ошибки на кросс-валидации от числа деревьев, в качестве метрики использовать число правильных ответов классификатора. Сравнить лучший результат с применением обычного решающего дерева. Дает ли масштабиование признаков значительное улучшение в качестве классификации, почему?

Задача 2 (Бочкарев)

Задача: Предсказание площади лесных пожаров. На основе погодных измерений необходимо предсказать объем выгоревших лесных массивов на севере Португалии. Выборка состоит из 13 признаков и 517 объектов.

Ссылка на данные: fires/

Требуется: Реализуйте метод наименьших квадратов с регуляризацией. Нарисуйте график весов признаков и общей ошибки на кросс-валидации при изменении параметра регуляризации. Какие признаки наиболее важны для нашей задачи? Что изменится, если предварительно все признаки стандартизовать?

Задача 3 (Бочкарев)

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

Ссылка на данные: [3]

Требуется: Самостоятельно реализовать алгоритм кластеризации k-means. Число кластеров установить равным двум. Попробовать различные стратегии инициализации. Сравнить результаты работы алгоритма с реальной разметкой коллекции на спам.

Задача 1 (Нейчев)

Задача: Применение метода главных компонент. Оценка числа главных компонет методом "сломанной трости".

Ссылка на данные: [4]. Данные представляют собой реакцию химических дескрипторов на различные соединения. На выбор есть файлы формата mat или csv.

Требуется: Применить МГК для нахождения главных компонент на тестовых данных. Оценить необходимое число главных компонент для достижения заданной точности. Построить график изменения ошибки относительно числа главных компонент. По графику оценить "истинную" размерность признакового пространства.

Задача 2 (Нейчев)

Задача: Построение прогноза методом векторной авторегрессии (VAR).

Ссылка на данные: [5]

Требуется: Построить прогноз энергопотребления на 24 часа вперед. Для решения применить VAR с квадратичной функцией ошибки. Построить график, сравнить истинное поведение потребления и прогноз. Дополнительно: рассмотреть зависимость функции ошибки на прогнозе от длины использованной предыстории, имеет ли место переобучение.

Задача 3 (Нейчев)

Задача: Разведочный анализ в задаче прогнозирования.

Ссылка на данные: [6], [7]

Требуется: В анализе данных в первую очередь необходимо понять, с какими данными исследователь имеет дело и какие подходы лучше применять. Для этого проводится разведочный анализ. Предлагается исследовать данные временные ряды на периодичность, стационарность. Для этого предлагается построить график зависимости величины ошибки от длины предыстории и от периода. Для чистоты эксперимента временные ряды обезличены.

Задача 1 (Златов)

Задача: Классификация животных по их описанию с помощью логистической регрессии.

Ссылка на данные: [8]

Требуется: Определить класс животного по его описанию. Для классификации предлагается использовать логистическую регрессию. Сравнить результаты классификации при использовании многоклассовой логистической регрессии и обощения логистической регрессии "один против всех".

Задача 2 (Златов)

Задача: Кластеризация с помощью алгоритма k-means.

Ссылка на данные: [9]

Требуется: Провести кластеризацию данных с помощью алгоритма k-means. Построить график зависимости качества кластеризации от значения параметра k. Определить оптимальное значение параметра k. Использовать несколько различных мер качества.

Задача 3 (Златов)

Задача: По описанию условий посева предсказать, проростут семена растений или нет.

Ссылка на данные: [10]

Требуется: Провести бинарную классификацию семян с помошью метода Парзеновского окна. Подобрать оптимальную ширину окна.

Задача 1 (Шишковец)

Задача:Классификация руки в покере по их описанию с помощью метода потенциальных функций

Данные и подробное описание: "Poker"

Требуется: Оновной задачей является знакомство с "методом потенциальных функций".. Дополнительно предлагается построить "ROC" -крийвую и посчитать AUC-показатели. Сравнить результаты классификации при использовании этих двух способов.

Задача 2 (Шишковец)

Задача: Прогнозирование стоимости автомобиля при помощи алгоритма k-ближайших соседей.

Данные: "autos".

Требуется: Основной задачей является знакомство с методом"k-ближайших соседей" и его реализацией с различными метриками(около трех). Для определения "качество" использовать "скользящий контроль(кросс-валидация)". Подобрать оптимальные параметры алгоритма: k от 1 до 50, метрика одна из трех реализованная вами.

Задача 3 (Шишковец)

Задача:Классификация ядовитости грибов по основным признакам

Данные и подробное описание: "Mushrooms"

Требуется: Оновной задачей является знакомство с "линейными классификаторами", выбрать самостоятельно один из методов его обучения. Дополнительно предлагается построить "ROC" -крийвую и посчитать AUC-показатели. Сравнить результаты классификации при использовании этих двух способов.


Задача 1 (Задаянчук)

Задача: Заполнение пропусков в данных приложения Сardiomood

Данные: [11].

Требуется: Сравнить различные методы заполнения пропусков, такие как:

1.Метод замены пропущенного значения средним из ближайших присутствующих элементов переменной.

2.Метод восстановления пропущенного значения сплайн-интерполяцией по присутствующим элементам.

3. Метод восстановления пропущенного значения на основе использования Zet-алгоритма.

Сравнение делать оценивая близость восстановленных "пропусков" с реальными данными.

Литература:

2. Загоруйко Н.Г. Прикладные методы анализа данных и знаний. - Новосибирск: Изд-во ин-та математики, 1999.

3. Загоруйко Н.Г., Елкина В.Н., Тимеркаев В.С. Алгоритм заполнения пропусков в эмпирических таблицах (алгоритм Zet) // Эмпирическое предсказание и распознавание образов. - Новосибирск, 1975. - Вып. 61: Вычислительные системы. - С. 3-27.

Задача 2 (Задаянчук)

Задача: 2D визуализация ND данных с помощью PCA.

Данные и скрипт: [12]. (Возможно использования других данных и независимая реализация) Указания: 7_pca.m script and 2.5 part of exercise 7 [13].

Требуется: Иногда ND графики не позволяют сделать определенных выводов о данных (например, о качестве кластеризации). В этой ситуации просто проекция на оси, не самая лучшая идея (много разных проекций, нельзя сделать однозначных выводов). Предлагается использовать PCA для визуализации N-мерных данных на 2D графике.


Источник Coursera Course “Machine Learning” by Andrew Ng.

Задача 1 (Смирнов)

Задача: Является ли слово фамилией?

Данные: "фамилии"

Требуется: Морфологические алгоритмы плохо работают для поиска фамилий в тексте, предлагается построить классификатор, используя логистическую регрессию. Необходимо придумать наиболее информативные признаки для фамилий. Реализовать градиентный спуск для обычной и L2-регуляризованной логистической регрессии. Сравнить полученное качество и время работы алгоритмов.

Задача 2 (Смирнов)

Задача: Популярные темы в русских сказках.

Данные: "Коллекция сказок"

Требуется: Для выделения тем на коллекции документов используются методы тематического моделирования, которые сводятся к матричному разложению. Предлагается определить к каким темам относится каждая из русских народных сказок. Для это следует построить словарь для коллекции документов. Построить матрицу строками в которой являются частоты слов из словаря, а число строк равняется числу сказок в коллекции. Сделать двухматричное разложение методом SVD. Почему данная задача является некорректно поставленной?

Задача 3 (Смирнов)

Задача: Суммаризация документа

Данные: -

Требуется: В больших текстовых документах часто встречаются очень схожие предложения. Требуется сократить объём текстового документа. Предлагается оценить расстояния между предложениями, используя оценки схожести слов. Сравнить качество фильтрации для следующих метрик: расстояния Хемминга, Дивергенция Кульбака-Лейблера, путь наименьшей стоимость в двудольном графе.

Задача 1 (Двинских)

В крупную сеть гипермаркетов ежедневно выполняются поставки различных товаров. Требуется, использую временную историю спроса бананов за один год 'Goods', построить прогноз спроса товара на неделю. Для прогнозирования предлагается использовать алгоритм Гусеница, или SSA (Singular spectrum analysis).

Задача 2 (Двинских)

В ЦРУ поступили данные о незаконных перевозках товаров из Чикаго в Питтсбург. Как следствие ЦРУ стало отслеживать все грузы, проходящие по этому сообщению. Была собрана информация о всех перелетах за каждый месяц в течение нескольких лет. Данные представляют собой периодичный сильно зашумленный временной ряд 'Airline(Ch-P)'. Требуется предложить критерий устранения зашумленности ряда, чтобы ЦРУ смогло установить закон, в соответствии с которым выполняются перевозки.

Задача 3 (Двинских)

Используя данные о школьниках, выявить степень их алкогольной зависимости. В данных, взятых с UCI 'Students', содержится информация о 30-ти признаках для каждого школьника, включая социальные и гендерные, а также указана материальная обеспеченность и количество свободного времени. Выбрать на свой взгляд наиболее весомые признаки и предсказать степень употребления алкоголя по выходным или будним по шкале от 0 до 5. Сравнить результаты с данными.


Задача 1 (Решетова)

Задача: распознавание британских гласных (11 штук) по данным с динамиков: 10 признаков, 528 объектов.

Данные: vowel из [14], рекомендуется использовать нормированные признаки (файл .scaled).

Требуется: решить задачу многоклассовой классификации предлагается с помощью решающего дерева. Нужно реализовать метод решающего дерева, построить область разделения на классы в проекции на любые 2 признака. Оценить переобучение модели – построить графики зависимости ошибки на тестовых данных и отношения доли ошибок на обучении и контроле в зависимости от степени прунинга.

Задача 2 (Решетова)

Задача: построение регрессионной модели – определение средней арендной платы в Бостоне по данным района. Выборка состоит из 506 объектов с 13 признаками.

Данные: housing (с нормированными признаками) из [15]

Требуется: решить задачу линейной регрессии с помощью метода наименьших квадратов. Сравнить результаты, построив графики полученных значений на тестовой выборке а также результаты, полученные с применением регяляризации: лассо и гребневой регрессии.

Задача 3 (Решетова)

Задача: классификация изображений букв на 26 классов – буквы английского алфавита. Дана выборка из 15,000 объектов – 16 признаков, сгенерированных по изображениям букв различных шрифтов с искажениями.

Данные: letter (scaled) из [16]

Требуется: решить задачу кластеризации объетов по методу k-means, добавить расстояние до центров кластеров в признаки и сравнить качество классификации с учетом клаcтеризации и без него. В качестве базового алгоритма классификации можно использовать мультиномиальную логистическую регрессию или случайный лес, для отбора признаков использовать PCA. Число кластеров определить с помощью кросс-валидации, в качестве критерия качества можно выбрать число ошибок классификации. Построить графики для доли ошибок классификации для нескольких значений числа кластеров k ∈ {5...26} и без учета кластеров.

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