Введение
Что такое машинное обучение? Это первый вопрос, который возникает, когда мы погружаемся в мир науки о данных. Машинное обучение в основном заставляет нашу машину учиться на данных без явного предоставления кода или алгоритма.
Итак, следующий вопрос, который возникает: что такое контролируемое машинное обучение?
Контролируемая машина представляет собой набор алгоритмов, которые преобразуют входной сигнал в выходные значения путем обучения модели на наборе обучающих примеров, где каждый пример представляет собой пару, состоящую из входных и желаемых выходных значений.
В машинном обучении у нас есть два типа проблем: либо это проблема классификации, либо проблема регрессии.
Итак, у нас есть отдельные алгоритмы для задач классификации и регрессии.
Здесь мы поговорим об алгоритме линейной регрессии, который используется для задач регрессии.
Как следует из названия, линейная регрессия — это модель для установления взаимосвязи между числовой переменной Y и одним или несколькими функциями в виде линейной функции путем подбора линии.
Давайте рассмотрим пример прогнозирования цен на жилье с использованием площади дома.
Возьмем пример:
Найдите наилучшую возможную линию (известную как «линия наилучшего соответствия»), которая будет иметь минимальное расстояние от всех точек данных.
Y = mx + b
3. Как найти наиболее подходящую линию?
С помощью градиентного спуска: «алгоритм оптимизации, который итеративно настраивает параметры»
- Начните с некоторых случайных значений для m и b, затем измените значения, чтобы найти линию наилучшего соответствия.
- рассчитать изменение m и b с помощью функции стоимости.
- Минимизация ошибки, вызванной m и b.
Функция стоимости: « измеряет точность выходных данных гипотезы. “
Мы определяем ошибку как:
Возведение ошибки в квадрат, чтобы нам не приходилось иметь дело с отрицательными значениями.
# долина — это минимально возможная ошибка
#Learning rate – это скорость обучения функции.
* при высокой скорости обучения может быть превышена минимальная ошибка
# где α, альфа, скорость обучения
Регуляризация: используется как для минимизации суммы квадратов ошибок модели на обучающих данных, так и для уменьшения сложности модели.
Лассо-регрессия: метод обычных наименьших квадратов изменяется, чтобы также минимизировать абсолютную сумму коэффициентов (так называемая регуляризация L1).
Регрессия гребня: метод обычных наименьших квадратов изменен, чтобы также минимизировать квадрат абсолютной суммы коэффициентов (так называемая регуляризация L2).
Эластичная сеть: она сочетает в себе как L1, так и L2 для преодоления отдельных проблем и штрафует как абсолютную, так и квадратную величину коэффициента.
Эти методы эффективно использовать, когда во входных значениях присутствует коллинеарность, а обычный метод наименьших квадратов не соответствует обучающим данным.
Матрица оценки:
Мы можем использовать среднеквадратичную ошибку или обычный метод наименьших квадратов:
Среднеквадратическаяошибка
Обычный метод наименьших квадратов
R-квадрат
Числитель — это MSE (среднее значение квадратов остатков), а знаменатель — это дисперсия значений Y. Чем выше MSE, тем меньше R_squared и беднее модель.
Реализовать на Python — синтаксис ключей:
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
regressor.fit(X,y)
y_pred = regressor.predict(X)