Эта статья познакомит вас с ключевыми понятиями о минимизации регулируемых потерь (RLM) и минимизации эмпирического риска (ERM), а также познакомит вас с реализацией алгоритма наименьших квадратов с использованием MATLAB. Затем модели, полученные с использованием RLM и ERM, будут сравниваться и обсуждаться друг с другом.

Мы будем использовать задачу аппроксимации полиномиальной кривой, чтобы предсказать лучший полином для этих данных. Алгоритм наименьших квадратов будет реализован поэтапно с использованием MATLAB.

К концу этой публикации вы поймете алгоритм наименьших квадратов и узнаете преимущества и недостатки RLM и ERM. Кроме того, мы обсудим некоторые важные концепции переобучения и недостаточного оснащения.

Набор данных

Мы будем использовать простой набор данных с одним входом с N = 100 точками данных. Этот набор данных был первоначально предложен доктором Рут Урнер в одном из ее заданий для курса машинного обучения. В репозитории ниже вы найдете два файла TXT: dataset1_inputs.txt и dataset1_outputs.txt.



Эти файлы содержат векторы ввода и вывода. Используя MATLAB, мы нанесем эти точки данных на диаграмму. В MATLAB я импортировал их в Home ›Import Data. Затем я создал плавный сценарий для построения точек данных.

Вы должны увидеть диаграмму, подобную показанной ниже.

Наименьших квадратов

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

Минимизация эмпирического риска (ERM)

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

В приведенной выше формуле X - это матрица плана, а t - вектор вывода. Мы хотим найти наилучшее решение для нашей задачи подбора полиномов. Для этого мы вычислим полиномы порядка W = 1, 2,…, 30 и проанализируем эмпирические квадратные потери, чтобы увидеть, какой порядок полиномов лучше всего соответствует нашим данным. Матрица дизайна X для нашей задачи задается следующим образом:

Мы можем найти многочлены w, решив приведенное ниже линейное уравнение [1].

Приведенное выше уравнение всегда имеет решение, если учесть, что X’X обратимо [1]. Опять же, если вы хотите знать, почему это так, вы можете прочитать это объяснение о методе наименьших квадратов. Решение дается уравнением ниже.

Здесь MATLAB пригодится. Нам нужно решить приведенное выше линейное уравнение, чтобы найти и проверить наши модели.

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

Затем я создал цикл, который вычисляет оставшиеся Wᵢ и сохранил их в массиве ячеек под названием polynomials_wi. 30 матриц проекта также хранятся в массиве ячеек designmatrix.

Теперь нам нужно вычислить эмпирическую квадратичную потерю для всех полиномов wᵢ на polynomials_wi. Количество точек данных для нашей задачи N = 100. Следуя сценарию, я создал цикл, который вычисляет ERM для каждого полинома wᵢ. Я также напечатал порядок полинома, который дает нам наименьшую эмпирическую квадратную потерю.

Результат нашего алгоритма показан на рисунке ниже.

Итак, полином порядка 21 имеет наименьшую эмпирическую квадратную потерю. Теперь давайте проанализируем график эмпирических квадратов потерь для ERM всех полиномов на рисунке ниже. Для этого анализа я построил вектор эмпирических квадратов потерь E от W = 1 до W = 30.

Глядя на эмпирические квадратные потери для ERM, мы видим, что полином W = 21 действительно лучше всего подходит для этого набора данных. Мы также можем видеть, что после W = 6 эмпирические потери почти становятся стабильными, уменьшаясь лишь немного до W = 21, а после W = 23 наши модели начинают переобучаться таким образом, что эмпирические потери резко возрастают. Когда мы выполняем команду [ERM, W] = max (E) в командном окне MATLAB, как показано на рисунке ниже, мы видим, что для порядка 27 квадратные потери были более 395.

На рисунке ниже показан график зависимости полинома порядка W = 21 от набора данных.

Проанализировав саму кривую на рисунке выше, мы видим, что, хотя этот многочлен порядка W = 21 имеет наименьшие эмпирические потери, он превышает данные. Таким образом, использование только эмпирических потерь в качестве единственного индикатора для выбора наилучшего соответствия может быть не лучшим подходом, поскольку это может привести нас к выбору модели переобучения.

