問題的一般表達
\(x\)是\(n\)維實向量:
$$x=(x^,...,x^)^t \in r^n,$$
s是\(r^n\)的子集,\(f_0(x),...,f_m(x)\)是x相關的實值函式。
我們所要解決的主要是以下最小問題的變體:
$$min\ f_0(x),$$
$$s.t.\ \ f_j(x)\&0, j=1...m,$$
$$x\in s,$$
其中&可以是\(\geq,\leq or =\)
\(f_0\)是問題的目標函式,函式向量
$$f_=(f_1(x),...,f_m(x))^t$$稱為函式約束向量,集合s是基本可執行集,集合
$$q=$$
稱為問題的可執行集。另一種情況我們可將其理解為目標函式為\(-f_0(x)\)的最大化問題。
問題的分類
約束問題:\(q\in r^n.\)
非約束問題:\(q\equiv r^n.\)
平滑問題:所有\(f_j(x)\)都是可微的.
非平滑問題:有乙個不可微的\(f_k(x).\)
線性約束問題:所有函式約束都是線性的:
\(f_j(x)=\sum_^na_j^x^+b_j\equiv +b_j,j=1...m,\)
(這裡<.,.>代表\(r^n\)上的內積)
如果目標函式\(f_0(x)\)也是線性的,那麼就是線性優化問題。
如果\(f_0(x)\)是二次的,那麼就是二次優化問題,
如果所有約束都是二次的,那麼就是二次約束的二次問題。
其它分類省略,詳見introductory lectures on convex optimization:a basic course---p2
數學方法的效能
p:具體問題
f:一類問題,f\(\supset\)p
m:解決問題的方法
\(\sum\):模型
對問題p的已知部分被稱為問題的模型。
o:收集資料的過程,是回答一系列方法問題的單元。
\(t_e\):迭代停止標準,e是準確率。
分析複雜度:o的次數。
算數複雜度:算數操作次數。
本地黑盒:
1. 算數模式的有效資訊只來自於o
2.距離測試點x很遠的乙個小的問題變化,不會影響x的答案。
函式模型:
0階o:返回\(f(x)\)
1階o:返回\(f(x)\)和梯度\('\)
2階o:返回\(f(x),'\)和hessian \(''\)
全域性優化的複雜度限制
考慮下述問題:
$$min_f(x)$$
這是乙個沒有函式約束的約束最小化問題。問題的基礎可行集是b_n,乙個屬於\(r_n\)的n維盒:
$$b_n=,i=1...n}.$$
這裡我們衡量距離使用無窮範數:
$$\left \| x \right \|_\infty = max_\left | x^ \right |.$$
如果目標函式在\(f(x)\)在\(b_n\)是lipschitz連續,則有:
$$\left | f(x)-f(y)\right | \leq l\left \| x-y \right \|_\infty\ \ \ \forall x,y\in b_n$$
其中l是lipschitz常數。
解決上述問題,我們考慮乙個簡單的方法(均勻網格法)。
方法g(p):
1.\((p+1)^n\)個點
$$x_=(\frac,\frac,...,\frac)^t,$$
其中\((i_1,...,i_n)\in ^n.\)
2.在所有點\(x_\)中我們可以找到乙個點\(\bar\),在目標函式上取得所有點的最小值。
3.返回數值對\((\bar,f(\bar))\)作為結果。
這是乙個0階迭代方法,因為沒有使用到任何測試點序列的積累資訊。
定理:\(f(\bar)-f^*\leq \frac\)
推論:使用方法g解決問題的分析複雜度最多為:
$$a(g)=(\left \lfloor \frac \right \rfloor +2)^n,$$
抵抗oracle:對於每個特定的方法,乙個抵抗oracle試圖建立乙個最壞問題。它從乙個「空」的函式開始,並試圖用最壞可能的方式回答這個方法的每乙個呼叫。這個回答必須和前面的回答以及問題類的描述相容。
考慮如下問題:
模型:\(min_f(x),\)(f(x)在\(b_n\)上是\(l_\infty\))lipschitz連續的。
oracle:零階區域性黑盒。
逼近解:尋找\(\bar\in b_n:f(\bar)-f^*\leq \epsilon)\)
針對此類問題有如下定理:
1. 對於零階方法,要取得\(\epsilon\)精度(這裡\(\epsilon<\fracl\)), 則其解析複雜度至少為\((\left \lfloor \frac \right \rfloor)^n\)。
證明:\(x^*\)是全域性最優點。由其lipschitz連續可得:\(\left | f(x) - f(x^*) \right | \leq l\left \| x - x^* \right \|\)
若結果滿足精度\(\epsilon \)則有\(l\left \| x - x^* \right \| \leq \epsilon\)
因為\(\left \| x - x^* \right \| \leq \frac\)
所以\(\frac \leq \epsilon\)有\(p\geq \frac\geq \left \lfloor \frac \right \rfloor\)
為了使精度在限額內p至少為\(\left \lfloor \frac \right \rfloor\), 所以其解析複雜度至少為\((\left \lfloor \frac \right \rfloor)^n\)
因此我們可以得到均勻網格法的上下界:
g:\((\left \lfloor \frac \right \rfloor +2)^n\),下界:\((\left \lfloor \frac \right \rfloor)^n\)
如果\(\epsilon = o(\frac)\),下界和上界乘上乙個因子後是重合的。這說明g(p)是問題的乙個優化方法。
非線性優化
目的 因為雜訊!為了減少雜訊帶來的影響。現實世界點p,在相機座標系下座標p x,y,z 落在投影平面上的座標為 u,v 一般把 u,v 寫成齊次座標 所謂齊次座標,是為了方便進行矩陣的運算,在向量上面加乙個維度,一般把增加的維度預設成1 焦距fx,fy,相機座標系和成像平面的平移cx,cy都作為內參...
matlab 非線性優化
求解非線性問題 min z f x s.t.c x 0,ceqx 0,ax b,aeqx beq,lb x ub.x,fval,exitflag,output,lambda,grad,hessian fmincon fun,x0,a,b,aeq,beq,lb,ub,nonlcon,options,p...
非線性優化 高翔
高斯牛頓法 include include include include include using namespace std intmain 開始gauss newton 迭代 int iterations 100 迭代次數 double cost 0,lastcost 0 本次迭代的cost...