9.1 gradientna metoda

20
ГРАДИЕНТНA МЕТОДA Градиентната метода сe базира на фактот дека најголем степен на подобрување на една функција се постигнува ако се напредува по должината на нејзиниот градиент. Затоа овој правец се нарекува правец на најстрмен успон, ако зборуваме за максимум, односно правец на најстрмен пад ако зборуваме за минимум. Во суштина градиентот претставува вектор во една точка од n-димензионалниот простор. Тој се определува преку одредувањето на првите изводи на функцијата на целта во однос на секоја од нејзините n променливи. Треба да се одбележи дека правецот на градиентот, односно правецот на најстрмниот успон или пад, е локална а не глобална особина. Тоа значи дека, ако на пример, се стартува од една точка во правецот на најстрмниот успон, после одредено придвижување, се доаѓа во нова точка која има поинаков правец на најстрмен успон, како што е прикажано на Слика 1. Правецот на најстрмен успон варира од точка до точка и претставува закривена линија.

Upload: maja-kokolanska

Post on 15-Feb-2016

31 views

Category:

Documents


5 download

DESCRIPTION

Gradientna Metoda

TRANSCRIPT

Page 1: 9.1 Gradientna Metoda

ГРАДИЕНТНA МЕТОДA

Градиентната метода сe базира на фактот дека најголем степен на

подобрување на една функција се постигнува ако се напредува по должината

на нејзиниот градиент. Затоа овој правец се нарекува правец на најстрмен

успон, ако зборуваме за максимум, односно правец на најстрмен пад ако

зборуваме за минимум. Во суштина градиентот претставува вектор во една

точка од n-димензионалниот простор. Тој се определува преку одредувањето

на првите изводи на функцијата на целта во однос на секоја од нејзините n

променливи. Треба да се одбележи дека правецот на градиентот, односно

правецот на најстрмниот успон или пад, е локална а не глобална особина. Тоа

значи дека, ако на пример, се стартува од една точка во правецот на

најстрмниот успон, после одредено придвижување, се доаѓа во нова точка која

има поинаков правец на најстрмен успон, како што е прикажано на Слика 1.

Правецот на најстрмен успон варира од точка до точка и претставува

закривена линија.

Слика 1

Техника на пребарување во правец на најстрмен успон

Основната постапка кај методата на најстрмен успон (или кај

минимизацијата пад) е техниката на циклично пребарување, која во суштина не

ја прати континуираната линија на најбрз успон туку ја апроксимира со кратки

Page 2: 9.1 Gradientna Metoda

рамни линии. Секоја од тие прави линии одговара на локалната функција на

градиентот на почетната точка и придвижувањето се врши по должината на таа

линија се додека имаме зголемување (максимизација) или намалување

(минимизација) на вредноста на испитуваната функција на цел. На тој начин се

доаѓа до следната точка која служи како основна точка за наредната етапа.

Пред да се пристапи кон самата метода, корисно е да се анализира

пресметката и воопшто податоците за правецот на најстрмен успон.

Градиенти и контролни тангенти во дводимензионален простор

Да претпоставиме дека постои функцијата y(x1, x2) која има континуирани

парцијални изводи. Тогаш постои дефинирана точка (x1, x2), прикажана на слика

2 со P, околу која, за мала промена во било кој правец, промената на y е

дадена со равенката

dy=( ∂y

∂x1)pd x1+( ∂y

∂x2)pd x2(1)

при што со симболот p се означува парцијалниот извод во точката P и тој потоа

не се менува, без разлика на релативно малата промена (придвижување) од P,

dx1 и dx2.

Слика 2

Page 3: 9.1 Gradientna Metoda

Да претпоставиме дека сме избрале специјални вредности за dx1 и dx2 и при

тоа дошло до придвижување по должината на линијата поставена под агол α

поаѓајќи од точката P. Ако со s ја означиме мерката на придвижување по

правата во однос на точката P, се добива формулата

dyds

=( ∂ y

∂x1)p( d x1

ds )+( ∂ y

∂x2)p( d x2

ds )(2)бидејќи dx2/dx1 = tg α, dx1/ds = cos α и dx2/ds = sin α, може да се напише

dyds

=( ∂ y

∂x1)pcos α+( ∂y

∂x2)p sinα (3)