Минимизация регулируемых потерь (RLM)

Теперь давайте повторим предыдущий шаг, используя регуляризованную полиномиальную регрессию методом наименьших квадратов. Я рекомендую просмотреть это объяснение RLM перед тем, как проходить эту часть. Для RLM мы используем регуляризатор λ для вычисления вектора w. Для регуляризованной регрессии методом наименьших квадратов мы можем вычислить w, используя уравнение ниже [1].

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

Если мы выделим w, мы можем получить следующее линейное уравнение:

Опять же, я буду реализовывать операции вручную в MATLAB, чтобы решить это линейное уравнение. Матрица проекта для этого случая остается такой же, как определено для ERM.

Важность регуляризатора λ

Давайте сначала проанализируем последствия использования регуляризатора для вычислений наших моделей машинного обучения. Для этого давайте проанализируем многочлен порядка W = 30 и посмотрим, как он себя ведет при различных значениях λ.

Мы сделаем этот анализ для интервала λ, где ln (λ) = -1, -2,…, -30. Таким образом, значение λ будет равно

Сначала я вычислил значение матриц дизайна для полинома 30-го порядка.

Аналогично тому, что я сделал для ERM, я создал цикл для вычисления wᵢ для всех значений λ. Я также рассчитал эмпирическую квадратную потерю для RLM, которая совпадает с ERM.

Для каждой итерации значение λ обновляется.

Результат нашего алгоритма показан на рисунке ниже.

Таким образом, полином порядка 30, где ln (λ) = −30, т.е. i = 30, лучше всего подходит для этих данных. На рисунке ниже показан график полинома порядка W = 30 с i = 30 в зависимости от набора данных.

Как видно на ERM, наша модель RLM порядка 30 и i = 30 также не соответствует данным.

ERM против RLM

Теперь сравним результаты, полученные для ERM и RLM. Когда мы анализируем уравнение для RLM, мы можем сделать вывод, что для больших значений λ, то есть малых значений i, мы имеем большие эмпирические квадратные потери. Это означает, что для малых значений i мы получаем модель недостаточного соответствия. С другой стороны, для малых значений λ, то есть больших значений i, мы получаем меньшие эмпирические квадратные потери. Однако такое поведение может привести к переобучению модели. Мы можем отметить это на правом графике рисунка ниже. Кроме того, большие значения λ также помогают уменьшить проблему переобучения многочленов больших порядков. Это можно увидеть на правом графике рисунка ниже.

Когда дело доходит до кривой ЭМИ (представленной оранжевым цветом на диаграмме «Эмпирические квадратные потери»), мы также получаем аналогичный результат. В этом случае, однако, мы меняем порядок полинома до W = 30. Для полиномов с небольшими порядками мы получаем модель недостаточного соответствия с большими эмпирическими квадратичными потерями, тогда как для больших порядков ( W ›23 в данном случае) мы можем переобучить наши данные, даже если мы получим небольшую эмпирическую квадратную потерю. Это можно увидеть на левой диаграмме на рисунке выше. Обратите внимание, что регуляризатор в RLM помог уменьшить переоснащение для полиномов больших порядков. Таким образом, анализ диаграммы эмпирических квадратов потерь для обоих решений оказался первостепенным при выборе модели, которая наилучшим образом соответствует нашему набору данных.

Кроме того, если мы проанализируем регуляризованные наименьшие квадраты для предела λ → 0, то есть предела i → ∞, мы увидим, что регуляризованный член уравнения RLM исчезает, делая RLM таким же, как ERM. Об этом свидетельствует анализ полинома RLM порядка 10 с i = 12. Поскольку для этого случая мы имеем очень маленькое значение λ (0,000006144), мы можем заметить, что кривая этого полинома приблизительно идентична полиному ERM от заказ 10.

Наконец, модель порядка W = 30 и i = 30 для RLM имеет значительно меньшие эмпирические квадратные потери по сравнению с ERM порядка W = 30 (0,0453 и 4,7873 соответственно). Это подтверждает вывод о том, что регуляризатор помогает уменьшить переобучение. Кроме того, полином степени W = 30 и i = 30 для RLM имеет примерно такую ​​же эмпирическую квадратную потерю степени W = 21 для ERM.

