Given
minf(a,b,Σ)
s.t.a>0,b>0,Σ∈pd
we can utilize the barrier function to prevent the a and b not to be negative, and Σ to be pd.
add the barrier function for each constraint, e.g.
B(a)=(a−1)log(a)0<a<=1
B(a)=0a>1
B(a)=+∞a<=0
for
Σ
, the barrier function is
B(Σ)=−logdetΣ,Σ∈p.d.
B(Σ)=+∞,others
the bound ‘1’ here can be scaled. 因为这是个minize的问题,如果是gradient descent 的话 xk+1=xk+akpk , 这里如果 xk 是一个0到1的数,那么他对应的gradient就是负无穷,那么 pk 就是正无穷,所以下一步的更新值 xk+1 就会被拉回到正数区间。
但是如果用conjugate gradient descent, 这里是无效的,因为 pk 与gradient 不是正相关。如果用lbfgs是可以的