Это старая версия (1.16) МетодГрадиентногоСпуска.


  • Я доведу статью до вменяемого состояния и поправлю всё что напитиримил, честно! -- ЛипинБорис
  • Будет здорово услышать чью-нибудь критику по поводу статьи. :)
    • Ограниченность метода. Где (и почему?) нельзя использовать.
    • Примеры и причины плохой сходимости методы (структура функции потерь, плохой в смысле сходимости выбор шага).
    • Вообще сама идея сходимости метода. Туда же неравенство Канторовича (за корректность не ручаюсь).
    • Можно ещё указать, что метод используется (будучу немного модифицированным) в обратном распространении ошибки.
    • Удалил свой комментарий из тела, т. к. написал, не подумав. --АтрашкевичАндрей

Содержание

Метод градиентного спуска (Gradient descent method)

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

Например, в результате эксперимента мы получили следующие значения:

 i	X	Y
 1	1	6
 2	4	12
 3	5	14
 4	10	24

Мы можем предположить что зависимость X от Y имеет линейный характер и хотим узнать коэффициенты THETA sub 1, THETA sub 2 для функции  h(x) , h(x) = THETA sub 1  + THETA sub 2 X

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

Метод используется для решения тех же задач что и МетодНаименьшихКвадратов.

Для измерения того, на сколько значения, полученные с помощью нашей функции, далеки от значений, полученных в результате измерения, используют квадрат расстояния: {( h sub theta (x sup (i) ) - y sup (i) )} sup 2

Функцию, измеряющую среднюю ошибку на всех измерениях будем называть функцией потерь. Её значения зависят от параметров  THETA , поэтому будем обозначать её как J( THETA ). Она считается по формуле J( THETA )
=
1 over {2m} sum {(h sub theta (x sup (i) ) - y sup (i) ) sup 2}


NOTE:  1 over 2 в формуле нужно только для того, чтобы упростить вычисления производной  THETA , никакого другого смысла в дроби нет.

Т.к. функция потерь - квадратичная, её минимум будет расположен там, где производная J( THETA ) равна нулю, сама производная выглядит следующим образом. {partial {J( THETA )}} over
{ partial THETA }
=
1 over m sum {(h sub theta (x sup (i) ) - y sup (i) ) x sup (i)}


КатегорияПрикладнаяМатематика | КатегорияМетодыОптимизации