В конце концов, какая модель лучше?

Теперь, когда у нас есть все эти данные, мы можем выбрать лучшую модель для нашей проблемы. Цель всегда состоит в том, чтобы найти многочлен малого порядка, чтобы мы не перегружали наши данные. Кроме того, заказ должен быть достаточно большим, чтобы его не было недостаточно.

Давайте построим и посмотрим на кривые ERM и RLM для заказов W = 1, 5, 10, 20, 30. На этот раз мы зафиксируем регуляризатор λ = 0,0025. Для построения обеих кривых использовался скрипт Visualization.m.

Когда мы анализируем графики для EMR и RLM, мы определенно можем заметить разницу между ними. Модели ERM для более крупных заказов имеют дикие вариации и слишком сильно адаптируются к обучающим данным. Это означает, что с увеличением порядка моделей возрастает и риск переобучения. Это особенно верно, когда мы смотрим на полиномы порядка W = 10. В то время как полином RLM не имеет огромных вариаций и дисперсий, ERM-полином адаптируется к данным таким образом, что приводит к переобучению. Следовательно, эмпирические потери для ERM выглядят меньше по сравнению с RLM. Это легко заметить, если сравнить обе эмпирические потери.

Чтобы лучше визуализировать это поведение, мы можем проанализировать гистограмму ниже, где показаны эмпирические потери как для ERM, так и для RLM для полиномов порядка W = 1, 5, 10, 20 и 30. Когда мы смотрим на это, мы можем доказать, что, за исключением полинома W = 30, эмпирические квадратные потери для ERM меньше, чем для RLM.

Регуляризатор в моделях RML играет важную роль, когда дело доходит до представления данных. Модели с регуляризатором более точны для набора данных, потому что они не перекрывают данные, как в ERM. Это особенно верно, когда мы видим рисунок ниже. В левой части находится эмпирический квадрат потерь для RLM с разными значениями λ. Обратите внимание, что, когда мы уменьшаем значение λ, мы также уменьшаем эмпирические потери для W ›6.

В правой части рисунка выше мы видим многочлен порядка W = 10 для различных значений λ. По мере уменьшения значения λ мы увеличиваем адаптивность нашей модели. Таким образом, очень малые значения λ могут привести к переобучению, в то время как большие значения λ могут вызвать недоподборку.

Учитывая эти факты, модель, которая лучше всего соответствует этому набору данных, - это полином RML порядка W = 5. Полином представлен ниже.

0.6721 - 0.5555x - 6.5428x² - 0.9711x³+ 6.5883x⁴ + 0.7647x⁵

Это связано с тем, что этот многочлен имеет небольшой порядок и небольшую эмпирическую потерю. Кроме того, когда мы анализируем графики кривых ERM и EML, мы видим, что эта модель не перекрывает данные. Вдобавок полином ERM порядка W = 5 также, кажется, соответствует данным без переобучения.

Заключение

Мы увидели, что использование RML может снизить общую сложность нашей модели и избежать переобучения. Однако, поскольку теперь у нас есть новый параметр λ, который нужно определить, модели RML сложнее вычислить.

Еще одна важная особенность, которую мы должны использовать в нашем анализе при выборе модели, - это кривая эмпирических квадратов потерь. Мы также можем сделать вывод, что модель с минимальными эмпирическими квадратичными потерями не всегда является лучшим решением для наших данных. Более того, нахождение баланса между параметром λ и порядком прогнозируемого многочлена оказалось первостепенным в этом анализе.

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

Спасибо, что прочитали!

Обо мне

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

Если хотите, можете проверить мои работы на моем сайте.

использованная литература

[1] Шай Шалев-Шварц и Бен-Давид. Понимание машинного обучения: от теории к алгоритмам. Cambridge University Press, 2014. DOI: 10.1017 / CBO9781107298019. URL: https://www.cs.huji.ac.il/~shais/UnderstandingMachineLearning/understanding-machine-learning-theory-algorithms.pdf