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


  • Я доведу статью до вменяемого состояния, честно! -- ЛипинБорис
  • Будет здорово услышать чью-нибудь критику по поводу статьи. :)

Содержание

Метод градиентного спуска (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) в выборке).

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


  • К: с той существенной разницей, что МНК без дополнительных действий (линеаризация или взятие весов, например) пригоден только для аппроксимации данных линейными полиномами, а МГС используется для аппроксимации данных и полиномами со старшей степенью  n >= 2 --АтрашкевичАндрей

Для измерения того, на сколько значения, полученные с помощью нашей функции, далеки от значений, полученных в результате измерения, используют квадрат расстояния: {( 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)}