Ова може да се протолкува како промена до која доаѓа, ако по должината на

правата поставена под агол α, се врши придвижување во рамките на

рамнината x1x2. Ако во однос на фиксираната точка P го менуваме аголот α,

доаѓа до промена на изводите со кои е дефинирана насоката, така да постои

вредност на аголот α за која изводите се еднакви на нула. Тој услов ги

претставува придвижувањата при константна вредност на y, и тоа изгледа како

да се работи за тангента на контурата yp (y пресметано во P). Ако е dy/ds = 0

тогаш се добива

tg∝1=−( ∂ y

∂x1 )p( ∂ y∂x2 )p

(4)

Овој израз ја детерминира контурната тангента во точката P. Постојат две

вредности за α1 кои ја задоволуваат равенката 4, тоа се α1 и α1 + π (слика 3)

Page 4: 9.1 Gradientna Metoda

Слика 3

Помеѓу овие две вредности, мора да постои вредност за која добиваме

максимално dy/ds. Тој максимум е лоциран во правецот за кој, dy/dx е

стационарно во однос на промените на α. Тој стационарен услов е:

d ( dyds )dα

=0

за кој имаме:

tg α¿=( ∂ y∂ x2 )p

( ∂ y∂ x1 )p

(5)

при што α* е аголот кај кој dy/ds е стационарно. Одовде

( dyds )stacionarno=cosα ¿ [( ∂ y∂x1 )p+( ∂ y

∂x2 )p ∙( ∂ y∂ x2 )p

( ∂ y∂ x1 )p ](6)

при што за cos α*, изведено од равенката 5 (ако се земе предвид дека

tgα=√1−cos2αcosα

) имаме:

Page 5: 9.1 Gradientna Metoda

cos α¿=( ∂ y∂x1 )p

±√[( ∂ y∂x1 )p

2

+( ∂ y∂ x2 )p

2 ](7)

така на крајот се добива стационарната вредност:

( dyds )stacionarno=±√[( ∂ y∂ x1 )p

2

+( ∂ y∂ x2 )p

2 ](8)при што, плус е кај максималната а минус кај минималната вредност. Според

тоа, за еден од аглите α деривацијата на правецот добива максимална

вредност. Се гледа дека тој правец е нормален на контурната тангента и

оттаму имаме:

tg α1 ∙tg α¿=−1

а тоа е услов линиите во рамнината x1x2 да се нормални една на друга. Од

овде може да се изведе заклучок дека најголема промена на y имаме ако

придвижувањето се врши нормално на контурата y = constanta.

Правец на најголем успон во n – димензионалниот простор

Овде ќе биде прикажана аналитичката основа на правецот на најбрз

успон. Тоа ни е потребно за подобро разбирање на методите на пребарување

засновани на принципот на најбрз успон. Проблемот е да се направи многу мал

чекор ds на тој начин да испитуваната функција порасне (опадне) најмногу што

може. Постои:

(ds )2=∑i=1

m

(dxi )2(9)

Поаѓајќи од фактот дека y е диференцијабилна, промената на y поврзана со

множеството придвижувања dxi е дадено со изразот:

dy=∑i=1

n

( ∂ y∂ x i )d x iили

Page 6: 9.1 Gradientna Metoda

dyds

=∑i=1

n

( ∂ y∂ x i )

d x i

ds(10)

Само одредено множество придвижувања ќе оствари најголема можна

вредност за dy/ds. Тоа е, всушност, во правецот на најстрмниот успон (или

пад).

Поаѓајќи од друг аспект може да се постави проблемот на оптимизација

со ограничувања. Задачата е да се максимизира (минимизира) dy/ds под услов

ds да е даден со равенката (9). Јасно е дека, соодветно множество на dy/ds е

она кое ги дава стационарните точки на модифицираната функција на целта:

F=∑i=1

n ∂ y∂ xi

∙dx i

ds+¿ λ [1−∑i=1

n

( dx i

ds )2]¿

при што λ претставува Лагранжов мултипликатор. Со диференцирање по dxi/ds

и потребните услови се добива:

∂ y∂x i

−2 λd x i

ds=0или

d x i

ds= 12λ

∂ y∂x i

za ј=1 ,2 ,……n(11)

Овој израз ни го дава правецот на најстрмен успон (пад), докажувајќи дека тој

