‘alternating optimization’ or ‘alternative optimization’?
Sue (UTS) comment: ‘Alternating’ means you use this optimization with another optimization, one after the other. ‘Alternative’ means you use this optimization instead of any other.
鎴戠殑GSM-PAF鏈鍚庣敤鐨?/span>‘alternating optimization’
The Taylor series may also be generalized to functions of more than one variable with
For example, for a function that depends on two variables, x and y, the Taylor series to second order about the point (a, b) is:
where the subscripts denote the respective partial derivatives.
A second-order Taylor series expansion of a scalar-valued function of more than one variable can be written compactly as
where is the gradient of
evaluated at
and
is the Hessian matrix. Applying the multi-index notation the Taylor series for several variables becomes
which is to be understood as a still more abbreviated multi-index version of the first equation of this paragraph, again in full analogy to the single variable case.
Compute a second-order Taylor series expansion around point of a function
Firstly, we compute all partial derivatives we need
The Taylor series is
which in this case becomes
Since log(1 + y) is analytic in |y| < 1, we have
for |y| < 1.
If λ1 and λ2 are two arbitrary nonnegative real numbers such that λ1 + λ2 = 1 then convexity of implies
This can be easily generalized: if λ1, λ2, ..., λn are nonnegative real numbers such that λ1 + ... + λn = 1, then
1. 姊害涓嬮檷娉?/strong>
姊害涓嬮檷娉曠殑鍘熺悊鍙互鍙傝冿細鏂潶紱忔満鍣ㄥ涔犵涓璁?/a>銆?/span>
鎴戝疄楠屾墍鐢ㄧ殑鏁版嵁鏄?00涓簩緇寸偣銆?/span>
濡傛灉姊害涓嬮檷綆楁硶涓嶈兘姝e父榪愯錛岃冭檻浣跨敤鏇村皬鐨勬闀?涔熷氨鏄涔犵巼)錛岃繖閲岄渶瑕佹敞鎰忎袱鐐癸細
1錛夊浜庤凍澶熷皬鐨? 鑳戒繚璇佸湪姣忎竴姝ラ兘鍑忓皬錛?/span>
2錛変絾鏄鏋滃お灝忥紝姊害涓嬮檷綆楁硶鏀舵暃鐨勪細寰堟參錛?/span>
鎬葷粨錛?/span>
1錛夊鏋滃お灝忥紝灝變細鏀舵暃寰堟參錛?/span>
2錛夊鏋滃お澶э紝灝變笉鑳戒繚璇佹瘡涓嬈¤凱浠i兘鍑忓皬錛屼篃灝變笉鑳戒繚璇佹敹鏁涳紱
濡備綍閫夋嫨-緇忛獙鐨勬柟娉曪細
..., 0.001, 0.003, 0.01, 0.03, 0.1, 0.3, 1...
綰?鍊嶄簬鍓嶄竴涓暟銆?/span>
matlab婧愮爜錛?/span>
2. 闅忔満姊害涓嬮檷娉?/strong>
闅忔満姊害涓嬮檷娉曢傜敤浜庢牱鏈偣鏁伴噺闈炲父搴炲ぇ鐨勬儏鍐碉紝綆楁硶浣垮緱鎬諱綋鍚戠潃姊害涓嬮檷蹇殑鏂瑰悜涓嬮檷銆?/span>
matlab婧愮爜錛?/span>
Newton-Raphson綆楁硶鍦ㄧ粺璁′腑騫挎硾搴旂敤浜庢眰瑙LE鐨勫弬鏁頒及璁°?/p>
瀵瑰簲鐨勫崟鍙橀噺濡備笅鍥撅細
澶氬厓鍑芥暟綆楁硶錛?/p>
Example錛氾紙implemented in R錛?/p>
#瀹氫箟鍑芥暟f(x)
f=function(x){
1/x+1/(1-x)
}
#瀹氫箟f_d1涓轟竴闃跺鍑芥暟
f_d1=function(x){
-1/x^2+1/(x-1)^2
}
#瀹氫箟f_d2涓轟簩闃跺鍑芥暟
f_d2=function(x){
2/x^3-2/(x-1)^3
}
#NR綆楁硶銆
NR=function(time,init){
X=NULL
D1=NULL #鍌ㄥ瓨Xi涓闃跺鍑芥暟鍊?br />D2=NULL #鍌ㄥ瓨Xi浜岄樁瀵煎嚱鏁板?br /> count=0
X[1]=init
l=seq(0.02,0.98,0.0002)
plot(l,f(l),pch='.')
points(X[1],f(X[1]),pch=2,col=1)
for (i in 2:time){
D1[i-1]=f_d1(X[i-1])
D2[i-1]=f_d2(X[i-1])
X[i]=X[i-1]-1/(D2[i-1])*(D1[i-1]) #NR綆楁硶榪唬寮?br /> if (abs(D1[i-1])<0.05)break
points(X[i],f(X[i]),pch=2,col=i)
count=count+1
}
return(list(x=X,Deriviative_1=D,deriviative2=D2,count))
}
o=NR(30,0.9)
緇撴灉濡備笅鍥撅細鍥句腑涓嶅悓棰滆壊鐨勪笁瑙掑艦琛ㄧずi嬈¤凱浠d駭鐢熺殑浼拌鍊糥i
o=NR(30,0.9)
#鍙﹀彇鍑芥暟f(x)
f=function(x){
return(exp(3.5*cos(x))+4*sin(x))
}
f_d1=function(x){
return(-3.5*exp(3.5*cos(x))*sin(x)+4*cos(x))
}
f_d2=function(x){
return(-4*sin(x)+3.5^2*exp(3.5*cos(x))*(sin(x))^2-3.5*exp(3.5*cos(x))*cos(x))
}
寰楀埌緇撴灉濡備笅錛?/p>
Reference from:
Kevin Quinn
Assistant Professor
Univ Washington