Paraan ng pinakamatarik na gradient descent.

Maaari ka ring maghanap hindi para sa pinakamahusay na punto sa direksyon ng gradient, ngunit para sa ilang mas mahusay kaysa sa kasalukuyang isa.

Ang pinakamadaling ipatupad sa lahat ng lokal na paraan ng pag-optimize. Ito ay medyo mahina ang mga kondisyon ng convergence, ngunit ang rate ng convergence ay medyo mababa (linear). Ang hakbang ng gradient na paraan ay kadalasang ginagamit bilang bahagi ng iba pang paraan ng pag-optimize, gaya ng paraan ng Fletcher–Reeves.

Paglalarawan [ | ]

Mga pagpapabuti[ | ]

Ang gradient descent method ay lumalabas na napakabagal kapag gumagalaw sa isang bangin, at may pagtaas sa bilang ng mga variable. layunin function nagiging tipikal ang pag-uugaling ito ng pamamaraan. Upang labanan ang hindi pangkaraniwang bagay na ito, ginagamit ito, ang kakanyahan nito ay napaka-simple. Ang pagkakaroon ng paggawa ng dalawang hakbang ng gradient descent at nakakuha ng tatlong puntos, ang ikatlong hakbang ay dapat gawin sa direksyon ng vector na nagkokonekta sa una at ikatlong mga punto, kasama ang ilalim ng bangin.

Para sa mga function na malapit sa quadratic, ang conjugate gradient method ay epektibo.

Application sa mga artipisyal na neural network[ | ]

Ang gradient descent method, na may ilang pagbabago, ay malawakang ginagamit para sa pagsasanay ng perceptron at kilala sa teorya ng mga artipisyal na neural network bilang paraan ng backpropagation. Kapag nagsasanay ng perceptron-type neural network, kailangang baguhin ang weighting coefficients ng network upang mabawasan average na error sa output ng neural network kapag ang isang sequence ng training input data ay ibinibigay sa input. Sa pormal na paraan, upang makagawa lamang ng isang hakbang gamit ang gradient descent method (gumawa lamang ng isang pagbabago sa mga parameter ng network), kinakailangan na sunud-sunod na isumite ang buong hanay ng data ng pagsasanay sa input ng network, kalkulahin ang error para sa bawat object ng ang data ng pagsasanay at kalkulahin ang kinakailangang pagwawasto ng mga koepisyent ng network (ngunit huwag gawin ang pagwawasto na ito), at pagkatapos isumite ang lahat ng data, kalkulahin ang halaga sa pagwawasto ng bawat koepisyent ng network (kabuuan ng mga gradient) at itama ang mga koepisyent "isang hakbang" . Malinaw, na may malaking hanay ng data ng pagsasanay, ang algorithm ay gagana nang napakabagal, kaya sa pagsasanay, ang mga coefficient ng network ay madalas na nababagay pagkatapos ng bawat elemento ng pagsasanay, kung saan ang halaga ng gradient ay tinatantya ng gradient ng function ng gastos, na kinakalkula sa isang pagsasanay lamang. elemento. Ang pamamaraang ito ay tinatawag na stochastic gradient descent o operational gradient descent . Ang stochastic gradient descent ay isang anyo ng stochastic approximation. Ang teorya ng stochastic approximations ay nagbibigay ng mga kondisyon para sa convergence ng stochastic gradient descent method.

Mga link [ | ]

  • J. Mathews. Module para sa Steepest Descent o Gradient Method. (hindi available na link)

