Линейная регрессия, ядро-трюк и линейное-ядро.

Линейная регрессия, ядро-трюк и линейное ядро секреты в профессии.

Иногда ядро-прием бывает бесполезным.

Если не указано иное, все изображения принадлежат автору

В этой статье я хочу показать интересный результат, который изначально мне был неочевиден, а именно:

Линейная регрессия и регрессия с линейным ядром без регуляризации эквивалентны.

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

Сначала мы рассмотрим классическую линейную регрессию. Затем я объясню, что такое ядро-прием и линейное ядро, и, наконец, мы представим математическое доказательство указанного утверждения.

Быстрое напоминание о классической линейной регрессии

Математика линейной регрессии

Классическая – МНК (метод наименьших квадратов) – линейная регрессия формулируется следующей задачей:

где:

  • Y – вектор длины n и состоит из целевого значения линейной модели
  • beta – вектор длины m: это неизвестное значение, которое модель должна “выучить”
  • X – матрица данных размера n строк и m столбцов. Мы часто говорим, что имеем записанный вектор n в пространстве m-функций

Таким образом, цель состоит в том, чтобы найти значения beta, которые минимизируют квадратичные ошибки:

Эта задача на самом деле имеет решение в явной форме и известна как задача метода наименьших квадратов. Решение:

После того, как решение известно, мы можем использовать настроенную модель для вычисления новых значений Y при заданных новых значениях X с помощью:

Линейная регрессия на Python

Проверим нашу математику с помощью scikit-learn: вот пример кода на Python, который демонстрирует линейную регрессию, используя линейный регрессор sklearn, а также регрессию на основе библиотеки numpy.