Линейные модели
Применимость линейных моделей
Линейные модели работают хорошо в двух случаях:
- Признаки влияют на ответ независимо друг от друга.
- Признаки влияют на ответ линейно.
Теорема Гаусса-Маркова
Пусть \(Y = Xw + \varepsilon\), где \(\varepsilon = [\varepsilon_1 \dots \varepsilon_n]\). Если выполнены условия:
- \(\mathbb{E}(\varepsilon_i) = 0 \quad \forall i\)
- \(\text{Var}(\varepsilon_i) = \sigma^2 < \infty \quad \forall i\)
- \(\text{Cov}(\varepsilon_i, \varepsilon_j) = 0 \quad \forall i \neq j\)
Тогда \(\vec{w} = (X^T X)^{-1} X^T Y\) — лучшая несмещённая оценка при квадратичной ошибке без регуляризации.
Признаки в линейных моделях
Категориальные признаки
Пусть \(x_j \in \{C_1, \dots, C_m\}\) — категориальный признак (например, районы Москвы). Для работы с ним используют one-hot encoding:
- Строим \(m\) бинарных признаков \(b_1(x), \dots, b_m(x)\)
- \(b_i(x) = [x_j = C_i]\)
Если категорий слишком много, малочисленные группы можно объединять.
Бинаризация признаков
В качестве признаков рассматривается попадание в интервал:
\[[0; t_0],\ [t_0; t_1],\ [t_1; t_2],\ \dots,\ [t_m; +\infty)\]
Полиномиальные признаки
Можно добавлять функции от переменных: \(x \to f(x)\). Проблема — не всегда очевидно, какие функции выбирать.
Обучение линейной регрессии
Минимизируем квадратичную ошибку:
\[Q(w) = \frac{1}{\ell} \sum_{i=1}^\ell (\langle w, x_i \rangle - y_i)^2 = \frac{1}{\ell} \|Xw - y\|^2 \to \min_w\]
Аналитическое решение:
\[w_* = (X^T X)^{-1} X^T y\]
Многоклассовая классификация
1. Сведение к серии бинарных задач
Один против всех (one-vs-all). Строим отдельный классификатор \(b_k(x)\) для каждого класса, обучая его на \(X_k = (x_i, [y_i = y_k])\). Итоговый прогноз:
\[a(x) = \mathop{\text{argmax}}_{k=1\dots K}\ b_k(x)\]
Плюсы: просто построить. Минусы: классификаторы не знают друг о друге, риск переобучения одного из них портит результат.
Все против всех (all-vs-all). Строим \(C^2_K\) классификаторов \(a_{ij}\), каждый обучается на парах классов \(i\) и \(j\). Итоговый прогноз — голосование:
\[a(x) = \mathop{\text{argmax}}_{n=1\dots K} \sum_{j \neq k} [a_{kj}(x) = n]\]
Плюсы: нет проблем с некалиброванными уверенностями. Минусы: \(K^2\) классификаторов.
2. Прямые подходы
Многоклассовая логистическая регрессия. Строим по одному линейному предсказателю на класс, затем применяем softmax:
\[\text{Softmax}(z_1, \dots, z_K) = \left( \frac{e^{z_1}}{\sum_{i=1}^K e^{z_i}},\ \dots,\ \frac{e^{z_K}}{\sum_{i=1}^K e^{z_i}} \right)\]
Оптимизируем логарифм правдоподобия:
\[\sum_{i=1}^\ell \log P(y = y_i \mid x) \to \max_{w, w_0}\]
Метрики многоклассовой классификации
- Accuracy: \(\frac{1}{\ell} \sum_{i=1}^\ell [a(x_i) = y_i]\) — легко переносится на многоклассовый случай.
- Макро- и микроусреднение precision/recall/F1 по каждому классу \(k\) через \(TP_k, TN_k, FP_k, FN_k\).