Постановка проблемы: - Создайте правильный набор двумерных данных из N точек. Разделите набор данных на набор данных для обучения и набор данных для тестирования. i) Выполните линейный регрессионный анализ методом наименьших квадратов. ii) Постройте графики для обучения MSE и тестирования MSE и прокомментируйте ошибку аппроксимации кривой и обобщения. iii) Проверить влияние размера набора данных и компромисса смещения-дисперсии. iv) Примените перекрестную проверку и постройте графики ошибок. v) Примените метод выбора подмножества и постройте графики ошибок. vi) Опишите свои выводы в каждом конкретном случае.

Ссылка на программу и наборы данных приведена ниже

Что такое линейная регрессия?

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

Мы также называем входные переменные независимыми переменными. Это потому, что эти значения не зависят от других значений. В том же смысле мы называем выходные скалярные значения зависимыми переменными. Это связано с тем, что для нахождения этих выходных скалярных значений мы зависим от входных переменных.

Математическое представление линейной регрессии

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

Скажем, у нас есть набор помеченных примеров,

(xi,yi)Ni=1

где N - размер или длина набора данных, xi - вектор признаков из i = 1,…, N, а Yi - целевое значение с действительным знаком. Для большей ясности вы можете назвать набор xi независимыми переменными, а набор Yi зависимыми или целевыми переменными.

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

Мы хотим построить линейную модель с комбинацией функций в x и спрогнозируйте скалярные значения в y.

Когда мы рассматриваем простую линейную регрессию, то есть одиночный x и единственный y, тогда мы можем написать,

y=β0+β1x

где β0 - параметр пересечения, а β1 - параметр наклона.

Если вы проанализируете приведенное выше уравнение, то можете обнаружить, что оно совпадает с уравнением линии:

y=mx+c

где m - наклон, а c - точка пересечения с y.

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

Простая линейная регрессия

Мы знаем, что в линейной регрессии нам нужно найти зависимые переменные (y) с помощью независимых переменных (x ).

В простой линейной регрессии для каждого наблюдения i = 1,2,…, N есть только один xi и один yi. Это простейшая форма линейной регрессии.

Множественная линейная регрессия

В множественной линейной регрессии у нас есть две или более независимых переменных (x) и одна зависимая переменная (y). Итак, вместо одного столбца функций у нас есть несколько столбцов функций и целевой столбец.

Среднеквадратичная функция стоимости ошибки

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

Ниже приводится формула MSE:

MSE = 1N∑ (yi– (mxi + b)) 2

В приведенном выше уравнении N - это количество помеченных примеров в наборе обучающих данных, yi - это целевое значение в наборе данных, а (mxi + b) - это прогнозируемое значение цели, или вы можете сказать y new.

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

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

f (m, b) = 1N∑i = 1n (yi– (mxi + b)) 2

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

Программа линейной регрессии с использованием набора данных рекламы-

Шаг 1: Загрузите требуемый набор данных.

Вход:-

В приведенном выше коде мы видим, как набор данных можно импортировать в RStudio. После успешного импорта набора данных мы можем просмотреть набор данных. На изображении ниже показан результат выполнения вышеуказанного кода.

Вывод:-

Шаг 2: Извлечение необходимых данных.

Вход:

Здесь data1 состоит из информации, с которой нам нужно работать, из основного набора данных.

Вывод:

Шаг 3. Разделение набора данных на наборы данных для обучения и тестирования.

Вход:

Здесь значения 1: 140 извлекаются для целей обучения, а значения из 141: 200 извлекаются для целей тестирования.

Вывод:

Шаг 4: Связывание всех столбцов с помощью функции cbind.

Вход:

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

Модели для lm указаны символически. Типичная модель имеет вид response ~ terms, где response - это (числовой) вектор ответа, а terms - это серия терминов, определяющая линейный предиктор для response. Спецификация терминов в форме first + second указывает все термины в first вместе со всеми терминами в second с удаленными дубликатами. Спецификация формы first:second указывает набор терминов, полученный путем взаимодействия всех терминов в first со всеми терминами в second. В спецификации first*second указано крест first и second. Это то же самое, что и first + second + first:second.

Вывод:

Шаг 5: Построение графика для отдельного объекта.

Вход:

Вывод:

Шаг 6: Прогнозирование значений данных.

Вход:

Вывод:

Шаг 7. Наконец, построение модели для наборов данных для обучения и тестирования.

Вход:

Вывод:

Нажмите здесь, чтобы загрузить программу и наборы данных…