Что выводит алгоритм обучения в линейную регрессию?
Чтение примечаний к курсу машинного обучения Эндрю Н.Г., в котором говорится о линейной регрессии:
Возьмите тренировочный набор и передайте его в алгоритм обучения. Алгоритм выводит функцию h (гипотеза). h принимает входные данные и пытается вывести оценочное значение y.
Затем он продолжает говорить:
представить ч как: h theta(x) = theta0 + theta1x
Не означает ли это, что гипотеза не была выведена алгоритмом обучения, мы просто определили ее как h theta(x) = theta0 + theta1x
Вместо "Возьмите обучающий набор и передайте его в алгоритм обучения. Алгоритм выводит функцию h (гипотеза)". должно ли утверждение быть "Возьмите обучающий набор и передайте его в алгоритм обучения. Алгоритм выводит значения, которые делают гипотезу максимально точной"?
2 ответа
В принципе ты прямо здесь. Правда learning algorithm
в теории обучения определен алгоритм, который получает в качестве входных данных помеченные экземпляры и целый класс возможных гипотез, а затем выбирает одну гипотезу в качестве выходной.
Строго говоря, алгоритм, который выводит прогнозы, не является алгоритмом обучения. Но, конечно, такой алгоритм можно разделить на алгоритм обучения - алгоритм, который на самом деле learns
параметры, здесь theta
s. и алгоритм прогнозирования, который преобразует некоторые входные данные в наши прогнозы, которые затем возвращаются вызывающей стороне.
В случае линейной регрессии вы хотите, чтобы ваш алгоритм обучения выводил линейную функцию.
Это h(x) = theta0 + theta1x.
В этом случае алгоритм обучения изучает оптимальные тэта0 и тэта1, соответствующие вашим тренировочным данным.
Если бы вы хотели, чтобы ваш алгоритм обучения выучил полином 3-й степени, результат вашей модели обучения был бы a, b, c и d такой, что
h (x) = топор3 + bx2 + cx + d
Но ваше утверждение верно, алгоритм обучения выбирает лучшие параметры, чтобы минимизировать стоимость функции ошибки. Обычно это квадратичная ошибка + некоторые факторы регуляризации.