В этом посте описывается многомерное расширение функции и ее использование в машинном обучении.

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

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

Тем не менее, многие новички могут чувствовать себя несколько туманно, когда видят и используют многомерную версию.

Одномерный случай

Многомерный случай

Где J и H — это якобиан и гессиан функции F.

Использование в машинном обучении

Значительная часть ML заключается в оптимизации семейства параметрических функций оценки, которые обычно представляют собой функцию потерь — сумму отдельных потерь при подгонке данных к моделям. Эти функции хорошо себя ведут, и поэтому их можно расширить с помощью рядов Тейлора.

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

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

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

Есть много применений ряда Тейлора; особенно в оптимизации функций ML. Поэтому очень полезно знать его хорошо.