Участник:Дарья Соболева
Многоклассовая логистическая регрессия
Содержание
- 1 Свойства и структура алгоритма
- 1.1 Общее описание алгоритма
- 1.2 Математическое описание алгоритма
- 1.3 Вычислительное ядро алгоритма
- 1.4 Макроструктура алгоритма
- 1.5 Схема реализации последовательного алгоритма
- 1.6 Последовательная сложность алгоритма
- 1.7 Информационный граф
- 1.8 Ресурс параллелизма алгоритма
- 1.9 Входные и выходные данные алгоритма
- 2 Программная реализация алгоритма
- 3 Литература
1 Свойства и структура алгоритма
1.1 Общее описание алгоритма
Логистическая регрессия (Logistic regression) -- метод построения линейного классификатора, позволяющий оценивать апостериорные вероятности принадлежности объектов классам. Многоклассовая логистическая регрессия (Multiclass Logistic regression) -- логистическая регрессия, реализованная по схеме один против всех (one-vs-rest). При таком подходе строится столько моделей логистической регрессии, сколько классов необходимо обучить.
На вход алгоритму логистической регрессии подается матрица обЪектов-признаков X и вектор допустимых ответов Y. Предполагается, что существует целевая функция y∗ : X → Y. Задача логистической регрессии, как и любого метода машинного обучения, заключается в том, чтобы по выборке X построить решающую функцию a: X → Y, которая приближала бы целевую функцию y∗.
Многоклассовая логистическая логистическая регрессия вместо вектора допустимых ответов Y принимает список из векторов ответов для каждой задачи классификаци. Далее для каждого класса строится решающая функция.
1.2 Математическое описание алгоритма
Вход: обучающая выборка пар «объект, ответ» X^l = \{(x_1,y_1),\dots,(x_l,y_l)\}.
Случай двух классов
Положим Y=\{-1,+1\}. Строится линейный алгоритм классификации a: X\to Y вида a(x,w) = \mathrm{sign}\left( \sum_{j=1}^D w_j f_j(x) + w_0 \right) = \mathrm{sign}\langle x,w \rangle, где w_j — вес j-го признака, w_0 — порог принятия решения, w=(w_0,w_1,\ldots,w_D) — вектор весов, \langle x,w \rangle — скалярное произведение признакового описания объекта на вектор весов. Предполагается, что искусственно введён «константный» нулевой признак: f_{0}(x)=1. Задача обучения линейного классификатора заключается в том, чтобы по выборке X^l настроить вектор весов w. В логистической регрессии для этого решается задача минимизации эмпирического риска с функцией потерь специального вида: Q(w) = \sum_{i=1}^L \ln\left( 1 + \exp( -y_i \langle x_i,w \rangle ) \right) \to \min_{w}. После того, как решение w найдено, становится возможным не только вычислять классификацию a(x) = \mathrm{sign}\langle x,w \rangle для произвольного объекта x, но и оценивать апостериорные вероятности его принадлежности классам: \mathbb{P}\{y|x\} = \sigma\left( y \langle x,w \rangle\right),\;\;y\in Y, где \sigma(z) = \frac1{1+e^{-z}} — сигмоидная функция.
Рассматриваемый в данной статье one-vs-rest подход позволяет легко свести задачу многоклассовой классификации к двум классам, так как предполагает построение двухклассовой логистической регрессии для каждого класса в отдельности. Метки +1 проставляются всем обЪектам рассматриваемого класса, а -1 проставляются обЪектам всех остальных классов. Для тестового объекта вычисляются предсказания всех обученных классификаторов, в качестве предсказания берется класс, с максимальной вероятностью.
1.3 Вычислительное ядро алгоритма
Вычислительное ядро многоклассовой логистической регрессии можно представить как M независимых задач логистической регрессии, где M -- число классов. Затем вычисление максимальной вероятности по выходам каждой логистической регрессии.