Regression

使用牛頓法優化 OLS

  • March 16, 2021

普通最小二乘回歸可以用牛頓法求解嗎?如果是這樣,需要多少步驟才能實現收斂?

我知道牛頓的方法適用於兩次可微函數,我只是不確定這如何與 OLS 一起使用。

如果用於 OLS 回歸,牛頓法在一步內收斂,等效於對係數使用標準的封閉形式解。

在每次迭代中,Newton 方法基於梯度和 Hessian 構造圍繞當前參數的損失函數的二次逼近。然後通過最小化這個近似值來更新參數。對於二次損失函數(正如我們在 OLS 回歸中所做的那樣),近似值等同於損失函數本身,因此收斂發生在一個步驟中。

這假設我們使用的是牛頓方法的“香草”版本。一些變體使用受限步長,在這種情況下需要多個步長。它還假設設計矩陣具有滿秩。如果這不成立,則 Hessian 是不可逆的,因此在不修改問題和/或更新規則的情況下不能使用牛頓法(此外,在這種情況下沒有唯一的 OLS 解決方案)。

證明

假設設計矩陣 $ X \in \mathbb{R}^{n \times d} $ 有滿級。讓 $ y \in \mathbb{R}^n $ 成為響應,並且 $ w \in \mathbb{R}^d $ 是係數。損失函數為:

$$ L(w) = \frac{1}{2} |y - X w|_2^2 $$

梯度和 Hessian 是:

$$ \nabla L(w) = X^T X w - X^T y \quad \quad H_L(w) = X^T X $$

牛頓法將參數設置為初始猜測 $ w_0 $ ,然後迭代更新它們。讓 $ w_t $ 成為迭代的當前參數 $ t $ . 更新的參數 $ w_{t+1} $ 通過減去逆 Hessian 和梯度的乘積得到:

$$ w_{t+1} = w_t - H_L(w_t)^{-1} \nabla L(w_t) $$

插入梯度和 Hessian 的表達式:

$$ w_{t+1} = w_t - (X^T X)^{-1} (X^T X w_t - X^T y) $$

$$ = (X^T X)^{-1} X^T y $$

這是 OLS 係數的標準封閉式表達式。因此,無論我們為初始猜測選擇什麼 $ w_0 $ ,我們將有正確的解決方案 $ w_1 $ 單次迭代後。

此外,這是一個靜止點。請注意,表達式 $ w_{t+1} $ 不依賴於 $ w_t $ ,所以如果我們繼續超過一次迭代,解決方案不會改變。這表明牛頓法一步收斂。

引用自:https://stats.stackexchange.com/questions/514095

comments powered by Disqus