Классификатор сначала строит числовой счёт, а уже затем сравнивает его с порогом. Геометрия границы определяется признаками; цена решения — выбранным порогом. Эти две части нельзя смешивать.

Письмо по одну сторону прямой

Пусть письмо описано двумя признаками: x1x_1 — доля ссылок, x2x_2 — частота слова «скидка». Линейный классификатор вычисляет

s(x)=w1x1+w2x2+b.s(x)=w_1x_1+w_2x_2+b.

При s(x)0s(x)\geq0 письмо относят к спаму, иначе — к обычным. Множество точек с нулевым score:

wx+b=0w^\top x+b=0

образует прямую в двух измерениях, плоскость в трёх и гиперплоскость в общем случае. Вектор ww перпендикулярен границе и указывает сторону роста score.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Два класса точек, разделяющая прямая, вектор нормали w и перпендикуляр от выбранной точки
Рис. 53.1. Нормаль, граница и signed distance

Оси — доля ссылок x1x_1 и частота слова x2x_2. Чёрная линия задаёт s=0s=0, стрелка ww — направление положительного класса. Расстояние точки до границы равно s(x)/ws(x)/\|w\| с учётом знака.

От score к вероятности

Логистическая регрессия переводит score через sigmoid:

p^(y=1x)=σ(s)=11+es.\widehat p(y=1\mid x)=\sigma(s)=\frac1{1+e^{-s}}.

Обратное преобразование даёт log-odds:

logp1p=wx+b.\log\frac{p}{1-p}=w^\top x+b.

При увеличении xjx_j на единицу шансы класса 1 умножаются на ewje^{w_j}, если остальные признаки фиксированы. Такая интерпретация требует осмысленного масштаба и осторожности с коррелированными признаками.

Параметры обучаются максимизацией Бернуллиевского likelihood, то есть минимизацией cross-entropy:

i[yilogpi+(1yi)log(1pi)].-\sum_i\left[ y_i\log p_i+(1-y_i)\log(1-p_i) \right].

Так классификация связывается с правдоподобием и выбором loss из урока 57.

Порог — отдельное решение

Стандартный порог 0,5 не является законом. Если пропуск мошенничества стоит 1000 рублей, а ручная проверка честной операции — 10 рублей, проверять стоит уже при вероятности около

p=101000+100,0099p_*=\frac{10}{1000+10}\approx0{,}0099

в простейшей модели потерь. Геометрически граница сдвигается параллельно: сравнение ppp\geq p_* эквивалентно slog[p/(1p)]s\geq\log[p_*/(1-p_*)].

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Одинаковое облако классов и три параллельные разделяющие прямые для разных порогов вероятности
Рис. 53.2. Один score и три порога решения

Направление ww и порядок объектов неизменны. Пороги 0,2, 0,5 и 0,8 дают три параллельные линии. Заштрихованные полосы показывают, какие объекты меняют решение; модель score та же, политика действий различна.

Лаборатория поворота

Вес, порог и разделяющая поверхность

Загружается живая иллюстрация…

Поворачивайте ww и следите, какие точки меняют знак score первыми. Затем двигайте bb: граница перемещается без поворота. Наконец оставьте score фиксированным и меняйте порог вероятности. Это три разных операции — направление признаков, базовый уровень и политика решения.

Признаки меняют геометрию

Два класса в форме концентрических колец нельзя разделить прямой в исходных (x1,x2)(x_1,x_2). Добавим признак

ϕ3(x)=x12+x22.\phi_3(x)=x_1^2+x_2^2.

Порог по ϕ3\phi_3 станет окружностью в исходной плоскости, хотя остаётся гиперплоскостью в расширенном пространстве. Это применение базисных функций: нелинейность границы может жить в признаках, а оптимизатор оставаться линейным.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Слева два кольцевых класса с круговой границей, справа трехмерное поднятие по радиусу в квадрате и плоская граница
Рис. 53.3. Окружность становится плоскостью

Слева линейная граница невозможна. Справа точки подняты на высоту z=x12+x22z=x_1^2+x_2^2; классы оказываются на разных уровнях, и горизонтальная плоскость их разделяет. Проекция плоскости обратно даёт окружность.

Несколько классов

Для KK классов можно обучить KK scores

sk(x)=wkx+bks_k(x)=w_k^\top x+b_k

и выбрать argmaxksk\arg\max_k s_k. Softmax задаёт вероятности

pk(x)=esk(x)jesj(x).p_k(x)=\frac{e^{s_k(x)}}{\sum_j e^{s_j(x)}}.

Добавление одной константы ко всем scores не меняет вероятности, поэтому параметризация имеет лишнюю степень свободы. Граница классов a,ba,b задаётся sa=sbs_a=s_b и остаётся линейной в пространстве признаков.

