Линейность модели относится к коэффициентам, а не к исходной координате. Если заменить xx набором осмысленных функций ϕj(x)\phi_j(x), та же сумма взвешенных признаков способна описать кривизну, пороги, сезонность и взаимодействия.

Полдень не лежит посередине температуры

Температура в течение суток сначала растёт, затем падает. Прямая по номеру часа неизбежно ошибётся: одинаковый наклон не может описать два направления. Тот же упрямый факт виден на реальном велопрокате: усредните число поездок по каждому часу за два года — и получите не склон, а верблюжий силуэт с двумя горбами, утренним и вечерним. Прямая линия по часу объясняет лишь треть разброса, а восемь взвешенных признаков — почти девять десятых. Разница не в старании оптимизатора, а в том, что мы дали ему описать.

Можно добавить квадрат времени:

y^=w0+w1x+w2x2.\widehat y=w_0+w_1x+w_2x^2.

График по xx стал параболой, хотя прогноз остаётся линейным по вектору параметров w=(w0,w1,w2)w=(w_0,w_1,w_2). Запишем

ϕ(x)=(1,x,x2),y^=wϕ(x).\phi(x)=(1,x,x^2),\qquad \widehat y=w^\top\phi(x).

Все результаты линейной регрессии применяются к новой матрице, столбцы которой содержат значения базисных функций. Мы не поменяли алгоритм — мы поменяли словарь, на котором он говорит.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Средние поездки велопроката по часам суток образуют два горба; синяя штриховая прямая с R квадрат 0.31 идёт мимо, красная кривая базиса степени 8 с R квадрат 0.88 проходит по обоим пикам
Рис. 50.1. Прямая не ловит два пика, базис признаков — ловит

Реальный велопрокат: среднее число поездок по каждому часу. Утренний пик около восьми утра и вечерний около пяти вечера — прямая (R2=0,31R^2=0{,}31) вынуждена пройти между ними и промахивается всюду. Базис из восьми признаков (R2=0,88R^2=0{,}88) огибает оба горба. Один и тот же метод наименьших квадратов — разный словарь признаков.

Теорема Вейерштрасса обещает много: нужная кривая существует. Но существование приближения на бумаге и его устойчивое обучение по шумным точкам — разные вещи, и именно на этом разрыве спотыкаются высокие степени.

Полиномы: гибкость и цена края

Полиномиальный базис степени mm

ϕ(x)=(1,x,x2,,xm)\phi(x)=(1,x,x^2,\ldots,x^m)

может приблизить любую непрерывную функцию на ограниченном отрезке при достаточном mm. Но это утверждение о возможности приближения, а не о стабильном обучении по шумным точкам. Высокие степени сильно коррелируют, а за пределами данных полином определяется старшим членом и способен взлететь.

Масштаб координаты критичен: при x=100x=100, x8=1016x^8=10^{16}. Перед построением степеней xx центрируют и нормируют. Ортогональные полиномы дополнительно уменьшают корреляцию столбцов, сохраняя то же пространство функций.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Полиномиальные кривые степеней 1, 3 и 10 на обучающем интервале и за его пределами; десятая степень проходит через точки, но резко колеблется у краёв и взлетает за границей данных
Рис. 50.2. Интерполяция и опасная экстраполяция

Серая область — диапазон обучающих xx. Полином десятой степени проходит почти через все точки, но колеблется между ними и резко расходится у краёв. Вертикальные границы отделяют интерполяцию от экстраполяции; качество внутри не доказывает разумность снаружи.

Это и есть явление Рунге: гладкую на вид функцию 1/(1+25x2)1/(1+25x^2) полином высокой степени на равномерной сетке приближает всё хуже к краям. Урок прост — гибкость без ограничения оборачивается неустойчивостью, и лечится она либо локальными базисами, либо регуляризацией из урока 51.

Чебышёв и лучшее приближение

Вопрос «каким многочленом приближать» родился не в статистике, а в механике. Пафнутий Львович Чебышёв, разбирая шарнир Уатта в паровой машине, искал многочлен, у которого не средняя, а наибольшая ошибка на отрезке была бы минимальна. Так возникла теория наилучшего равномерного приближения и многочлены Чебышёва — те, что колеблются между 1-1 и 11 с равными амплитудами и потому не разгоняются к краям, как обычные степени.

Практический вывод для нас: не всякий базис из степеней одинаково хорош. Многочлены Чебышёва как узлы интерполяции сгущаются к концам отрезка и гасят явление Рунге; как признаки они почти ортогональны и дают устойчивую матрицу. Тот же класс функций, что и обычные степени, но записанный в системе координат, которую не шатает шум. Русская школа приближения — от Чебышёва к Бернштейну и Маркову — выросла именно из этого стремления к честной, равномерной оценке.

Локальные колокола и сплайны

Вместо глобальных степеней можно использовать радиальные базисы

ϕj(x)=exp[(xcj)22s2].\phi_j(x)=\exp\left[-\frac{(x-c_j)^2}{2s^2}\right].

Каждый колокол активен около центра cjc_j. Итоговая функция складывает локальные вклады, поэтому изменение одного веса влияет главным образом на соседнюю область. Ширина ss управляет гладкостью: очень широкие колокола почти одинаковы, очень узкие способны запомнить шум.

Кусочно-линейные «шляпки» и сплайны дают похожую локальность. Кубический сплайн соединяет полиномы в узлах так, чтобы значения и несколько производных совпадали. В отличие от одного полинома высокой степени, поведение на одном краю меньше раскачивает другой.

