Перейти к содержимому
ПереводыStanford

CS229: SVM, ядра, теория обучения и выбор модели (конспект)

Пересказ конспектов CS229 (части V–VII): функциональный и геометрический зазоры, классификатор с оптимальным зазором, двойственность Лагранжа и условия ККТ, ядра и теорема Мерсера, мягкий зазор и SMO; компромисс смещения и дисперсии, неравенство Хёфдинга, оценки сложности выборки для конечного класса гипотез и VC-размерность; кросс-валидация, отбор признаков и байесовский взгляд на регуляризацию.

Для бинарной классификации удобно брать метки y∈{−1,1}y \in \lbrace -1, 1 \rbrace и классификатор hw,b(x)=sign⁡(wTx+b)h_{w,b}(x) = \operatorname{sign}(w^T x + b). Интуиция: хорошо, когда классификатор не просто прав, а прав уверенно — точки далеко от разделяющей гиперплоскости.

  • Функциональный зазор примера: γ^(i)=y(i)(wTx(i)+b)\hat\gamma^{(i)} = y^{(i)} (w^T x^{(i)} + b). Положителен, если пример классифицирован верно; чем больше, тем увереннее. Недостаток — его можно раздуть, просто умножив w,bw, b на число.
  • Геометрический зазор — настоящее расстояние до гиперплоскости: γ(i)=γ^(i)/∥w∥\gamma^{(i)} = \hat\gamma^{(i)} / \lVert w \rVert. Он не меняется при масштабировании параметров.

Зазор выборки — минимальный зазор по всем примерам.

Хотим максимизировать геометрический зазор. Пользуясь свободой масштаба, фиксируем функциональный зазор равным 1, и задача превращается в выпуклую квадратичную с линейными ограничениями:

min⁡w,b  12∥w∥2при условииy(i)(wTx(i)+b)≥1,  i=1,…,m.\min_{w, b} \; \frac{1}{2} \lVert w \rVert^2 \quad \text{при условии} \quad y^{(i)} (w^T x^{(i)} + b) \geq 1, \; i = 1, \ldots, m .

Её можно решить готовым пакетом квадратичного программирования, но двойственная форма даёт больше.

Конспект напоминает общую теорию: для задачи минимизации f(w)f(w) с ограничениями-неравенствами gi(w)≤0g_i(w) \leq 0 и равенствами hi(w)=0h_i(w) = 0 строится лагранжиан L(w,α,β)\mathcal{L}(w, \alpha, \beta); прямая задача — минимум по ww от максимума по множителям, двойственная — наоборот. Всегда d∗≤p∗d^* \leq p^*, а при выпуклости и выполнимости ограничений d∗=p∗d^* = p^*, и решение удовлетворяет условиям Каруша — Куна — Таккера (ККТ). Важнейшее из них — дополняющая нежёсткость: αigi(w)=0\alpha_i g_i(w) = 0, то есть множитель αi>0\alpha_i > 0 только у «активных» ограничений.

Для SVM это значит: αi>0\alpha_i > 0 только у точек с функциональным зазором ровно 1 — у опорных векторов, ближайших к границе. Их обычно мало. Двойственная задача:

max⁡α  ∑iαi−12∑i,jy(i)y(j)αiαj⟨x(i),x(j)⟩приαi≥0,    ∑iαiy(i)=0,\max_\alpha \; \sum_i \alpha_i - \frac{1}{2} \sum_{i,j} y^{(i)} y^{(j)} \alpha_i \alpha_j \langle x^{(i)}, x^{(j)} \rangle \quad \text{при} \quad \alpha_i \geq 0, \;\; \sum_i \alpha_i y^{(i)} = 0,

а предсказание выражается через скалярные произведения нового xx только с опорными векторами: wTx+b=∑iαiy(i)⟨x(i),x⟩+bw^T x + b = \sum_i \alpha_i y^{(i)} \langle x^{(i)}, x \rangle + b.

