смещение и разброс
Модель ошиблась. Вопрос, который решает всё дальнейшее: ошиблась она потому, что слишком проста, потому что слишком чувствительна к тому, какие данные ей достались, или потому, что задача в принципе не предсказуема до конца. Три причины требуют трёх разных действий, а по одному числу ошибки они неразличимы. Разложение, которое их разделяет, — самое полезное, что есть в статистике обучения.
три слагаемых
Возьми процедуру, которая по обучающим данным строит предсказание, и представь, что данные можно было бы вытянуть заново много раз. Каждый раз получалась бы чуть другая модель. Усредни ошибку по всем таким мирам — она распадается на три части, и распад точный, а не приблизительный[1].
систематический промах · чувствительность к выборке · непредсказуемое
Смещение — насколько твой способ предсказывать промахивается систематически, даже получив бесконечно много данных. Прямая, проведённая через дугу, будет мимо всегда, сколько точек ни добавь: класс моделей просто не содержит правильной формы.
Разброс — насколько предсказание пляшет от того, какая именно выборка попалась. Многочлен десятой степени проходит через все точки, но подставь другие двадцать точек того же процесса — и кривая будет другой. Она подгоняется не под закон, а под конкретный шум.
Шум — то, что не предсказуемо ни при каком количестве данных и ни при какой модели. Он не уменьшается, не устраняется и не является ошибкой в обычном смысле. Это свойство задачи.
почему это компромисс, а не сумма
Слагаемые не независимы: то, что уменьшает одно, обычно увеличивает другое, и в этом вся трудность.
Простая модель почти не реагирует на смену выборки — разброс мал, смещение велико. Гибкая ловит любую форму — смещение мало, разброс велик. Между ними лежит середина, где сумма меньше всего.
как их различить на практике
По одной обученной модели различить нельзя — и это главная причина, по которой разложение знают, но не применяют. Нужен взгляд поперёк выборок.
| что видишь | диагноз | что делать |
|---|---|---|
| плохо и на обучении, и на проверке | смещение | сложнее модель, больше признаков |
| хорошо на обучении, плохо на проверке | разброс | больше данных, проще модель, регуляризация |
| плохо у всех подходов одинаково | шум | ничего; сменить задачу или разметку |
Отсюда правило, которое экономит месяцы. Данные лечат разброс и не лечат смещение: если модель систематически не той формы, миллион примеров оставит её такой же. И наоборот, усложнение лечит смещение и оплачивается разбросом. Прежде чем просить ещё данных или ещё признаков, стоит понять, за что именно ты платишь.
шум — это тот же пол, что и везде
Третье слагаемое стоит отдельного разговора, потому что оно уже встречалось на этом сайте под другими именами.
В наборе для оценки есть пол, заданный согласием разметчиков: разницу меньше, чем расхождение между двумя людьми, не поймать никаким объёмом. Это шум.
В кросс-энтропии есть неустранимое слагаемое — энтропия самого источника; обучением сводится к нулю только штраф за неверную модель. Это тот же шум.
В регрессии к среднему результат раскладывается на сигнал и шум, и именно шумовая часть не воспроизводится в следующем измерении. Снова он.
Три эссе, три разных сюжета, одно слагаемое. Практический вывод из этого совпадения простой: у всякой задачи есть потолок качества, и он определяется не твоим умением, а тем, сколько в задаче непредсказуемого. Приближение к потолку легко спутать с исчерпанием возможностей — а разница в том, что во втором случае мешает модель, а в первом уже нет.
иногда смещение выгодно
Из разложения следует вещь, противоречащая обычному инстинкту: несмещённая оценка не обязательно лучшая.
Если чуть-чуть сдвинуть оценку в сторону — например, притянуть все предсказания к общему среднему, — появится смещение, но разброс упадёт сильнее. Сумма уменьшится. Так работает регуляризация, так работает усадка оценок к среднему, и так же устроен всякий байесовский приор: он вносит систематический сдвиг и платит за это устойчивостью[2].
На этом фоне видно, чем замечателен CUPED. Он снижает разброс, не создавая смещения вовсе: поправка строится на данных, собранных до воздействия, и потому не может протащить в оценку эффект. Обычно за уменьшение разброса платят смещением; здесь не платят — и именно это делает приём стандартом, а не одним из вариантов.
оговорка про большие модели
Картинка с минимумом посередине верна для классических моделей и перестаёт быть полной для очень больших.
Начиная с некоторого размера ошибка на новых данных, дойдя до пика в точке точной подгонки, снова начинает падать — явление назвали двойным спуском[3]. Разложение при этом не отменяется, но простое «сложнее — значит больше разброс» перестаёт работать: у огромных переопределённых моделей разброс ведёт себя иначе, чем предсказывает классическая кривая.
Практический вывод осторожный. Диагностика по таблице выше остаётся верной, а вот правило «упрости модель, чтобы снизить разброс» на больших моделях требует проверки, а не веры.
что унести
Ошибка — не одно число, а три, и они требуют противоположных действий. Спрашивать «как улучшить модель» бессмысленно, пока не сказано, какое из слагаемых сейчас главное.
Данные лечат разброс. Сложность лечит смещение. Шум не лечится ничем, и умение его признать отличает работающего аналитика от бесконечно оптимизирующего.
И последнее. Разложение объясняет, почему обучение вообще возможно, но не бесконечно: любая процедура балансирует между тем, чтобы вспомнить закон, и тем, чтобы запомнить выборку. Слишком хорошая память — это уже не знание.