правец е пропорционален на парцијалните изводи на y, или со векторска

терминологија – правецот на најстрмен успон или пад е вектор паралелен со

градиентот на функцијата.

Ако во некоја точка x0 градиентот има вредност ( ∂ y∂ xi )0, тогаш правата,

која се протега од таа точка во правец на најстрмниот градиент, може да се

прикаже во параметарски облик:

x i−x i .0=12 λ ( ∂ y

∂x i )0 s=mi .0 ∙ s за i=1 ,2 ,…,n(12)

при што mi.0 претставува ознака за правецот пресметан за точката x0. На овој

начин се дава изразот за правецот на најстрмниот градиент во точката x0.

Page 7: 9.1 Gradientna Metoda

Бидејќи до сега не е даден смерот на најголемиот успон (пад) туку само

линијата (правецот) на најстрмниот градиент, потребно е да се проанализира

тој аспект. Со замена на (11) во (5) се добива:

1=∑i=1

n ( dx i

ds )2

= 14 λ2

∑i=1

n

( ∂ y∂ x i )

2

одовде

2 λ=±√∑i=1n ( ∂ y∂xi )

2

со замена на (11) во (10) се добива:

dyds

=∑i=1

n 12λ ( ∂ y

∂ xi )2

=±√∑i=1n ( ∂ y∂ xi )

2

(13)

позитивниот предзнак го дава најголемиот пораст за y, додека негативниот

предзнак го дава најголемото опаѓање на y. Ако во равенката (12) го замениме

2λ со соодветниот, погоре даден, израз се добива смерот φ:

запораст на y :mi=

∂ y∂ x i

√∑i=1n ( ∂ y∂ x i )

2(14a )

заопаѓање на y :mi=

−∂ y∂x i

√∑i=1n ( ∂ y∂x i )

2(14b )

Овие смерови се во правец на најстрмниот успон или опаѓање.

Пример:

Задачата е да се одреди тангентата на контурата и смерот на најстрмен

успон за дводимензионалната линеарна функција на целта:

y = a1x1 + a2x2

аголот на контурната тангента α1 е:

Page 8: 9.1 Gradientna Metoda

tg∝1=−( ∂ y

∂x1 )p( ∂ y∂x2 )p

=−a1a2

бидејќи се работи за линеарна равенка, градиентот е независен од положбата,

видливо е дека наклонот е –a1/a2. Равенката на прават е:

x2=(−a1a2 )x1+b

при што b претставува отсечок на x2 оската. Со замена во равенката на

функцијата се добива:

y=a1x1+a2[(−a1a2 ) x1+b ]=a2b=konst .

Во примерот на слика 4 имаме a1 = 2 и a2 = 5

Слика 4

Најстрмниот успон е:

Page 9: 9.1 Gradientna Metoda

m1=

∂ y∂x1

√[( ∂ y∂ x1 )

2

+( ∂ y∂x2 )

2]=

a1√a12+a22

= 2√29

m2=

∂ y∂x2

√[( ∂ y∂ x1 )

2

+( ∂ y∂ x2 )

2]=

a2√a12+a22

= 5√29

Правецот на најголем успон φ изразен во параметарски облик е:

x1−x1.0=m1 ∙ s=2 s√29

x2−x2.0=m2∙ s=5 s√29

Како што може да се види m1 и m2 се независни од x1 и x2 што значи дека,

правецот на најстрмен успон е глобална а не локална особина, што е и

нормално за линеарна функција на целта. Ако се одбере точка P и се постигне

смерот на најголем успон, тогаш, секоја друга точка која се наоѓа на таа права

ќе го има истиот смер.

Смерот на најстрмен пад е:

m1=−2√29

m2=−5√29

Пример:

Смерот на најстрмен пад поседува локални особини во случај на

функцијата на целта:

y=3 x12+2x2

2+4 x1 x2

Како што е прикажано на слика 5, треба да се пресмета градиентот на

контурата y = 10 и да се најде точката на пресекот на правата на најстрмен пад

со контурата y = 5. Градиентот во било која точка е дефиниран на следниот

начин:

Page 10: 9.1 Gradientna Metoda

∂ y∂x1

=6 x1+4 x2

∂ y∂x2

=4 x2+4 x1

а во точката A(-1.82; 0) имаме вредност: ∂ y∂x1