Данные входят и в обучение, и в предсказание только через скалярные произведения. Если перейти к признакам ϕ(x)\phi(x) (например, ко всем мономам степени до dd), достаточно уметь вычислять ядро K(x,z)=ϕ(x)Tϕ(z)K(x, z) = \phi(x)^T \phi(z) — часто гораздо дешевле, чем само ϕ(x)\phi(x). Пример: K(x,z)=(xTz)2K(x, z) = (x^T z)^2 соответствует всем попарным произведениям признаков, n2n^2 штук, а вычисляется за O(n)O(n). Гауссово ядро K(x,z)=exp⁡(−∥x−z∥2/2σ2)K(x, z) = \exp(-\lVert x - z \rVert^2 / 2\sigma^2) соответствует бесконечномерному ϕ\phi и интуитивно измеряет похожесть точек.

Когда функция KK — допустимое ядро? Теорема Мерсера: тогда и только тогда, когда для любого конечного набора точек матрица Kij=K(x(i),x(j))K_{ij} = K(x^{(i)}, x^{(j)}) симметрична и положительно полуопределена. «Трюк с ядром» применим не только к SVM, а к любому алгоритму, записанному через скалярные произведения (перцептрон, регрессия и др.).

Если данные неразделимы или есть выбросы, разрешаем нарушения зазора с штрафом (L1-регуляризация):

min⁡  12∥w∥2+C∑iξiприy(i)(wTx(i)+b)≥1−ξi,    ξi≥0.\min \; \frac{1}{2} \lVert w \rVert^2 + C \sum_i \xi_i \quad \text{при} \quad y^{(i)} (w^T x^{(i)} + b) \geq 1 - \xi_i, \;\; \xi_i \geq 0 .

В двойственной задаче меняется лишь ограничение: 0≤αi≤C0 \leq \alpha_i \leq C. Параметр CC задаёт компромисс между широким зазором и числом ошибок.

Решать двойственную задачу удобно алгоритмом SMO (Платт): это покоординатный подъём, но поскольку ограничение ∑αiy(i)=0\sum \alpha_i y^{(i)} = 0 не даёт менять одну переменную, на каждом шаге меняют пару αi,αj\alpha_i, \alpha_j. Для пары оптимум находится аналитически (квадратичная функция одной переменной, обрезанная до отрезка), поэтому каждый шаг очень дешёв, а выбор пары по эвристикам и проверка условий ККТ дают быструю сходимость.

Обобщающая ошибка модели складывается из двух источников. Смещение (bias) — ошибка из-за того, что класс моделей слишком прост (прямая для нелинейной зависимости): она останется даже при бесконечных данных. Дисперсия (variance) — ошибка из-за того, что модель подстраивается под случайности конкретной выборки (полином высокой степени). Цель теории — понять этот компромисс количественно.

Инструменты: оценка объединения и Хёфдинг

Заголовок раздела «Инструменты: оценка объединения и Хёфдинг»
  • Оценка объединения (union bound): вероятность хотя бы одного из kk событий не больше суммы их вероятностей.
  • Неравенство Хёфдинга (в теории обучения его часто называют оценкой Чернова): среднее mm независимых бернуллиевских величин отклоняется от их математического ожидания больше чем на γ\gamma с вероятностью не больше 2exp⁡(−2γ2m)2 \exp(-2 \gamma^2 m).

Рамка — минимизация эмпирического риска: выбираем гипотезу h^\hat h с наименьшей ошибкой на обучающей выборке ε^(h)\hat\varepsilon(h) и хотим гарантий на её настоящую (обобщающую) ошибку ε(h)\varepsilon(h).

Для одной гипотезы ε^(h)\hat\varepsilon(h) — среднее бернуллиевских величин, и Хёфдинг даёт его близость к ε(h)\varepsilon(h). Оценка объединения по всем kk гипотезам даёт равномерную сходимость: с вероятностью не меньше 1−δ1 - \delta все гипотезы одновременно удовлетворяют ∣ε^(h)−ε(h)∣≤γ\lvert \hat\varepsilon(h) - \varepsilon(h) \rvert \leq \gamma, если

m≥12γ2log⁡2kδ.m \geq \frac{1}{2\gamma^2} \log \frac{2k}{\delta} .

Это сложность выборки: нужное число примеров растёт лишь логарифмически по числу гипотез. Отсюда же оценка качества выбранной гипотезы: ε(h^)≤min⁡hε(h)+212mlog⁡2kδ\varepsilon(\hat h) \leq \min_h \varepsilon(h) + 2 \sqrt{\frac{1}{2m} \log \frac{2k}{\delta}}. Первое слагаемое играет роль смещения, второе — дисперсии: переход к большему классу гипотез уменьшает первое и увеличивает второе.