Panitikan [ | ]

  • Akulich I. L. Mathematical programming sa mga halimbawa at problema. - M.: graduate School, 1986. - pp. 298-310.
  • Gill F., Murray W., Wright M. Praktikal na pag-optimize = Praktikal na Pag-optimize. - M.: Mir, 1985.
  • Korshunov Yu. M., Korshunov Yu. M. Mga Pangunahing Kaalaman sa Matematika cybernetics. - M.: Energoatomizdat, 1972.
  • Maksimov Yu. A., Fillipovskaya E. A. Algorithm para sa paglutas ng mga problema sa nonlinear programming. - M.: MEPhI, 1982.
  • Maksimov Yu. A. Algorithm para sa linear at discrete programming. - M.: MEPhI, 1980.
  • Korn G., Korn T. Handbook of Mathematics para sa siyentipikong manggagawa at mga inhinyero. - M.: Nauka, 1970. - P. 575-576.
  • S. Yu. Gorodetsky, V. A. Grishagin. Nonlinear programming at multiextremal optimization. - Nizhny Novgorod: Nizhny Novgorod University Publishing House, 2007. - pp. 357-363.

Anotasyon: Malawakang sinasaklaw ng lecture na ito ang mga pamamaraan ng pag-optimize ng multiparameter bilang ang pinakamatarik na paraan ng pagbaba at ang paraan ng Davidon-Fletcher-Powell. Bilang karagdagan, ang isang paghahambing na pagsusuri ng mga pamamaraan sa itaas ay isinasagawa upang matukoy ang pinaka-epektibo, ang kanilang mga pakinabang at kawalan ay natukoy; at isinasaalang-alang din ang mga problema sa multidimensional na pag-optimize, tulad ng paraan ng bangin at ang pamamaraang multiextremal.

1. Paraan ng pinakamatarik na pagbaba

Ang kakanyahan ang pamamaraang ito ay ang paggamit ng naunang nabanggit coordinate descent method ang paghahanap ay isinasagawa mula sa ibinigay na punto sa isang direksyon na parallel sa isa sa mga axes, sa isang minimum na punto sa sa direksyong ito. Isinasagawa ang paghahanap sa direksyong parallel sa kabilang axis, at iba pa. Ang mga direksyon ay, siyempre, naayos. Tila makatwirang subukang baguhin ang pamamaraang ito upang sa bawat yugto ang paghahanap para sa pinakamababang punto ay isinasagawa kasama ang "pinakamahusay" na direksyon. Hindi malinaw kung aling direksyon ang "pinakamahusay", ngunit alam iyon direksyon ng gradient ay ang direksyon ng pinakamabilis na pagtaas sa function. Samakatuwid, ang kabaligtaran na direksyon ay ang direksyon ng pinakamabilis na pagbaba ng function. Ang ari-arian na ito ay maaaring bigyang-katwiran bilang mga sumusunod.

Ipagpalagay natin na tayo ay lumilipat mula sa puntong x patungo sa susunod na puntong x + hd, kung saan ang d ay isang tiyak na direksyon at ang h ay isang hakbang ng isang tiyak na haba. Dahil dito, ang paggalaw ay ginawa mula sa punto (x 1, x 2, ..., x n) hanggang sa punto (x 1 + zx 1, x 2 + zx 2, ..., x n + zx n), Saan

Ang pagbabago sa mga halaga ng function ay tinutukoy ng mga relasyon

(1.3)

Hanggang sa unang order zx i , na may mga partial derivatives na kinakalkula sa punto x . Paano dapat piliin ang mga direksyon d i na nakakatugon sa equation (1.2) upang makuha ang pinakamalaking halaga ng pagbabago sa function na df? Dito nagkakaroon ng problema sa pag-maximize na may hadlang. Ilapat natin ang paraan ng mga multiplier ng Lagrange, sa tulong kung saan natin matukoy ang function

Ang halaga ng df satisfying constraint (1.2) ay umabot sa maximum nito kapag ang function

Naabot ang maximum. Ang hinango nito

Kaya naman,

(1.6)

Pagkatapos di ~ df/dx i at ang direksyon d ay kahanay sa direksyon V/(x) sa punto x.

kaya, pinakamalaking lokal na pagtaas Ang function para sa isang naibigay na maliit na hakbang h ay nangyayari kapag ang d ay ang direksyon ng Vf(x) o g(x) . Samakatuwid, ang direksyon ng pinakamatarik na pagbaba ay ang direksyon

