上溢位和下溢位,eg. sof
tmax
(x)i
=exi
∑ejx
softmax(x)_i = \frac}
softma
x(x)
i=∑
ejx
exi
可以通過z=x
−max
(x
)z = x-max(x)
z=x−ma
x(x)
來解決上下溢位問題
矩陣過於敏感:最大最小特徵值商的絕對值越多,矩陣求逆對誤差越敏感
梯度下降:沿著梯度反方向下降x′=
x−ϵ∇
xf(x
)\boldsymbol^=\boldsymbol-\epsilon \nabla_} f(\boldsymbol)
x′=x−ϵ
∇xf
(x)
常用假設-lipschitz連續
jacobian矩陣
一階導矩陣
hessian矩陣
1. 二階偏導矩陣,等價於梯度的jacobian
2.實對稱矩陣
3. 在任意方向d
dd上的二階導數為dth
dd^thd
dthd
,d
dd為特徵向量時,其為對應的特徵值,其他的方向的二階導數為特徵值的加權平均,所以二階導數的上限為最大特徵值,下限為最小特徵值
4. 考慮梯度下降的泰勒二階近似f(x
(0)−
ϵg)≈
f(x(
0))−
ϵg⊤g
+12ϵ
2g⊤h
gf(
x(0)
−ϵg)
≈f(x
(0))
−ϵg⊤
g+21
ϵ2g
⊤hg
在gth
gg^thg
gthg
為正的情況下,ϵ∗=
g⊤gg
⊤h
g\epsilon^=\frac g} h g}
ϵ∗=g⊤h
gg⊤g
的情況下函式下降最快。因此hessian矩陣決定了學習率的量級
極值點判定
基於∇xf
(x)=
0\nabla_xf(x)=0
∇xf(x
)=0的情況下:
hessian正定 => 區域性極小值點
hessian負定 => 區域性極大值點
hessian特徵值有正有負 =>在某些截面是極小點、有些截面是極大點
hessian特徵值存在0 => 無法判定是極大極小值點
梯度下降沒有用到hessian的資訊,在具有不同方向上導數增加的快慢不同,因此有二階方法,如
牛頓法迭代:二次泰勒展開後根據一階導數條件:x∗=
x(0)
−h(f
)(x(
0))−
1∇xf
(x(0
))
\boldsymbol^=\boldsymbol^-\boldsymbol(f)\left(\boldsymbol^\right)^ \nabla_ f\left(\boldsymbol^\right)
x∗=x(0
)−h(
f)(x
(0))
−1∇x
f(x
(0))
比梯度下降快,但在鞍點附近有害(會指向鞍點)
約束優化
對於恆定學習率,取梯度下降的結果,投影到可行域上
將梯度投影到可行域上
設計成無約束優化
在kkt條件下,寫成lagrange函式minx
max
λmaxα
,α⩾0
l(x,
λ,α)
\min _ \max _} \max _, \boldsymbol \geqslant 0} l(\boldsymbol, \boldsymbol, \boldsymbol)
minx
maxλ
maxα,α
⩾0l
(x,λ
,α)
kkt條件是確定乙個點是最優點的必要條件,包括:
廣義lagrangian梯度為0
所有關於x和kkt乘子的約束都滿足
不等式約束顯示互補鬆弛性 α⊙h
(x)=
0\alpha \odot h(x)=0
α⊙h(x)
=0
第三章學習筆記
執行執行緒,簡稱執行緒,是在程序中活動的物件。核心排程的物件是執行緒,而不是程序。程序描述符中包含的資料能完整地描述乙個正在執行的程式 各種狀態之間存在轉換的條件,若滿足則進行轉換,跟模擬電路中所學的狀態機是乙個道理。通過st task state task,state 函式來設定當前程序狀態 fo...
Asp學習筆記第三章
2006 07 20 20 03 07 asp學習筆記第三章 一 收集客戶端資料到伺服器語句request 1.表單頁面 這句一定要放到表單標籤的第一行 2.處理表單頁面 dim id,pwd id request.form id1 pwd request.form pwd1 if isempty ...
K R學習筆記 第三章
這一章講控制流,基本就是if else while do while switch case之類的。基本的東西大家都懂。需要強調的是在預設狀態下,if else語句中的else是與之前最近的if匹配的,所以如果這不是你的本意,那麼最好加上大括號括起來。其實我幾乎不會犯這個錯誤,因為我寫程式時,習慣於...