Для классов с вещественными параметрами kk бесконечно. Грубый приём: на компьютере параметр — это 64 бита, так что класс с dd параметрами конечен и содержит 264d2^{64d} гипотез; подстановка даёт сложность выборки, линейную по dd. Строго это делается через VC-размерность: класс H\mathcal{H} разбивает (shatters) множество точек, если реализует на нём любую разметку; VC-размерность — размер наибольшего множества, которое класс может разбить. Например, линейные классификаторы на плоскости разбивают некоторые три точки, но никакие четыре, так что их VC-размерность равна 3. Теорема Вапника: с высокой вероятностью отклонение эмпирической ошибки от настоящей ограничено величиной порядка dmlog⁡md\sqrt{\frac{d}{m} \log \frac{m}{d}}, а значит, нужное число примеров линейно по VC-размерности. Для большинства моделей она примерно равна числу параметров.

Как выбрать модель (степень полинома, CC в SVM, ширину окна в LWR)? Ошибка на обучающей выборке не годится — она всегда предпочтёт самую сложную модель.

  • Отложенная выборка (hold-out): обучаем на ~70% данных, выбираем модель по ошибке на оставшихся ~30%, затем можно переобучить выбранную модель на всех данных.
  • k-кратная кросс-валидация: делим данные на kk частей, по очереди обучаемся на k−1k - 1 и проверяем на оставшейся, усредняем. Типичный выбор — k=10k = 10; данных расходуется меньше, вычислений больше.
  • Leave-one-out (k=mk = m) — когда данных совсем мало.

Когда признаков очень много (например, слова в тексте), а релевантных мало, полезно их отобрать.

  • Обёрточные методы: прямой поиск — начинаем с пустого набора и жадно добавляем признак, который сильнее всего улучшает ошибку на кросс-валидации; обратный поиск — начинаем со всех и удаляем. Хорошо, но дорого: O(n2)O(n^2) запусков обучения.
  • Фильтры: оцениваем каждый признак отдельно, например по корреляции или взаимной информации MI(xi,y)MI(x_i, y) с меткой, и берём kk лучших (а kk выбираем кросс-валидацией). Дёшево, особенно для текстов.

Частотный подход считает θ\theta неизвестной константой и оценивает её максимумом правдоподобия. Байесовский — считает θ\theta случайной величиной с априорным распределением p(θ)p(\theta). Полное байесовское предсказание требует интеграла по апостериорному распределению, поэтому часто берут точечную MAP-оценку — максимум апостериорной вероятности:

θMAP=arg⁡max⁡θ∏ip(y(i)∣x(i),θ) p(θ).\theta_{\text{MAP}} = \arg\max_\theta \prod_i p(y^{(i)} \mid x^{(i)}, \theta)\, p(\theta) .

С гауссовым априорным θ∼N(0,τ2I)\theta \sim \mathcal{N}(0, \tau^2 I) логарифм априорного распределения — это минус ∥θ∥2\lVert \theta \rVert^2 с коэффициентом, то есть MAP-оценка — это максимальное правдоподобие с L2-регуляризацией. Такие оценки обычно имеют меньшую норму и меньше переобучаются; байесовская логистическая регрессия, по словам конспекта, хорошо работает для классификации текстов даже при числе признаков, намного превышающем число примеров.

ENRU
functional / geometric marginфункциональный / геометрический зазор
support vectorsопорные векторы
Lagrange duality, KKT conditionsдвойственность Лагранжа, условия Каруша — Куна — Таккера
complementary slacknessдополняющая нежёсткость
kernel trick, Mercer’s theoremтрюк с ядром, теорема Мерсера
soft margin, coordinate ascentмягкий зазор, покоординатный подъём
empirical risk minimizationминимизация эмпирического риска
union bound, Hoeffding inequalityоценка объединения, неравенство Хёфдинга
sample complexity, VC dimension, shatteringсложность выборки, VC-размерность, разбиение
hold-out, k-fold, leave-one-outотложенная выборка, k-кратная кросс-валидация, «по одному»
forward search, filter feature selectionпрямой поиск, фильтрующий отбор признаков
MAP estimate, priorMAP-оценка, априорное распределение