=−10.92 и ∂ y∂x2

=−7.28

Смерот на најголем пад φА е:

m1 A=10.92

√ (10.92 )2+ (7.28 )2=0.833

m2 A=7.28

√ (10.92 )2+ (7.28 )2=0.555

Слика 5

Параметарскиот облик на смерот на најстрмно опаѓање според формула (12) е:

x1 + 1.82 = 0.833 s

Page 11: 9.1 Gradientna Metoda

x2 = 0.555 s

а тој правец е прикажан на слика 5 од точката А до пресекот со y = 5. Со

замена за y, x1 и x2 во разгледуваната функција

5=3 (0,833∙ s−1.82 )2+2 (0.555 ∙ s )2+4 (0.833 ∙ s−1.82 )0.555∙ s

за s ги дава следните решенија: s = 0.44 и s = 2.44

Локацијата на најблиската точка B е дадена со координатите (за s = 0.44):

x1 = (0,833 ∙ s−1.82 )=−1.45 x2 = (0.555 s) = 0.244

градиентот во новата точка B е:

( ∂ y∂ x1 )B=6 (−1.45 )+4 (0.244 )=−7.72

( ∂ y∂ x2 )B=4 (0.244 )−4 (1.45 )=−4.82

а смерот φB во точката B е:

m1.B = 0.843 и m2.B = 0.526

Од слика 5 се гледа дека постои разлика помеѓу смеровите φA и φB што

укажува на фактот дека правецот на најстрмен пад (успон) е локална особина.

Пресметување на градиентот

Во некои случаи можно е да се изведе аналитичкиот израз на градиентот

со диференцирање на функцијата на целта. Најчесто во разгледуваните

проблеми функцијата на целта е многу комплексна и не може да се

диференцира или е по природа емпириска. Во тој случај градиентот се

одредува со помош на серија експерименти. При тоа се користи шаблон за

пресметување на коефициентите на полиномната површина со која најдобро

може да се престави функцијата на целта. Наједноставен преставник кој може

да се примени, при преставување на состојбата во пребарувањето, е површина

на рамнина која се изразува со линеарна равенка:

Page 12: 9.1 Gradientna Metoda

∆ y=β1x1' + β2 x2

' +……+βn xn' (15)

при што е: Δy – вредност на функцијата на целта во точка x0

x i'=x1−x i .0 претставува варијација околу основната точка

βi – експериментално утврден коефициент

Овој израз е применлив само во многу стеснета област околу основната точка.

Покрај сето тоа, може да се утврди правецот на најбрз успон во основната

точка, бидејќи е

∂ y∂x1

= ∂∆ y∂ x i

=β i за i=1 ,2 ,…,n (16)

а правецот на најстрмен успон φi дефиниран за n – димензионален простор е:

mi=β i

√∑i=1n

βi2

за i=1 ,2 ,…,n(17)

Според тоа, правецот на најстрмен успон може да се утврди со серија на

експерименти со кои се пресметуваат вредностите за β i. Ако е статистички

одредено потребното множество на експерименти, можно е да се утврди и

грешката до која се доаѓа при пресметувањето на βi [Box и Uilson 1956].

Должина на придвижувањето во методата на најстрмен успон (пад)

Од основната точка во правец на најголемото подобрување на

функцијата на целта, како следна задача, се поставува одредувањето на

должината на придвижувањето (чекорот). За тоа се дадени различно

применливи решенија. Во суштина треба да се донесе одлука за должината на

чекорот во формулата:

xi+1 = xi + φi s (18)

Еднодимензионалните пребарувања без ограничувања можат фа се

користат како метода при тражењето на апроксимации во однос на оптимумот.

Повторно тоа се применува во новата основна точка и процесот на тој начин се

повторува. Пребарувањето престанува кога должината на чекорот падне под

Page 13: 9.1 Gradientna Metoda

одреден минимум. На слика 6 во дводимензионален простор е прикажан еден

сличен пример.

Слика 6

Пребарувањето започнува од точката x0 во правец на најстрмниот успон φ0. По

должината на тој правец, на растојание s, се изведуваат експерименти и се

утврдува локацијата на ограничениот оптимум x1. Новата точка x1 станува

основна точка за новиот правец на најстрмен успон φ1. Придвижувањето по