Рисунок шире экрана — проведите по немуОткрыть целиком ↗
Три панели: слева полиномы 1, x, x квадрат, x куб как глобальные кривые; в центре четыре гауссовых колокола, каждый локален около своего центра; справа синусы и косинусы, периодические
Рис. 50.3. Три семейства базисов и три предположения

Полиномы связывают всю область сразу: правишь один вес — двигается вся кривая. Радиальные колокола локальны: каждый отвечает за свой участок. Синусы навязывают периодичность. Выбор семейства — это выбор того, какие точки мира считать соседними.

Сезонность требует круговой координаты

Час 23 и час 0 близки физически, но числа 23 и 0 далеки. Правильнее вложить время на окружность:

ϕsin(t)=sin2πt24,ϕcos(t)=cos2πt24.\phi_{\sin}(t)=\sin\frac{2\pi t}{24},\qquad \phi_{\cos}(t)=\cos\frac{2\pi t}{24}.

Пара функций кодирует фазу без разрыва у полуночи. Для недели добавляют период 7 дней, для года — 365,25 суток. Несколько гармоник описывают более сложную форму, сохраняя периодичность.

Циферблат вместо числовой прямой

Закодируем час hh парой

ϕ(h)=(cos2πh24,sin2πh24).\phi(h)=\left(\cos\frac{2\pi h}{24}, \sin\frac{2\pi h}{24}\right).

На обычной оси часы 2323 и 11 разделены расстоянием 2222, хотя оба близки к полуночи. На единичной окружности угол между их векторами равен 2π2/242\pi\cdot2/24, а евклидово расстояние — около 0,520{,}52. Часы 11 и 1313, напротив, лежат в противоположных точках и имеют расстояние 22. Геометрия признаков теперь совпадает с суточной периодичностью.

Линейная комбинация двух координат, acos(2πh/24)+bsin(2πh/24)a\cos(2\pi h/24)+b\sin(2\pi h/24), строит синусоиду с произвольной фазой. Если у спроса есть утренний и вечерний пики, добавляют вторую гармонику с частотой 22. Каждая новая пара расширяет класс кривых, поэтому число гармоник выбирают по временной validation.

Для проката велосипедов одной периодичности мало: дождь по-разному влияет на утренний час пик и тихую ночь. Признак взаимодействия rain×ϕ(h)\text{rain}\times\phi(h) позволяет эффекту дождя менять амплитуду по часу. Так осмысленный базис превращает предметное предположение в проверяемый набор столбцов.

Взаимодействия: когда сумма не складывается

Пусть продажи зависят от цены x1x_1 и рекламного бюджета x2x_2:

y^=w0+w1x1+w2x2.\widehat y=w_0+w_1x_1+w_2x_2.

Эта модель предполагает, что эффект рекламы одинаков при любой цене. Добавим взаимодействие:

y^=w0+w1x1+w2x2+w12x1x2.\widehat y=w_0+w_1x_1+w_2x_2+w_{12}x_1x_2.

Теперь производная по рекламе равна y^/x2=w2+w12x1\partial\widehat y/\partial x_2=w_2+w_{12}x_1: эффект зависит от цены. Модель всё ещё линейна по коэффициентам.

Лаборатория базиса

Полином, локальные колокола и область экстраполяции

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

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

Как выбирать сложность

Число базисов и их масштаб — гиперпараметры. Их выбирают по validation, который не использовался для оценки весов. Если кандидатов просмотрено много, сам лучший validation score становится оптимистичным; цена такого выбора обсуждается в уроке 63.

Регуляризация из урока 51 может удержать коэффициенты при богатом словаре признаков. Ridge плавно уменьшает веса, lasso зануляет часть из них. Но регуляризация не делает бессмысленный базис осмысленным: модель с тысячей степеней времени плохо понимает цикличность даже с маленькими весами.

Для сплайна сложность задают числом узлов и штрафом за кривизну. Для гармонического базиса — числом частот. Для радиальных функций — числом центров и шириной. В каждом случае следует переводить гиперпараметр на язык формы графика.

Реальные признаки: реклама и спрос

В данных о рекламных кампаниях встречаются цена, бюджет, день недели, платформа и число показов. Полезный базис может включать логарифм бюджета, потому что первые рубли дают больший относительный эффект; синус и косинус дня недели; взаимодействие платформы и формата; кусочно-линейную функцию цены с порогом.

Сначала графики по отдельным группам подсказывают преобразования. Затем формируется матрица признаков внутри train-части, включая оценки масштабов и категорий. Те же преобразования без переобучения применяются к validation и test. Иначе возникает утечка.

От ручных признаков к нейронным сетям

Нейронная сеть тоже строит признаки, но обучает их совместно с финальными весами. ReLU-слой создаёт кусочно-линейные функции, свёртка — локальные шаблоны изображения. Разница в масштабе и способе обучения, а не в отказе от идеи ϕ(x)\phi(x).

Ручной базис остаётся полезен, когда данных мало, структура известна, а объяснимость важна. Он позволяет увидеть, какое предположение дало улучшение. Изучение базисов поэтому является мостом от классической статистики к современному представлению данных и к вопросу из урока о размерности: какие координаты действительно несут структуру, а какие только разрежают пространство.

Что признак сообщает миру

Базисная функция — это гипотеза, записанная столбцом матрицы. Полином говорит «всё связано глобально», колокол — «важно лишь соседство», синус — «жизнь циклична», логарифм — «отдача убывает». Обучение подбирает веса, но сам словарь выбираем мы, и в нём уже спрятано то, что модель считает возможным. Хороший признак делает предположение проверяемым: если веер линий разошёлся — взаимодействие есть, если кривая улетела за краем данных — базис глобален и экстраполяции доверять нельзя. Дальше — как обуздать этот богатый словарь штрафом за сложность в уроке 51.

Задачи