Подтвердить что ты не робот

Может ли кто-нибудь объяснить мне разницу между функцией стоимости и уравнением градиентного спуска в логистической регрессии?

Я прохожу через класс ML на Coursera по логистической регрессии, а также в Manning Book Machine Learning в действии. Я пытаюсь учиться, реализуя все в Python.

Я не могу понять разницу между функцией стоимости и градиентом. В сети есть примеры, где люди вычисляют функцию стоимости, а затем есть места, где они этого не делают, и просто идут с функцией спуска градиента w :=w - (alpha) * (delta)w * f(w).

В чем разница между двумя, если они есть?

4b9b3361

Ответ 1

Функция затрат - это то, что вы хотите свести к минимуму. Например, ваша функция стоимости может быть суммой квадратов ошибок по сравнению с вашим набором тренировок. Градиентный спуск - это метод нахождения минимума функции нескольких переменных. Таким образом, вы можете использовать градиентный спуск, чтобы минимизировать стоимость. Если ваша стоимость является функцией переменных K, тогда градиент представляет собой вектор длины K, который определяет направление, в котором стоимость возрастает быстрее всего. Таким образом, в градиентном спуске вы следуете за отрицательным значением градиента до точки, где стоимость минимальна. Если кто-то говорит о градиентном спуске в контексте машинного обучения, вероятно, подразумевается функция стоимости (это функция, к которой вы применяете алгоритм спуска градиента).

Ответ 2

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

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

Мы также должны учитывать, что веса обученной модели отвечают за точное прогнозирование новых значений. Представьте, что у нашей модели y = 0,9 * X + 0,1, прогнозируемое значение - не что иное, как (0,9 * X + 0,1) для разных X. [0,9 и 0,1 в уравнении просто случайные значения, чтобы понять.]

Таким образом, рассматривая Y как реальное значение, соответствующее этому x, формула стоимости начинает измерять, насколько близко (0,9 * X + 0,1) к Y.

Мы несем ответственность за нахождение лучшего веса (0,9 и 0,1) для нашей модели с наименьшими затратами (или более близкими прогнозируемыми значениями к реальным).

Градиентный спуск - это алгоритм оптимизации (у нас есть некоторые другие алгоритмы оптимизации), и его обязанность состоит в том, чтобы найти минимальное значение стоимости в процессе попытки модели с различными весами или даже обновления весов.

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

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

Ответ 3

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

Ответ 4

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