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

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

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


Перед выполнением заданий рекомендуются к прочтению

Название работы Работу выполняет
Логистическая регрессия для решения задач классификации (пример) Дорофеев Д.
Метод k ближайших соседей (пример) Литвинов И.
Метод k взвешенных ближайших соседей (пример) Янович Ю.
Функции радиального базиса (пример) Островский А.
Однослойный персептрон (пример) Панов М.
Решающие деревья, код алгоритма Скипор К.
EM-алгоритм (пример) Спирин Н.
EM-алгоритм с последовательным добавлением компонент (пример) Павлов К.
Метод Парзеновского окна (пример) Зайцев А.
Оптимальное прореживание нейронных сетей (пример) Юдаев М.


Задачи

Для всех задач. Задана модельная выборка: n признаков, m=m_1+m_2 объектов, каждый из объектов принадлежит одному из 2-х классов. Распределение случайной величины, соответствующей признаку, описывающему класс, задано. Заданы параметры распределения. Для удобств визуализации примем n=2, но программировать алгоритмы нужно c учетом произвольного (натурального) числа признаков. При тестировании алгоритмов задается также разбиение выборки на обучающую и контрольную подвыборки.

Задача 1: Логистическая регрессия для решения задач классификации (пример) - выполняет Дорофеев Д.

Для заданной выборки требуется восстановить логистическую регрессию. При этом можно использовать библиотеку Матлаба или процедуру, описанную на сайте machinelearning.ru. Можно также или написать метод оптимизации параметров самостоятельно.

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

Задача 2: Метод ближайших соседей (пример)- выполняет Литвинов И., Метод k взвешенных ближайших соседей (пример) - выполняет Янович Ю.

Для заданной выборки требуется восстановить классификацию по K ближайшим соседям.

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

Задача 3: Функции радиального базиса (пример) — выполняет Островский А.

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

Построить графики для различных модельных выборок. На каждом графике показать исходные и восстановленные метки класса для каждого объекта. Показать эквипотенциальные линии на графике.


Задача 4: Однослойный персептрон (пример) — выполняет Панов М.

Для заданной выборки требуется восстановить классификацию с помощью нейронных сетей с одним скрытым слоем.

Построить графики для различных модельных выборок. На каждом графике показать исходные и восстановленные метки класса для каждого объекта.


Задача 5: Решающие деревья (код алгоритма) - выполняет Скипор К.

Для заданной выборки требуется восстановить классификацию с помощью решающих деревьев.

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


Задача 6: Логические алгоритмы классификации (пример)

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

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


Задача 7: EM-алгоритм (пример) — выполняет Спирин Н., EM-алгоритм с последовательным добавлением компонент (пример) — выполняет Павлов К.

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

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


Задача 8: Метод Парзеновского окна (пример) - выполняет Зайцев А.

Для заданной выборки требуется восстановить классификацию методом Перзеновского окна с ядром из заданного набора.

Построить графики для различных модельных выборок. На каждом графике показать исходные и восстановленные метки класса для каждого объекта.


Задача 9* — со звездочкой (Регрессия и генетические алгоритмы)

Задана регрессионная выборка. Принята линейная модель. Требуется (с помощью генетического оптимизационного алгоритма) найти параметры модели, доставляющие оптимум критерию качества. Критерий качества задан Яндексом. На значения параметров наложены ограничения (см. описание алгоритма Lasso на machinelearning.ru).

Данная задача поставлена с учетом условий конкурса Яндекса «Интернет-математика 2009».

Задача 10* — со звездочкой (Регрессия и метод опорных векторов)

Задана регрессионная выборка. Принята линейная модель. Требуется (с помощью метода опорных векторов) найти параметры модели, доставляющие оптимум критерию качества. Критерий качества задан Яндексом. На значения параметров наложены ограничения типа неравенств. (Предлагается использовать пакет SVM-light, версия для Матлаба, см. документацию к конкурсу на Яндексе).

Данная задача поставлена с учетом условий конкурса Яндекса «Интернет-математика 2009».

Задача 11 (творческая, обсуждается отдельно)

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

Задача 12 (техническая, обсуждается отдельно)

Разработать, оттестировать и документировать интерфейс «Полигон-Матлаб», а также систему визуализации результатов, полученных в результате запуска Полигоном алгоритмов классификации, выполненных на Матлабе.

Примечания к задачам

  1. Данная версия задач будет уточняться, особенно в части деталей реализации алгоритмов.
  2. Строка «Выполнить статистический анализ результатов классификации» означает, что требуется использовать стандартные процедуры

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

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

Что делать сейчас (2-9 апреля 2009)

Выбрать задачу (или несколько), найти и прочитать теорию, сделать краткий конспект, записать вопросы по реализации алгоритмов (например, даже для такой несложной концепции, как решающие деревья, предложено не менее десяти алгоритмов оптимизации).

9 апреля обсуждаем как делаются модельные данные, разбираем детали выполнения работ.

На следующий год

Планы (май 2009) Состояние (октябрь 2009)
Дать UML, наиболее полезную для этих задач версию стандарта (одна лекция). Этим решаем проблему неудовлетворительного качества проектирования интерфейсов и порядка вызова модулей. Принят IDEF0
Требовать схему UML в ML-статье, в разделе "Исходный код". Предложен systemdocs
Написать соглашение об именах, версию для этого проекта. Используем Matlab Style-Guide
Если ML будет такой же медленной, отказаться от нее и сделать вариант отчета LaTeX->PDF, хранимый на SourceForge. ML работает быстро!
Принять стиль Гугл (возможно, упрощенную версию стилевых требований), опубликовать. Создать систему кросс-приемки и кросс-тестирования. Часть systemdocs
Принять стандарт каталогизации работ (возможно, каталогизировать ранние работы за три года - около 40 работ). Пока нет, требует времени
Отказаться от копирования материалов лекций в статью. Частично решено
Личные инструменты