В книге Бишопа по машинному обучению обсуждается проблема подгонки полиномиальной функции к набору точек данных.
Пусть M - порядок подогнанного многочлена. Это утверждает, что
Мы видим, что с увеличением M величина коэффициентов обычно становится больше. В частности, для полинома M = 9 коэффициенты были точно настроены на данные путем разработки больших положительных и отрицательных значений, чтобы соответствующая полиномиальная функция точно соответствовала каждой из точек данных, но между точками данных (особенно вблизи концов диапазон) функция демонстрирует большие колебания.
Я не понимаю, почему большие значения подразумевают более точное соответствие точкам данных. Я думаю, что значения будут более точными после десятичной, вместо этого для лучшего соответствия.
источник
Ответы:
Это хорошо известная проблема с полиномами высокого порядка, известная как феномен Рунге . Численно это связано с плохой подготовкой матрицы Вандермонда , что делает коэффициенты очень чувствительными к небольшим изменениям данных и / или округлению в вычислениях (т. Е. Модель не является устойчиво идентифицируемой ). Смотрите также этот ответ на SciComp SE.
Существует много решений этой проблемы, например, чебышевское приближение , сглаживающие сплайны и регуляризация Тихонова . Тихоновская регуляризация является обобщением регрессии гребня , штрафуя норму вектора коэффициентов θ , где для сглаживания весовой матрицы Λ - некоторый производный оператор. Чтобы штрафовать колебания, вы можете использовать Λ θ = p ′ ′ [ x ] , где p [| | Λθ] | | θ Λ Λθ=p′′[x] p[x] является полиномом, оцененным по данным.
РЕДАКТИРОВАТЬ: Ответ пользователя hxd1011 отмечает, что некоторые из числовых проблем плохой обусловленности могут быть решены с помощью ортогональных полиномов, что является хорошим моментом. Однако я хотел бы отметить, что проблемы идентификации с полиномами высокого порядка все еще остаются. То есть числовое плохое обусловление связано с чувствительностью к «бесконечно малым» возмущениям (например, округление), в то время как «статистическое» плохое обусловление касается чувствительности к «конечным» возмущениям (например, выбросы; обратная задача некорректна ).
Методы, упомянутые в моем втором абзаце, касаются этой чувствительности к выбросам . Вы можете думать об этой чувствительности как о нарушении стандартной модели линейной регрессии, которая при использовании несоответствия неявно предполагает, что данные являются гауссовыми. Сплайновая и тихоновская регуляризация справляются с этой чувствительностью выбросов путем наложения гладкости перед подбором. Чебышевское приближение решает эту проблему, используя несоответствие L ∞, примененное над непрерывной областьюL2 L∞ , т.е. не только в точках данных. Хотя полиномы Чебышева являются ортогональными (по отношению к некоторому взвешенному внутреннему произведению), я полагаю, что при использовании с имеют более высокую чувствительность.L2 несоответствием по данным они все равно
источник
Первое, что вы хотите проверить, это если автор говорит о необработанных полиномах против ортогональных полиномов .
Для ортогональных полиномов. коэффициент не становится «больше».
Вот два примера разложения полиномов 2-го и 15-го порядка. Сначала мы покажем коэффициент для расширения 2-го порядка.
Затем мы показываем 15-й заказ.
Обратите внимание, что мы используем ортогональные полиномы , поэтому коэффициент более низкого порядка в точности совпадает с соответствующими членами в результатах более высокого порядка. Например, перехват и коэффициент для первого порядка 20.09 и -29.11 для обеих моделей.
С другой стороны, если мы используем необработанное расширение, такого не произойдет. И у нас будут большие и чувствительные коэффициенты! В следующем примере мы видим, что коэффициенты примерно в уровне 6 .106
источник
summary(lm(mpg~poly(wt,2),mtcars)); summary(lm(mpg~poly(wt,5),mtcars)); summary(lm(mpg~ wt + I(wt^2),mtcars)); summary(lm(mpg~ wt + I(wt^2) + I(wt^3) + I(wt^4) + I(wt^5),mtcars))
poly(x,2,raw=T)
summary(lm(mpg~poly(wt,15, raw=T),mtcars))
. Массивный эффект в коэффициентах!Абхишек, ты прав, что повышение точности коэффициентов повысит точность.
Я думаю, что проблема величины довольно не имеет отношения к общему мнению Бишопа - что использование сложной модели на ограниченных данных приводит к «переобучению». В его примере 10 точек данных используются для оценки 9-мерного полинома (т.е. 10 переменных и 10 неизвестных).
Если мы подгоняем синусоидальную волну (без шума), то подгонка работает идеально, поскольку синусоидальные волны [через фиксированный интервал] могут быть аппроксимированы с произвольной точностью с использованием полиномов. Однако в примере Бишопа у нас есть определенное количество «шума», которое нам не должно соответствовать. То, как мы это делаем, заключается в том, чтобы сохранить количество точек данных равным количеству переменных модели (полиномиальных коэффициентов) или использовать регуляризацию.
Регуляризация налагает «мягкие» ограничения на модель (например, в регрессии гребня), функция стоимости, которую вы пытаетесь минимизировать, представляет собой комбинацию «ошибки подбора» и сложности модели: например, в регрессии гребня сложность измеряется суммой квадратов коэффициентов. В результате это приводит к затратам на уменьшение погрешности - увеличение коэффициентов будет разрешено только в том случае, если оно имеет достаточно большое уменьшение погрешности подгонки [насколько велико достаточно, определяется множителем в термине сложности модели]. Поэтому надежда состоит в том, что при выборе подходящего множителя мы не подойдем к дополнительному небольшому шумовому члену, поскольку улучшение подгонки не оправдывает увеличение коэффициентов.
Вы спросили, почему большие коэффициенты улучшают качество посадки. По сути, причина в том, что оцениваемая функция (sin + noise) не является полиномом, а большие изменения кривизны, необходимые для аппроксимации эффекта шума с помощью полиномов, требуют больших коэффициентов.
Обратите внимание, что использование ортогональных многочленов не имеет никакого эффекта (я добавил смещение 0,1 только для того, чтобы ортогональный и необработанный многочлены не накладывались друг на друга)
источник