機器學習演算法=模型表徵+模型評估+優化演算法
優化演算法所做的事情就是在模型表徵空間中找到模型評估指標最好的模型。
在有監督學習中,損失函式刻畫了模型和訓練樣本的匹配程度。
回歸問題
l_(f,y) = \begin
(f-y)^2 &\text|f-y| \leq \delta \\
2\delta|f-y|-\delta^2 &\text|f-y|> \delta
\end
l(λ
x+(1
−λ)y
)≤λl
(x)+
(1−λ
)l(y
)l(\lambda x+(1-\lambda)y) \leq \lambda l(x)+(1-\lambda)l(y)
l(λx+(
1−λ)
y)≤λ
l(x)
+(1−
λ)l(
y)直觀解釋:凸函式曲面上任意兩點連線而成的線段,其上的任意一點都不會處於該函式曲面的下方。
對於凸優化問題,所有的區域性極小值都是全域性極小值,因此這類問題是比較容易求解的。
另外,主成分分析對應的優化問題是非凸優化問題。
直接法要求目標函式需要滿足兩個條件:
迭代法就是迭代地修正最最優解的估計。可以分為一階法和二階法兩類。 l(θ
;xi,
yi)=
l(f(
xi,θ
),yi
)l(\theta;x_i,y_i)=l(f(x_i,\theta),y_i)
l(θ;xi
,yi
)=l
(f(x
i,θ
),yi
)∇ l(
θ;xi
,yi)
=∇l(
f(xi
,θ),
yi
)\nabla l(\theta;x_i,y_i)=\nabla l(f(x_i,\theta),y_i)
∇l(θ;x
i,y
i)=
∇l(f
(xi
,θ),
yi)
為了降低隨機梯度的方差,使迭代演算法更加穩定,也為了充分利用高度優化的矩陣運算操作,在實際應用中會同時處理若干訓練資料。
假設需要同時處理m個訓練資料
\,y_),...,(x_,y_) \}
,則目標函式及梯度為:
l (θ
)=1m
∑j=1
ml(f
(xij
,θ),
yij)
l(\theta)= \sum_^ml(f(x_,\theta),y_)
l(θ)=m
1j=
1∑m
l(f(
xij
,θ)
,yij
)∇l(
θ)=1
m∑j=
1m∇l
(f(x
ij,θ
),yi
j)
\nabla l(\theta)=\sum_^m\nabla l(f(x_,\theta),y_)
∇l(θ)=
m1j
=1∑m
∇l(
f(xi
j,
θ),y
ij
)
參考:《百面機器學習》
機器學習中優化演算法的比較
演算法 優點 缺點 適用情況 牛頓法收斂速度快 靠近極小值時收斂速度減慢,求解hessian矩陣的逆矩陣複雜,容易陷入鞍點 不適用於高維資料 擬牛頓法 收斂速度快,不用計算二階導數,低運算複雜度 儲存正定矩陣,記憶體消耗大 不適用於高維資料 批量梯度下降 目標函式為凸函式時,可以找到全域性最優值 收...
機器學習常見的優化演算法
機器學習中常見的一些優化演算法的總結,以最直接的方式理解。注 梯度下降法來自rachel zhang的部落格 不是所有的方程都具有解析解,因此可採用優化的方法尋找其最有解,在機器學習中常見的演算法有梯度下降法 牛頓法和拉格朗日對偶性。具有一階連續的偏導數的目標函式,以andrew ng老師的課件簡要...
機器學習優化演算法 L BFGS
關於優化演算法的求解,書上已經介紹了很多的方法,比如有梯度下降法,座標下降法,牛頓法和擬牛頓法。梯度下降法是基於目標函式梯度的,演算法的收斂速度是線性的,並且當問題是病態時或者問題規模較大時,收斂速度尤其慢 幾乎不適用 座標下降法雖然不用計算目標函式的梯度,但是其收斂速度依然很慢,因此它的適用範圍也...