Методы оптимизации в машинном обучении (курс лекций)/2012/Задание 2
Материал из MachineLearning.
Начало выполнения задания: 27 октября 2012
Срок сдачи: 16 ноября (пятница), 23:59
Среда реализации задания – MATLAB.
Логистическая регрессия
Формулировка метода
Рассматривается задача классификации на два класса. Имеется обучающая выборка , где — вектор признаков для объекта , а — его метка класса. Задача заключается в предсказании метки класса для объекта, представленного своим вектором признаков .
В логистической регрессии предсказание метки класса осуществляется по знаку линейной функции:
,
где — некоторые веса. Для учета линейного сдвига в данном решающем правиле в вектора признаков добавляется единица: . Настройка весов осуществляется путем минимизации следующего регуляризованного критерия:
.
Здесь — задаваемый пользователем параметр регуляризации. Использование регуляризации позволяет снизить вероятность переобучения алгоритма.
Использование радиальных базисных функций
Одним их стандартных способов обобщения логистической регрессии на случай построения нелинейных разделяющих поверхностей является использование т.н. радиальных базисных функций. Здесь решающее правило заменяется на следующее:
,
где базисные функции определяются как
Здесь — параметр, а — j-ый объект обучающей выборки.
Использование -регуляризации
В логистической регрессии использование -регуляризации вместо квадратичной соответствует решению следующей задачи оптимизации на этапе обучения:
.
Известно, что решение такой задачи обладает свойством разреженности, т.е. часть компонент оптимального вектора весов равно нулю. С точки зрения линейного решающего правила нулевые веса равносильны исключению соответствующей базисной функции (или исходного признака) из модели.
Формулировка задания
- Реализовать процедуру обучения логистической регрессии с квадратичной регуляризацией с помощью трех подходов:
- Метод Ньютона с ограниченным шагом (damped Newton) и адаптивным подбором длины шага,
- Метод L-BFGS с подбором длины шага через backtracking,
- Метод на основе верхней оценки Йаакколы-Джордана для логистической функции, в котором на этапе решения СЛАУ используется метод сопряженных градиентов;
- Провести тестирование разработанных методов на модельных данных. Необходимо исследовать различные сочетания количества объектов и признаков (кол-во признаков значительно меньше кол-ва объектов, величины сравнимы между собой, кол-во признаков больше кол-ва объектов). Также необходимо особое внимание уделить случаю данных большого объема. Кроме того, необходимо исследовать поведение методов для различных показателей точности ;
- Реализовать процедуру обучения -регуляризованной логистической регрессии с помощью метода на основе верхней оценки Йааккола-Джордана для логистической функции и квадратичной оценки для функции модуля, в котором на этапе решения СЛАУ используется метод сопряженных градиентов;
- Провести тестирование разработанного метода на модельных данных для различных сочетаний количества объектов и признаков, особое внимание при этом необходимо уделить ситуации, когда число признаков превосходит число объектов, и случаю данных большого объема. Среди модельных данных рассмотреть различные сочетания между количеством релевантных и шумных признаков. Необходимо также исследовать поведение метода при изменении точности ;
- Написать отчет в формате PDF с описанием всех проведенных исследований. Данный отчет должен содержать, в частности, необходимые формулы для методов с использованием верхних оценок: вид оптимизируемого функционала и формулы пересчета параметров. Также во всех приведенных экспериментах должно быть указано количество итераций, точность, параметры и время работы методов.
Спецификация реализуемых функций
Минимизация функции с помощью метода Ньютона с ограниченным шагом | ||||||||
---|---|---|---|---|---|---|---|---|
[x, f] = min_dampednewton(func, x0, param_name1, param_value1, ...) | ||||||||
ВХОД | ||||||||
| ||||||||
ВЫХОД | ||||||||
|
Прототип функции min_lbfgs для минимизации функции с помощью метода L-BFGS выглядит аналогично, 'params' определяет параметры метода backtracking для поиска оптимальной длины шага на очередной итерации. Возможным значением 'params' является вектор из трех чисел [alpha beta rho], где alpha — начальная длина шага, beta — делитель шага, rho — параметр из первого условия Флетчера.
Вычисление функционала для -регуляризованной логистической регрессии | ||||
---|---|---|---|---|
[f, g, H] = l2logreg(w, X, t, lambda) | ||||
ВХОД | ||||
| ||||
ВЫХОД | ||||
|
Обучение логистической регрессии с помощью верхних оценок | |||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
[w, f] = logreg_ub(X, t, lambda, w0, param_name1, param_value1, ...) | |||||||||||||||
ВХОД | |||||||||||||||
| |||||||||||||||
ВЫХОД | |||||||||||||||
|
Обратите внимание, что точность решения СЛАУ при использовании метода сопряженных градиентов должна превышать заданную точность eps.
Оформление задания
Выполненный вариант задания необходимо прислать письмом по адресу bayesml@gmail.com с темой «[МОМО12] Задание 2. ФИО». Убедительная просьба присылать выполненное задание только один раз с окончательным вариантом. Новые версии будут рассматриваться только в самом крайнем случае. Также убедительная просьба строго придерживаться заданной выше спецификации реализуемых функций.
Письмо должно содержать:
- PDF-файл с описанием проведенных исследований;
- Файлы min_dampednewton.m, min_lbfgs.m, l2logreg.m, logreg_ub;
- Набор вспомогательных файлов при необходимости.