Sa mas maraming sa simpleng anyo equation (1.3) ay maaaring isulat tulad ng sumusunod:

Nasaan ang anggulo sa pagitan ng mga vectors na Vf(x) at dx. Para sa binigay na halaga dx pinaliit namin ang df sa pamamagitan ng pagpili na ang direksyon ng dx ay tumutugma sa direksyon ng -Vf(x) .

Magkomento. direksyon ng gradient patayo sa anumang punto sa isang linya ng pare-pareho ang antas, dahil sa linyang ito ang function ay pare-pareho. Kaya, kung ang (d 1, d 2, ..., d n) ay isang maliit na hakbang sa linya ng antas, kung gayon

At samakatuwid

(1.8)

Kapag ginagamit ang pinakamatarik na paraan ng pagbaba sa bawat pag-ulit, ang laki ng hakbang A k ay pinili mula sa pinakamababang kondisyon ng function f(x) sa direksyon ng pagbaba, i.e.

f(x[k] -a k f"(x[k])) = f(x[k] -af"(x[k])) .

Ang kundisyong ito ay nangangahulugan na ang paggalaw kasama ang antigradient ay nangyayari hangga't ang halaga ng function f(x) bumababa. Mula sa isang matematikal na punto ng view, sa bawat pag-ulit ito ay kinakailangan upang malutas ang problema ng one-dimensional minimization ayon sa A mga function

