Практикум ведет к.ф.-м.н. Юрий Викторович Чехович.
Материалы, необходимые для выполнения практикума, находятся в архиве
practicalwork.zip [3,696 Kb].
Цели практикума:
— освоение приемов практической разработки и реализации алгоритмов классификации;
— освоение приемов объектно-ориентированного программирования,
обеспечивающих совместную разработку и повторное использование кода;
— получение навыков тестирования и документирования программных продуктов;
— формирование культуры проведения вычислительных экспериментов.
Задания практикума в 6—7 семестрах заключаются в
самостоятельной программной реализации алгоритмов, рассмотренных в курсе
«Математические методы обучения по прецедентам»
(метод выбирает студент, но для получения отличной оценки необходимо
реализовать хотя бы один метод «со звездочкой»):
— Линейный дискриминант Фишера
(сферические гауссовские плотности, матрицу обращать не надо);
— *Линейный дискриминант Фишера
(гауссовские плотности произвольного вида, с обращением ковариационной матрицы);
— Байесовское решающее правило с квадратичной разделяющей поверхностью
(без обращения матрицы);
— *Байесовское решающее правило с квадратичной разделяющей поверхностью
(с обращением матрицы);
— Метод k ближайших соседей
с выбором k по скользящему контролю с одним отделяемым объектом;
— *Метод k ближайших соседей с оптимизацией весов объектов;
— Метод потенциальных функций (итерационный алгоритм);
— *Метод радиальных базисных функций (обучение с помощью EM-алгоритма);
— Байесовское решающее правило
с восстановлением плотностей классов по Парзену-Розенблатту.
— *Регрессионный метод (на основе ортогонализации Грама-Шмидта);
— *Логистическая регрессия;
Несколько правил,
которых необходимо придерживаться при выполнении практикума:
— использовать язык C++,
— переопределять предоставленный абстрактный базовый класс CLearner,
— хранить матричные данные в объектах класса CmaMatrix,
— реализовать отдельные модули для тестирования своих алгоритмов.