Стратегия one-vs-rest обучает отдельный бинарный классификатор для каждого класса. Его вероятности не обязаны суммироваться в единицу; независимая калибровка и разрешение конфликтов становятся частью системы.

Визуально многоклассовая граница разбивает плоскость на многоугольные области. Но каждая область определяется не только ближайшим центром: веса и смещения задают собственную систему направлений. Если класс представлен двумя раздельными облаками, одна выпуклая область может описывать его плохо. Тогда нужны новые признаки, несколько прототипов класса или порождающая модель облаков.

Матрица ошибок показывает, какие пары классов путаются. Ошибка «кошка вместо собаки» и «кошка вместо дорожного знака» часто говорят о разных поломках представления. Для несбалансированных классов macro-average даёт каждому классу одинаковый вес, micro-average считает все объекты вместе. Поэтому один итоговый F1 без частот и матрицы ошибок оставляет геометрию путаницы невидимой. Для каждой строки матрицы полезно показать абсолютное число, условную долю и цену ошибки: одинаковый процент в редком и массовом классе создаёт разную нагрузку на систему.

Дом как класс: дороже медианы

Из регрессионной задачи можно сделать классификацию: предсказывать, будет ли цена квартиры выше медианы района. Такое упрощение теряет расстояние до порога: квартиры на 1 тысячу и 10 млн выше медианы получают одинаковую метку. Если бизнес-действие действительно бинарно, это допустимо; если важен размер ошибки, регрессия богаче.

Особенно опасна утечка. Медиану района нужно оценивать только по прошлым сделкам, доступным в момент прогноза. Признак «итоговая скидка» после закрытия сделки тоже нельзя использовать. Геометрически граница может выглядеть идеально, потому что в координаты проник ответ.

Ошибки у границы и далеко от неё

Точки около s=0s=0 естественно неуверенны: малое изменение признаков меняет класс. Но большая s|s| не гарантирует надёжность, если объект далеко от обучающих данных. Линейная формула экстраполирует score без предупреждения. Карта неопределённости должна учитывать и расстояние до границы, и область поддержки train.

Есть и физическая устойчивость. Если признаки измеряются с возмущением Δx\Delta x, изменение score ограничено неравенством wΔxwΔx|w^\top\Delta x|\leq\|w\|\|\Delta x\|. Объект защищён от всех возмущений радиуса ε\varepsilon, если его геометрическое расстояние до границы больше ε\varepsilon. Это связывает margin с робастностью, хотя евклидовый шар не всегда описывает содержательно допустимые изменения письма или изображения.

Противоречивые метки рядом друг с другом задают aleatoric uncertainty: признаков недостаточно, чтобы разделить классы. Пустая область пространства задаёт epistemic uncertainty: модель не знает форму там из-за отсутствия наблюдений. Одинаковая вероятность 0,5 может означать разные причины и разные действия.

Что остаётся от геометрии

Линейный классификатор задаёт направление ww, смещение bb и score. Sigmoid или softmax превращает score в вероятности, а порог переводит вероятность в действие. Карта признаков определяет форму границы в исходном мире. Для честного применения нужно отдельно проверять разделимость, калибровку, цену порога, утечку и поведение вне обучающей области.

Порог как параллельный перенос

Возьмём w=(2,1)w=(2,-1), b=0,5b=-0{,}5 и объект x=(1,1)x=(1,1). Его score равен s=2110,5=0,5s=2\cdot1-1-0{,}5=0{,}5, а расстояние до границы s=0s=0 составляет

0,522+(1)20,224.\frac{0{,}5}{\sqrt{2^2+(-1)^2}}\approx0{,}224.

Если sigmoid калибрована, вероятность положительного класса равна σ(0,5)0,622\sigma(0{,}5)\approx0{,}622. При стандартном пороге 0,50{,}5 объект положительный. Но для действия с высокой ценой ложной тревоги поставим порог 0,80{,}8. На шкале score ему отвечает logit(0,8)=ln41,386\operatorname{logit}(0{,}8)=\ln4\approx1{,}386. Новая граница задаётся уравнением wx+b=1,386w^\top x+b=1{,}386: её нормаль не изменилась, прямая лишь сдвинулась параллельно.

Относительно новой границы signed distance объекта равно (0,51,386)/50,396(0{,}5-1{,}386)/\sqrt5\approx-0{,}396, поэтому решение меняется на отрицательное. Переобучать веса ради нового порога не требовалось. Однако если вероятности систематически завышены, перенос по формуле logit окажется ошибочным. Сначала проверяют калибровку на свежей популяции, затем выбирают порог по матрице цен.

Задачи