j (a) = f(x[k]-af"(x[k])) .

Ang algorithm ng pinakamatarik na paraan ng pagbaba ay ang mga sumusunod.

  • 1. Itakda ang mga coordinate ng panimulang punto X.
  • 2. Sa punto X[k], k = 0, 1, 2, ... kinakalkula ang gradient value f"(x[k]) .
  • 3. Natutukoy ang laki ng hakbang a k, sa pamamagitan ng one-dimensional minimization over A mga tungkulin j (a) = f(x[k]-af"(x[k])).
  • 4. Natutukoy ang mga coordinate ng punto X[k+ 1]:

X i [k+ 1]= x i [k] -A k f" i (X[k]), i = 1,..., p.

5. Sinusuri ang mga kondisyon para sa pagpapahinto sa proseso ng pag-sterasyon. Kung natupad ang mga ito, huminto ang mga kalkulasyon. Kung hindi, pumunta sa hakbang 1.

Sa paraang isinasaalang-alang, ang direksyon ng paggalaw mula sa punto X[k] hinawakan ang linya ng antas sa punto x[k+ 1] (Larawan 2.9). Paikot-ikot ang trajectory ng pagbaba, na may katabing zigzag na mga link na orthogonal sa isa't isa. Sa katunayan, isang hakbang a k ay pinili sa pamamagitan ng pagliit ng A mga function? (a) = f(x[k] -af"(x[k])) . Prerequisite pinakamababang function d j (a)/da = 0. Ang pagkakaroon ng pagkalkula ng derivative kumplikadong pag-andar, nakukuha namin ang kundisyon para sa orthogonality ng mga vector ng mga direksyon ng pagbaba sa mga kalapit na punto:

d j (a)/da = -f"(x[k+ 1]f"(x[k]) = 0.

kanin. 2.9.

Ang mga pamamaraan ng gradient ay nagtatagpo sa pinakamababa sa mataas na bilis (geometric progression speed) para sa makinis na mga function ng convex. Ang ganitong mga pag-andar ay may pinakamalaking M at least m eigenvalues ​​ng matrix ng pangalawang derivatives (Hessian matrix)

kaunti ang pagkakaiba sa isa't isa, ibig sabihin, matrix N(x) well conditioned. Paalalahanan ka namin eigenvalues ako, i =1, …, n, ang mga matrice ay ang mga ugat ng katangiang equation

Gayunpaman, sa pagsasagawa, bilang panuntunan, ang mga pag-andar na pinaliit ay may mga hindi nakakondisyon na matrice ng mga pangalawang derivatives. (t/m<< 1). Ang mga halaga ng naturang mga pag-andar kasama ang ilang mga direksyon ay nagbabago nang mas mabilis (kung minsan sa pamamagitan ng ilang mga order ng magnitude) kaysa sa iba pang mga direksyon. Ang kanilang mga antas ng ibabaw sa pinakasimpleng kaso ay malakas na pinahaba (Larawan 2.10), at sa mas kumplikadong mga kaso sila ay yumuko at mukhang mga bangin. Ang mga function na may ganitong mga katangian ay tinatawag kanal. Ang direksyon ng antigradient ng mga function na ito (tingnan ang Fig. 2.10) ay lumihis nang malaki mula sa direksyon hanggang sa pinakamababang punto, na humahantong sa isang pagbagal sa bilis ng convergence.

kanin. 2.10.

Ang rate ng convergence ng mga pamamaraan ng gradient ay nakadepende rin nang malaki sa katumpakan ng mga kalkulasyon ng gradient. Ang pagkawala ng katumpakan, na kadalasang nangyayari sa paligid ng mga pinakamababang punto o sa isang gully na sitwasyon, ay karaniwang maaaring makagambala sa convergence ng gradient descent process. Dahil sa mga dahilan sa itaas, ang mga pamamaraan ng gradient ay kadalasang ginagamit kasama ng iba, mas epektibong mga pamamaraan sa paunang yugto ng paglutas ng isang problema. Sa kasong ito, ang punto X ay malayo sa pinakamababang punto, at ang mga hakbang sa direksyon ng antigradient ay ginagawang posible upang makamit ang isang makabuluhang pagbaba sa pag-andar.

Ang pinakamatarik na paraan ng pagbaba ay isang gradient na paraan na may variable na hakbang. Sa bawat pag-ulit, ang laki ng hakbang k ay pinili mula sa kondisyon ng pinakamababa ng function na f(x) sa direksyon ng pagbaba, i.e.

Ang kundisyong ito ay nangangahulugan na ang paggalaw sa kahabaan ng antigradient ay nangyayari hangga't ang halaga ng function na f (x) ay bumababa. Mula sa isang matematikal na punto ng view, sa bawat pag-ulit ito ay kinakailangan upang malutas ang problema ng one-dimensional minimization sa pamamagitan ng function.

()=f (x (k) -f (x (k)))

Gamitin natin ang golden ratio method para dito.

Ang algorithm ng pinakamatarik na paraan ng pagbaba ay ang mga sumusunod.

    Ang mga coordinate ng panimulang punto x (0) ay tinukoy.

    Sa puntong x (k) , k = 0, 1, 2, ..., ang gradient value na f (x (k)) ay kinakalkula.

    Ang laki ng hakbang k ay tinutukoy ng isang-dimensional na minimization gamit ang function

()=f (x (k) -f (x (k))).

    Ang mga coordinate ng point x (k) ay tinutukoy:

x i (k+1) = x i (k) - k f i (x (k)), i=1, …, n.

    Ang kondisyon para sa paghinto ng umuulit na proseso ay nasuri:

||f (x (k +1))|| .

Kung ito ay natupad, pagkatapos ay ang mga kalkulasyon ay hihinto. Kung hindi, magpapatuloy kami sa hakbang 1. Ang geometric na interpretasyon ng pinakamatarik na paraan ng pagbaba ay ipinakita sa Fig. 1.

kanin. 2.1. Block diagram ng pinakamatarik na paraan ng pagbaba.

Pagpapatupad ng pamamaraan sa programa:

Paraan ng pinakamatarik na pagbaba.

kanin. 2.2. Pagpapatupad ng pinakamatarik na paraan ng pagbaba.

Konklusyon: Sa aming kaso, ang pamamaraan ay nagtagpo sa 7 pag-ulit. Ang Point A7 (0.6641; -1.3313) ay isang extremum point. Paraan ng mga direksyon ng conjugate. Para sa mga quadratic function, maaari kang lumikha ng gradient method kung saan ang convergence time ay magiging may hangganan at katumbas ng bilang ng mga variable n.

Tawagan natin ang isang tiyak na direksyon at conjugate tungkol sa ilang positibong tiyak na Hess matrix H kung:

Pagkatapos i.e. Kaya para sa yunit H, ang direksyon ng conjugate ay nangangahulugang ang kanilang patayo. Sa pangkalahatang kaso, ang H ay hindi mahalaga. Sa pangkalahatang kaso, ang conjugacy ay ang paglalapat ng Hess matrix sa isang vector - nangangahulugan ito ng pag-ikot ng vector na ito sa ilang anggulo, pag-uunat o pag-compress nito.

At ngayon ang vector ay orthogonal, ibig sabihin, ang conjugacy ay hindi ang orthogonality ng vector, ngunit ang orthogonality ng rotated vector.e.i.

kanin. 2.3. Block diagram ng conjugate directions method.

Pagpapatupad ng pamamaraan sa programa: Paraan ng mga direksyon ng conjugate.

kanin. 2.4. Pagpapatupad ng paraan ng mga direksyon ng conjugate.

kanin. 2.5. Graph ng conjugate directions method.

Konklusyon: Ang Point A3 (0.6666; -1.3333) ay natagpuan sa 3 pag-ulit at ito ay isang extremum point.

3. Pagsusuri ng mga pamamaraan para sa pagtukoy ng minimum at maximum na halaga ng isang function sa pagkakaroon ng mga paghihigpit

Tandaan na ganito ang hitsura ng isang pangkalahatang problema sa pag-optimize:

f(x) ® min, x О W,

kung saan ang W ay isang wastong subset ng R m. Ang isang subclass ng mga problema sa equality-type na mga hadlang ay nakikilala sa pamamagitan ng katotohanan na ang set  ay tinukoy ng mga hadlang ng form

f i (x) = 0, kung saan f i: R m ®R (i = 1, …, k).

Kaya,W = (x О R m: f i (x) = 0, i = 1, …, k).

Magiging maginhawa para sa amin na isulat ang index na "0" para sa function na f. Kaya, ang problema sa pag-optimize na may mga hadlang sa uri ng pagkakapantay-pantay ay nakasulat bilang

f 0 (x) ® min, (3.1)

f i (x) = 0, i = 1, …, k. (3.2)

Kung tinutukoy natin ngayon sa pamamagitan ng f isang function sa R ​​m na may mga halaga sa R ​​k, ang coordinate notation na kung saan ay may form na f(x) = (f 1 (x), ..., f k (x)), kung gayon ( 3.1)–(3.2) maaari rin nating isulat ito sa anyo

f 0 (x) ® min, f(x) = Q.

Sa geometrically, ang problema sa equality type constraints ay isang problema sa paghahanap ng pinakamababang punto ng graph ng isang function f 0 sa manifold  (tingnan ang Fig. 3.1).

Ang mga puntos na nakakatugon sa lahat ng mga paghihigpit (i.e., mga puntos sa set ) ay karaniwang tinatawag na tinatanggap. Ang tinatanggap na puntong x* ay tinatawag na conditional minimum ng function f 0 sa ilalim ng mga hadlang f i (x) = 0, i = 1, ..., k (o isang solusyon sa problema (3.1)–(3.2)), kung para sa lahat ng tinatanggap na puntos x f 0 (x *)  f 0 (x). (3.3)

Kung ang (3.3) ay nasiyahan lamang para sa tinatanggap na x na nakahiga sa ilang kapitbahayan V x * ng punto x*, kung gayon ay nagsasalita tayo ng lokal na minimum na kondisyon. Ang mga konsepto ng conditional strict local at global minima ay tinukoy sa natural na paraan.