本文「邏輯斯網路模型」指的是「邏輯斯迴歸與類神經網路」所談的,從輸入進行加權加總,再經由 logistic 曲線轉換成 0-1 間數值傳到隱藏屠或輸出層,或從前一隱藏屠以相同機制傳至下一隱藏層或輸出層的網路架構。權量,指的是 logistic 曲線轉換前對前一層加權加總所用的權量。從統計上來說,也就是二元反應或比例之 logistic 迴歸或多重 logistic 迴歸的模型。而統計上,單層 logistic 迴歸模型是線性預測子 x'β 做一嚴格遞增函數變成反應變數 Y 的期望值,由廣義線性模型的一般理論知若群體分布屬指數族,則概似方程式的解是其自然參數的 MLE,也就是說自然參數的概似函數或對數概似函數是凹性的 (concave),或至少在概似方程式的解那裡是凹性的(凹面向下的)。另一方面,在二元反應或比例的機率模型,自然參數就是 logit(p) = ㏑(p/(1-p)),而它是 β 的線型式,因此對參數 β 而言,其概似函數或對數概似函數,王少在概似方程式的解附近是凹性的,所以找 MLE 就是找概似方程式的解。
在單層邏輯斯網路,其實就是 logistic 迴歸模型,但 ANN 採用的目標函數是誤差平方和:
Q(W) = (1/2) || Y - f(X W) ||^2
以單輸出變量來看,Y 是 n×1 資料向量;X 是 n×k 輸入資料矩陣,k 是輸入變數個數,可能和常數 -1;W 是權量向量,矩陣階數 k×1;f 是 logistic 曲線函數
f(t) = 1/(1+e^{-t})
作用在矩陣 XW 的每一元素,而不是矩陣的實數值函數。若輸出是 p 變量,則 Y 是 n×p 資料向量,而 W 是 k×p 矩陣。轉換函數(傳遞函數,活化函數) f(t) 在 t = 0 有反曲點,取對數則 ㏑(f(t)) 是凹性的。
目標函數(損失函數、成本函數)Q(W) 需要極小化,如果它是權量矩陣或向量的凸性函數 (convex function),則只要令其梯度等於 0,求解如此形成的方程式(組)即可,但 Q(W) 是 f(X W) 的凸函數,卻不見得是 W 的凸函數。 Q(W) 對 W 之第 j 行 W_j 的梯度是
▽_j Q(W) = - Σ_i x_i f'(x'_i W_j) (Y{ij} - f(x'_i W_j))
其中 Y{ij} 是輸出變數 Yj 第 i 個值。對 W_j 再做一次偏微:
▽_j ▽'_j Q(W)
= Σ_i x_i x'_i [(f'(x'_i W_j))^2 - f"(x'_i W_j)(Y{ij} - f(x'_i W_j))]
令 p{ij} = f(x'_i W_j),則
f'(x'_i W_j) = p{ij}(1-p{ij})
f"(x'_i W_j) = p{ij}(1-p{ij})(1-2p{ij}),
設 u(ij) = (f'(x'_i W_j))^2 - f"(x'_i W_j)(Y_j(i) - f(x'_i W_j)),則
u(ij) = p{ij}^2(1-p{ij})^2 - p{ij}(1-p{ij})(1-2p{ij})(Y{ij} - p{ij})
= p{ij}(1-p{ij})[p{ij}(2-3p{ij}) or (1-p{ij})(3p{ij}-1)]
當 y{ij} 為 0 時得 p{ij}^2(1-p{ij})(2-3p{ij}), 當 y{ij}=1 時得 p{ij}(1-p{ij})^2(3p{ij}-1),難以確定 u{ij} 的正負。令 Uj 是諸 u{ij},其中 j 固定,為主對角線元素構成的 n×n 對角線矩陣,則 Q(W) 的臨界點滿足方程式
X' [f'(X W)⊙(Y - f(X W))] = 0
式中 ⊙ 表元素對元素相乘的兩同階矩陣乘法。Q(W) 的 Hessian 可以表示成
H = BlkDiag[X' U1 X , . . . , X' Up X]
式中 BlkDiag 表示由後列矩陣形成的區塊對角線矩陣。H 是一個 kp × kp 矩陣,配合 H 前面的臨界點方程式可寫成
[ [f'(X W_1)⊙(Y - f(X W_1))]'X , . . . , [f'(X W_p)⊙(Y - f(X W_p))]'X ]'
式中 X W_j 是 n×1 矩陣,轉置後是 1×n,與 X 相乘後是 1×k;p 個類似的擺在一起,是 1 × kp 矩陣,再轉置成 kp × 1 行向量。雖然代數式似乎無法保證述 u{ij} 為正值,但
u(ij) = p{ij}^2(1-p{ij})^2 - p{ij}(1-p{ij})(1-2p{ij})(Y{ij} - p{ij})
如果 Y{ij} = 0 對應的 p{ij} 傾各於較小,例如 p{ij} < 1/2,則 u{ij} 是兩項正值相加;反之,Y{ij} = 1 對應 p{ij} 傾向於較高,p{ij} > 1/2 則 u{ij} 也是兩項正值相加。可能造成負值的是 Y{ij} = 0 而 p{ij} > 1/2,此時 u{ij} = p{ij}^2(1-p{ij})(2-3p{ij}),我們發現實際上此時只有 p{ij} > 2/3 才會使 u{ij} 變負值;另外是 Y{ij} = 1 而 p{ij} < 1/2 時,此時 u{ij} = p{ij}(1-p{ij})^2(3p{ij}-1),實際上需要 p{ij} < 1/3 才會使 u{ij} 成負值。因而雖不保證,但可以相信 H 會是非負確定,臨界點是目標解所在。
雖然理論上 W 可以同時計算,但很顯然 W 的各行的計算是不相干的,所以各行可以分別計算,解臨界點方程式
d(W_j) = X' [f'(X W_j)⊙(Y_j - f(X W_j))] = 0
亦即 Σ_i x_i p{ij}(1-p{ij})(Y{ij} - p{ij}) = 0,用 Newton-Raphson 迭代:
W_j(new) = W_j + H_j^{-1} d(W_j)
其中 H_j = X' Uj X。與類神經網路常用的梯度下降算法相比,彼用的是
ΔW_j = η d(W_j)
因為 d(W_j) 是目標函數 Q(W) 下降最快的方向。而此處用的是
ΔW_j = H_j^{-1} d(W_j)
此處目標是 - ▽ Q(W) = d(W_j) = 0,因為
Q(W+ΔW_j) ≒ Q(W) - d(W_j)' ΔW_j + (1/2) (ΔW_j)' H_j (ΔW_j)
讓 d(W_j)' = (ΔW_j)' H_j 可以使
ΔQ(W) = -(1/2) (ΔW_j)' H_j (ΔW_j) = -(1/2) d(W_j)' H_j^{-1} d(W_j)
而梯度下降法則得
ΔQ(W) = -η d(W_j)' d(W_j) + (1/2)η^2 d(W_j)' H_j d(W_j)
用單一變數來看比較容易了解:設目標極小化 Q(w),梯度下降法取 Δw = -η Q'(w),Newton 法取 Δw = - Q'(w)/Q"(w)。則梯度下降法對 Q(w) 的改變是
ΔQ(w) ≒ - η (Q'(w))^2 + (1/2)η^2 Q"(w) (Q'(w))^2
而 Newton 法的改變則是
ΔQ(w) ≒ - (1/2) (Q'(w))^2/Q"(w)
如果 Q"(w) > 0 兩種方法都可用。如果 Q"(w) < 0,Newton 法的目標是使 Q'(w) = 0 而不是降低 Q(w),故結果 Q(w) 反而增加,因為如果在臨界點 Q"(w) 是負的,表示在臨界點是極大;而梯度下降法目標是降低 Q(w),當 Q"(w) < 0 時反而效果更好。這簡單的例子說明了:查看二階導數是否符合目標極值的條件是很重要的,在我們的問題也就是諸 X' Uj X 必須是非負碓定的,否則大概也只能尋求其他求極小值的方法,例如梯度下降法。不過,梯度下降法的問題在於如何決定適當的倍數 η。
假設 Q(W) 極小值可由臨界點方程式來找,則 X' [f'(X W)⊙(Y - f(X W))] = 0。現在假設有新的資料 (X*, Y*),則使用新舊合併資料得的最適解 W* = W + ΔW 滿足
X' [f'(X W*)⊙(Y - f(X W*))] + X*' [f'(X* W*)⊙(Y* - f(X* W*))] = 0
與原計算最適 W 之方程式相減,為方便,令 U = [X' X*']', V = [Y' Y*']',則
U' [f'(U W*)⊙(V - f(U W*))] - U' [f'(U W)⊙(V - f(U W))]
= - X*' [f'(X* W)⊙(Y* - f(X* W))]
左邊涉及權量的變動及新舊全部資料,右邊是舊權量作用在新資料。左邊可以對 f 及 f' 分別做一階近似:
f(U W*) ≒ f(U W) + f'(U W) ⊙ U ΔW
f'(U W*) ≒ f'(U W) + f"(U W) ⊙ U ΔW
故
U' [f'(U W*)⊙(V - f(U W*))] - U' [f'(U W)⊙(V - f(U W))]
≒ U' [ f"(UW)⊙(V-f(UW)) - f'(UW)⊙f'(UW) ] ⊙ (U ΔW)
所以得方程式
U' [ f'(UW)⊙f'(UW) - f"(UW)⊙(V-f(UW)) ] ⊙ (U ΔW)
= X*' [f'(X* W)⊙(Y* - f(X* W))]
矩陣 f'(UW)⊙f'(UW) - f"(UW)⊙(V-f(UW)) 相當於前面的 u{ij},但用了舊和新全部資料及舊權量。考慮 W 及 ΔW 的第 j 行,則上列方程式相當於
H*j ΔW_j = X*' [f'(X* W_j)⊙(Y*_j - f(X* W_j))]
式中 Hj* 表示用全部資料對應的 Q(W) 在 W 舊值對應第 j 行的 Hessian 矩陣,因此
ΔW_j = Hj*^{-1} X*' [f'(X* W_j)⊙(Y*_j - f(X* W_j))]
與「邏輯斯迴歸與類神經網路」文中「逐筆學習」不同的是:除了不是用梯度下降法調整之外,這裡考慮的是整體殘差平方和,而不只考慮新資料之誤差平方和。
單一邏輯斯迴歸模型 θ_i = logit(p_i/(1-p_1)) 是諸二元反應資料 Y_i~Bernoulli(p_i) 表示成指數族時的自然參數,θ_i = x'_i β,總合 n 個觀測值,則 n 個自然參數構成的行向量 θ = Xβ 是線性關係,所以 β = (X'X)^{-1}X'θ 在 X'X 可逆時可唯一由自然參數決定,因此形成:
概似函數是自然參數的凹函數,自然參數是模型參數的線型函數,故概似函數是模型參數的凹函數。
所以對模型參數 β 可以由概似方程式得到,也就是說臨界點即為其解。但若模型不是單層,如類神經網路之有一層以上隱藏層呢?假設
Θ = Z B, Z = φ(X A)
假設各矩陣的階數是
Θ: n×p,X: n×k,A: k×q,Z: n×q,B: q×p
這是簡單情形,φ 只是一個單變數實數值函數,作用到一個矩陣 (XA) 的各元素,稍複雜情形是 (XA) 各行適用不同單變數實數值函數 φ_j。則 Θ = φ(X A)B,在 B 已知的情況, Θ 是A 的函數,但實際資料只有 (X, Y),所以 Z 似乎也應是參數之一。完整的統計模型是
E[ Y ] = μ = f(θ), Θ = Z B, Z = φ(X A)
不過縮減 Θ 與 A, B 的關係後可以把 Z 忽略,因此只須把 A, B 當做模型參數,Z 只是中間暫用變數而已。所以雙層模型縮減後成為
E[ Y ] = μ = f(θ), Θ = φ(X A) B
我們的疑問是: A, B 能否由 Θ 唯一決定?如果可以,它又能由概似方程式得到嗎?
二元反應的對數概似函數,以 Θ 為參數,是
l(Θ) = Σ_i Σ_j [y{ij}θ{ij} - ㏑(1+e^{θ{ij}))]
= Σ_i Σ_j [ y{ij} logit(p{ij}) + ㏑(1-p{ij})
其中第二式是以 E[Y{ij}] = p{ij} 來表示的,i = 1, ..., n 是樣本個案,即資料標籤;j = 1, ..., p 代表反應變數(假設二元反應),
p{ij} = 1/(1+e^{-θ{ij}}), θ{ij} = logit(p{ij}/(1-p{ij})
又,θ{ij} = Σ_s φ(Σ_r x{ir}α{rs})β{sj},所以用模型參數來表示的對數概似函數為
l(A,B) = Σ_i Σ_j [ y{ij} Σ_s φ(Σ_r x{ir}α{rs})β{sj}
- ㏑(1 + e^{Σ_s φ(Σ_r x{ir}α{rs})β{sj}}) ]
= Σ_i Σ_j [ y{ij} Σ_s φ(x'_i α_s) β{sj}
- ㏑(1 + e^{Σ_s φ(x'_i α_s) β{sj}) ]
= Σ_i Σ_j ( y{ij} Σ_s z{is}β{sj} - ㏑(1 + e^{Σ_s z{is}β{sj}} )
= Σ_i Σ_j [ (y{ij} z'_i β_j - ㏑(1 + e^{z'_i β_j}) ]
式中 x'_i 是 X 矩陣第 i 列,α_s 為 A 矩陣第 s 行; z'_i 是 Z 矩陣第 i 列,β_j 為 B 矩陣第 j 行。對 β_j 做一階及二階偏微,得
▽_j = Σ_i Σ_j [ (y{ij} - p{ij}) z_i = Z' (y{j}-p{j})
▽_j ▽'_j = Σ_i Σ_j (-1) p{ij}(1-p{ij}) z_i z'_i = - Z'[diag(f'(Z β_j))]Z
式中 y{j}, p{j} 分別是 Y 矩陣及其期望值 P 的第 j 行;二階微分式中 diag(vector) 是把向量元素當矩陣主對角線元素構成一個對角線矩陣,所以此二階偏導矩陣是非正確定,即負確定或負半定,故 β_j 以至矩陣 B 之 MLE 由概似方程式給定 ,即
Z'(Y - P) = 0
類似單層模型,只是 X 換成中間變數資料 Z。為得 Z = φ(X A),必須能估計 A 矩陣。由
l(A,B) = Σ_i Σ_j [ y{ij} Σ_s φ(x'_i α_s) β{sj}
- ㏑(1 + e^{Σ_s φ(x'_i α_s) β{sj}) ]
對 α_s 做偏微:
▽s l(A,B) = Σ_i Σ_j (y{ij} - p{ij}) φ'(x'_i α_s) x_i β{sj}
= Σ_i φ'(x'_i α_s) x_i Σ_j (y{ij} - p{ij}) β{sj}
= Σ_i φ'(x'_i α_s) x_i (y_i - p_i)' β{s}
= X' [φ'(X α_s) ⊙ (Y - P) β{s})]
式中 β{s} 為 B 之第 s 列轉置為行矩陣,⊙ 為同階矩陣對應元素相乘。對數概似函數對 α_s 的第二階偏微矩陣為
▽s ▽'s l(A,B) = Σ_i Σ_j [ (y{ij} - p{ij}) φ"(x'_i α_s) β{sj}
- p{ij}(1-p{ij}) (φ'(x'_i α_s) β{sj})^2 ] x_i x'_i
事實上 p{ij}(1-p{ij}) = dp{ij}/dθ{ij} = f'(θ{ij})。暫令 u{is} = x'_i α_s,所以 z{is} = φ(u{is}),在 φ 也是 logistic 曲線變換 φ(t) = 1/(1+e^{-t}) 的情形,
φ'(t) = φ(t)(1-φ(t)), φ"(t) = φ(t)(1-φ(t))(1-2φ(t))
所以
▽s ▽'s l(A,B) = Σ_i Σ_j [ (y{ij} - p{ij}) z{is}(1-z{is})(1-2z{is}) β{sj}
- p{ij}(1-p{ij}) z{is}^2 (1-z{is})^2 β{is}^2 ] x_i x'_i
= Σ_i Σ_j [ (y{ij} - p{ij}) (z{is} β{sj}) (1-z{is})(1-2z{is})
- p{ij}(1-p{ij}) (z{is}β{is})^2 (1-z{is})^2 ] x_i x'_i
最後一式中固定 i, j ,中括號內第二項恆正,第一項正負不定,兩項相減,如果是負值,則此二階偏導矩陣為非正確定,則 α_s 的 MLE 可由概似方程式求解。因此,整個模型的概似方程式可寫成
(φ(X A))' (Y - P) = 0 (Z' (Y - P) = 0 )
X' [φ'(X A) ⊙ (Y - P) B')] = 0
第一個矩陣方程式是關於 B 的,q×p 矩陣也就是 pq 個參數,方程式也有 pq 條;第二個矩陣方程式是關於 A 的,k×q 個未知參數,kq 條方程式。計算時在給定 A 的一組值之下利用第一組方程式解 B,再將其值代入第二組方程式解 A,再將此結果代回第一組方程式解 B,又回來計算 A,以此類推,至收斂理想或難以收斂時需要另尋他法。在分別解 A, B 時可以逐行以 N-R 迭代計算,因為要解的方程式是梯度向量為 0, 利用上面得到的第二階導數矩陣:
新值 = 舊值 - (▽▽')^{-1}(▽)
式中「新值」、「舊值」指 β_j 和 α_s,(▽) 是對應的梯度向量(方程式為 (▽) = 0), (▽▽') 為對應的二階偏導矩陣,即梯度轉置後各元素之梯度向量。
若原以用一批資料估計了參數,因某些原因另加一批新資料要對參數估計做修正,由單層邏輯斯曲線迴歸之 MLE 及最小平方誤差和的結果可知其簡單修正式為
修正量 = - (全資料二階偏導)^{-1} (新資料目標函數值)
如單層邏輯斯迴歸增加一筆資料
Δβ ≒ (X*' V* X*)^{-1} x* (y* - p*)
其中 X*' V* X 是第二階偏導矩陣正負變號結果。前面最小平方法增加一批新資料之
ΔW_j = Hj*^{-1} X*' [f'(X* W_j)⊙(Y*_j - f(X* W_j))]
其中要解的方程式是目標函數之梯度變換正負號,故 Hessian 矩陣前不加負號。
何以故?將形式簡化,目標是解向量方程式
Σ_i F(θ, x_i) = 0
而其轉置之梯度為 Σ_i F"(θ, x_i),迭代式為
θ + Δθ = θ - ( Σ_i F"(θ, x_i) )^{-1} Σ_i F(θ, x_i)
由原資料 x_1, ..., x_n 計算得 θ 值;今有新資料 x*,則其新解
Σ_i F(θ + Δθ, x_i) + F(θ + Δθ, x*) = 0
新舊兩等式相減得
Σ* (F(θ + Δθ, x_i) - F(θ, x_i)) = - F(θ, x*)
總和符號 Σ* 表示對新舊資料加總。左邊做線性近似得
Σ* F"(β, x_i) Δθ ≒ - F(θ, x*)
故得 Δθ ≒ - (Σ* F"(β, x_i))^{-1} F(θ, x*),如前所述。
假設二層網路模型是
網路結構用資料流向表示如下:
x_i → v' x_i → (z_i = φ(v' x_i) → w' z_i → (y_i ≒ f(w' z_i))
最小平方誤差和準則要極小化
Q(v, w) = (1/2) Σ_i || y_i - f(w' z_i) ||^2
得梯度
▽_{w_j} Q(v, w) = - Z' [f'(Z w_j)⊙(Y_j - f(Z w_j))]
▽_{v_s} Q(v, w) = - X' φ'(X v_s)⊙{[f'(Z w)⊙(Y - f(Z w))] w'{s}}
式中 w'{s} 是 w' 第 s 行也就是 w 之第 s 列轉置成行向量。類似 MLE,在決定 w 時假設 v 已知;而計算 v 時又用到 w。談類神經網路用倒傳遞法時是以一個學習係數乘以上列梯度的反向向量,如果目標函數對 w, v 的二階偏導是非負確定的,我們也可以用 N-R 迭代程序來求目標函數最小,畢竟梯度下降法只告訴我們循增加最快方向(梯度方向)是下降最快方向,卻不知道循此方向要走多遠。由於最後階段只是把單層模型的輸入替換成最後一層隱藏層的資料,此階段的權量 w 如同單層模型,前面已討論過,不再重複。對 v_s 做二階偏導太複雜,我們看對 v{rs} 及 v{r's} 的二階偏導。首先,
D{rs} Q(v, w) = - Σ_i Σ_j x{ir} φ'(x'_i v_s) w{sj} f'(z'_i w_j) (y{ij} - f(z'_i w_j))
故 D{r's}{rs} Q(v, w) 為
- Σ_i Σ_j x{ir} w{sj} D{r's} φ'(x'_i v_s) f'(z'_i w_j) (y{ij} - fz'_i w_j))
其中
D{r's} φ'(x'_i v_s) f'(z'_i w_j) (y{ij} - f(z'_i w_j))
= φ"(x'_i v_s) x{ir'}f'(z'_i w_j) (y{ij} - f(z'_i w_j))
+ φ'(x'_i v_s) f"(z'_i w_j) (D{r's} z'_i w_j) (y{ij} - f(z'_i w_j))
+ φ'(x'_i v_s) f'(z'_i w_j) (- f'(z'_i w_j)) (D{r's} z'_i w_j)
= φ"(x'_i v_s) x{ir'}f'(z'_i w_j) (y{ij} - f(z'_i w_j))
+ φ'(x'_i v_s) [f"(z'_i w_j) (y{ij} - f(z'_i w_j)) - (f'(z'_i w_j))^2] ×
(D{r's} z'_i w_j)
= φ"(x'_i v_s) x{ir'}f'(z'_i w_jj) (y{ij} - f(z'_i w_j))
+ φ'(x'_i v_s) [f"(z'_i w_j) (y{ij} - f(z'_i w_j)) - (f'(z'_i w_j))^2] ×
φ'(x'_i v_s) x{ir'}w{sj}
= φ"(x'_i v_s) x{ir'}f'(z'_i w_j) (y{ij} - f(z'_i w_j))
+ (φ'(x'_i v_s))^2 x{ir'}w{sj}[f"(z'_i w_j) (y{ij}-f(z'_i w_j)) - (f'(z'_i w_j))^2]
故得
D{r's}{rs} Q(v, w)
= -Σ_i x{ir}x{ir'}{φ"(x'_i v_s) Σ_j w{sj} f'(z'_i w_j) (y{ij} - f(z'_i w_j))
+ (φ'(x'_i v_s))^2 Σ_j (w{sj})^2 ×
[f"(z'_i w_jj)(y{ij}-f(z'_i w_j))
- (f'(z'_i w_j))^2]}
整個式子可以簡單表示成 -(x{r})Ds(x{r'},其中 x{r} 是 X 矩陣第 r 行,對角線矩陣 Ds 和 v_s 的 s 有關,而其元素值計算式如上式那複雜的一串算式。前面談過,
f"(z'_i w_j)(y{ij}-f(z'_i w_j)) - (f'(z'_i w_j))^2
很可能是負值,但不能保證;又有第一項的 φ"(x'_i v_s)(y{ij} - f(z'_i w_j) 也可能出現正值,因此 Ds 的元素有可能出現正值。即使如此,因出現負值可能性較大,
▽_{v_s} ▽'_{v_s} Q(v, w) = - X' Ds X
仍很可能是非負確定,若如此,則 v_s 或整個 v 都可以令梯度為 0 求解。
最小誤差平方和準則對模型參數(權量)的二階導數計算式太複雜,當然也可採數值微分的方法,不過在變數多時,第二階導數的數值微分其實也相對繁複;梯度下降法求極小(若求極大應該稱之為梯度上升法)的問題在於只知方向而不知該走多遠,通常只能精驗決定吧?如果是單變量函數求極值,或求其臨界點,倒可以用先任意取兩點,再依此兩點的表現來選擇下一點。在多變量的情形,或許可以考慮類似的方法?例如求 Q(w) 之最小,則可以考慮
(1) 取 w_0, 得梯度 T = ▽Q(w_0) 即 ▽Q(w) 在 w = w_0 的值,則 -T 是遞減最大的方向。循此方向找到
w_1 = w_0 - δ T
(2) 計算 T* = ▽Q(w_1), 並計算其方向導數 u = - T' T*/||T'||,若 u > 0 表示原來取的 δ 太大,u < 0 表示原來取的 δ 太小。
(3) 若 u = -|| T||,則 w_1 取代 w_0 回到 (1)。若 u ≒ 0 則看 ||T*|| 若夠小則以 w_1 為最適解,否則以 w_1 取代 w_0 回到 (1)。
(4) 以 w_0 為中心向 T 的反方向前行,如果 w_0 是接近最適點,則下一個近似最適點似乎應使 u ≒ 0, 因此取
δ(new) = δ * ||T||/(||T|| + u)
w_0(new) = w_0 - δ(new) T
新值取代舊值,回到 (1)。