Мало знаний, большой вызов! Эта статья участвует в "Необходимые знания для программистов«Творческая деятельность.
Метод стандартного уравнения представляет собой алгоритм, аналогичный по функциям методу градиентного спуска, целью которого является получение параметра θ, минимизирующего значение функции стоимости. Принцип таков: найдите его минимальное значение в стандартном уравнении и найдите его частную производную.Пусть значение частной производной равно 0, вы можете получить θ
Построить уравнения
Пусть данные равны X, каждая строка X — это выборка данных, w — это вес решаемого уравнения, а y — действительное значение.
Тогда функция потерь может быть записана как:
вРавно квадрату значения потери каждого образца.
Найдите частную производную, пусть частная производная равна нулю
Ссылаться наПравила вывода матриц, в котором есть разные результаты вывода для макета числителя (макет числителя: числитель — вектор-столбец или знаменатель — вектор-строка) и макета знаменателя (макет знаменателя: числитель — вектор-строка или знаменатель представляет собой вектор-столбец).
Найдите частную производную:
Ссылаться наПравила вывода матриц,Разверните частную производную, чтобы получить:
Установите частную производную на ноль, чтобы получить w:
Бывают случаи, когда матрица необратима
Если матрица необратима, то нельзя получить w. Есть два основных случая, когда матрица необратима:
1. Линейно коррелированные признаки (мультиколлинеарность).
2. Слишком много признаковых данных (количество выборок m≤числа признаков n)
Алгоритм градиентного спуска против метода стандартных уравнений
Когда обучающая выборка исчисляется миллионами, рассмотрите возможность использования алгоритма градиентного спуска; когда обучающая выборка исчисляется десятками тысяч, рассмотрите возможность использования метода стандартного уравнения. В диапазоне от 10 000 до 100 000 зависит от ситуации, и в основном используется алгоритм градиентного спуска.
В сравнении | Градиентный спуск | метод стандартных уравнений |
---|---|---|
недостаток | Необходимо выбрать подходящую скорость обучения, и она должна повторяться в течение многих циклов, и можно получить только приближение оптимального решения. | нужно рассчитатьВременная сложность обратной матрицы составляет примерноОн требует больших вычислительных ресурсов и очень медленный, когда обучающая выборка велика. n - количество функций |
преимущество | Также хорошо работает, когда есть много собственных значений | Без скорости обучения, без итераций, без масштабирования функций, напрямую решать результат, вы можете получить глобальное оптимальное решение |