должината на правецот φi во секоја етапа може да има различна должина во

зависност од модификацијата на техниката на пребарување. Можно е, како во

илустрираниот пример, однапред да се определи должината на чекорот или,

може да се организира придвижување во кое оптимумот сам се ограничува. Во

тој случај, треба да се нагласи дека, следниот правец е ортогонален на

претходниот, поаѓајќи од оптимумот во претходната етапа. Тоа значи дека овие

два правца ќе заклопат прав агол.

Методата на најстрмен успон е најуспешна техника на пребарување

бидејќи секое еднодимензионално пребарување се одвива по најстрмниот

правец. Но и покрај се, правецот на најстрмен успон е локална особина и во

многу случаеви, посебно кога постојат изразени интеракции помеѓу

Page 14: 9.1 Gradientna Metoda

варијабилите, методата не е посебно ефикасна. За да се докаже тоа прикажана

е слика 7.

Слика 7

Методата на најстрмен успон, прикажана на сл. 7, се одвива по “цик-цак” линија

по должината на гребенот. Имајќи предвид дека мора да се врши пресметка во

секоја нова точка x0, x1, x2 . . . . xn, потребен е многу голем број на експерименти

за пресметување на оптимумите. Имајќи ги предвид овие потешкотии

Booth[1955] сугерирал метода која го модифицира движењето на следниот

начин: При придвижувањето се прифаќа само 90% од растојанијата до

оптималните вредности, по должините на линиите на најстрмен успон во текот

на четири или пет придвижувања, а потоа со полн чекор во петото или шестото

придвижиување. Предноста на оваа постапка е тоа што пребарувањето се

врши многу близу до гребенот (на слика 7, B’ – C’). Стартувајќи од точката А во

правец на најстрмниот успон точката B би била оптимална, но наместо неа се

зема B’, при тоа, A⃗B'=0.9 (⃗ AB ). Исто така во понатамошната етапа наместо

Page 15: 9.1 Gradientna Metoda

точката C се бира точката C’ при што е B⃗'C '=0.9 (⃗B'C ). На овој начин

пребарувањето се води трансверзално во близина на гребенот и затоа е

потребен помал број на експерименти.

Пример:

Задача е минимизација на функцијата

y=100 ( x2−x12 )2+(1−x1)

2

ЕТАПА 1. Се одбира основната точка x0 = {2, 2}. Првата деривација во таа

точка е:

( ∂ y∂ x1 )0=−400 ( x2 x1−x1

3)−2 (1−x1 )=1602

( ∂ y∂ x2 )0=200 (x2−x1

2 )=−400

Според тоа правецот φ0 е даден со компонентите:

m1.0=−1602

√ (1602 )2+ (400 )2=−0.9702

m2.0=400

√ (1602 )2+ (400 )2=0.2422

Параметарското прикажување на правата во правец на најстрмниот пад е

x1 = 2 – 0.970 s

x2 = 2 + 0.2422 s

а функцијата на целта добива вредност:

y = 100[2 + 0.2422 s – (2 – 0.9702 s)2]2 + [1 – (2 – 0.9702 s)]2

Вредноста за s може да се избере така да се минимизира вредноста на y по

должината на тој правец. При еднодимензионално пребарување се добива s =

Page 16: 9.1 Gradientna Metoda

0.555 (±0.003) и y = 0.213 што претставува големо смалување во споредба со y0

= 401. Координатите на новата точка се:

x1.1 = 2 – 0.9702 (0.555) = 1.4615

x2.1 = 2 + 0.2422 (0.555) = 2.1345

ЕТАПА 2. Градиентот во новата точка ги има компонентите:

( ∂ y∂ x1 )1=0.922 ( ∂ y

∂ x2 )1=0Може да се забележи дека дојде до изразита промена во однос на претходниот

смер. Новиот смер φ1 ги има компонентите:

m1.2 = - 1.0 и m2.2 = 0.0

а правата прикажана во параметарски облик е:

x1 = 1.4615 – s

x2 = 2.1345

додека вредноста на функцијата е:

y = 100[2.1345 – (1.4615 – s)2]2 + [1 – (0.4615 – s)]2

придвижувањето е незначително и изнесува s = 0.001 со вредност на

функцијата на целта y2 = 0.212 < y1 = 0.213.