2 min read

吴恩达《机器学习导论》:牛顿方法

复习回顾

逻辑回归核心公式

逻辑回归的假设函数: $$P(y=1|x;\theta)=h_{\theta}(x) = \frac{1}{1+e^{-\theta^Tx}}$$

注意: 这里的$h_{\theta}(x) = \frac{1}{1+e^{-\theta^Tx}}$是sigmoid函数,而不是线性回归的hθ(x) = θTx

损失函数

逻辑回归的对数似然函数: ℓ(θ) = ∑iy(i)log (hθ(x)) + (1−y(i))log (1−hθ(x))

梯度上升公式

通过最大化似然函数得到的参数更新公式: θj := θj + α(yihθ(x))x(i)

牛顿法

$$f^{\prime}(\theta^{(0)}) = \frac{f(\theta^{(0)})}{\theta^{(0)}-\theta^{(1)}} =\frac{f(\theta^{(0)})}{\Delta}$$

得到$\Delta = \frac{f(\theta^{(0)})}{f^{\prime}(\theta^{(0)})}$。 因此得到, $\theta^{(1)} = \theta^{(0)} - \frac{f(\theta^{(0)})}{f^{\prime}(\theta^{(0)})}$ 。 因此得到, $\theta^{(t+1)} = \theta^{(t)} - \frac{f(\theta^{(0)})}{f^{\prime}(\theta^{(0)})}$ 。 这是一个找θ的方法啊,哈哈。

所以,如果我们要ℓ(θ)(θ) = 0 所以, $\theta^{(t+1)} = \theta^{(t)} - \frac{f^{\prime}(\theta^{(0)})}{f^{\prime\prime}(\theta^{(0)})}$

所以没有什么α,又少了一个参数!

收敛速度会很快。所以不用梯度下降的原因。 也就是说几百个特征向量,十几次迭代就够了。 对于θ实际上是一个向量,因此 θ(t+1) = θ(t) − H−1θ 其中H−1是Hessian矩阵,$H^{-1} = \frac{\partial^{2}\ell}{\partial\theta_i\partial\theta_j}$ 。 这里的H−1 ∈ Rn × nn是特征数量,因此如果特征数量少的话,一次迭代的时间少。

广义线性模型(GLM)

基本假设

广义线性模型基于以下假设:

  1. y|x; θ ∼ ℰ𝓍𝓅ℱ𝒶𝓂𝒾𝓁𝓎(η) - 响应变量服从指数族分布
  2. 给定x,目标是输出E[y|x],希望hθ(x) = E[T(y)|x],通常T(y) = y
  3. η = θTX,即ηi = θiTX,通常η是实数

分布类型对应

  • y ∈ R: 高斯分布 → 线性回归
  • y ∈ {0, 1}: 伯努利分布 → 逻辑回归

逻辑回归的GLM推导

$$\begin{alignat}{2} h_{\theta}(x) & = E(y|x;\theta) = P(y=1|x;\theta) \\ & = \phi \\ & = \frac{1}{1 + e^{-\eta}} \\ & = \frac{1}{1 + e^{-\theta^{T}x}} \\ \end{alignat}$$

这里使用指数族分布来推导逻辑回归的适用性。

Softmax回归(多分类问题)

问题定义

假设y ∈ {1, ..., k},即多分类问题。 假设参数ϕ1, ..., ϕk满足: P(y=i) = ϕi 且满足概率归一化条件: ϕ1 + ⋯ + ϕk = 1

指示函数定义

定义指示向量: $$T(1) = \begin{bmatrix} 1 \\ 0 \\ \vdots \\ 0 \end{bmatrix}, T(2) = \begin{bmatrix} 0 \\ 1 \\ \vdots \\ 0 \end{bmatrix}, T(k-1) = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 1 \end{bmatrix}, T(k) = \begin{bmatrix} 0 \\ 0 \\ \vdots \\ 0 \end{bmatrix}$$

定义指示函数: ℐ{True} = 1, ℐ{False} = 0 → ℐ{y = i} = 1

因此: T(y)i = ℐ{y = i}

概率分布

$$\begin{alignat}{2} P(y) & = \phi_1^{\mathcal I\{y = 1\}}\cdot \phi_2^{\mathcal I\{y = 2\}}\cdots \phi_k^{\mathcal I\{y = k\}} \\ & = \phi_1^{\mathcal I\{y = 1\}}\cdot \phi_2^{\mathcal I\{y = 2\}}\cdots \phi_k^{\mathcal I\{y = k-1\}}\cdot \phi_k^{1-\sum_{i=1}^{k-1}\mathcal I\{y = i\}} \end{alignat}$$

Softmax函数推导

最终推导出softmax函数: $$\phi_i = \frac{e^{\theta_i^Tx}}{1+\sum_{j=1}^{k-1}e^{\theta_j^Tx}} \quad (i=1,...,k-1)$$ $$\phi_k = \frac{1}{1+\sum_{j=1}^{k-1}e^{\theta_j^Tx}}$$

验证概率归一化: $$\begin{alignat}{2} \phi_1 + \cdots + \phi_{k-1} + \phi_k & = \frac{\sum_{h=1}^{k-1}e^{\theta_h^Tx}}{1+\sum_{j=1}^{k-1}e^{\theta_j^Tx}} + \frac{1}{1+\sum_{j=1}^{k-1}e^{\theta_j^Tx}} \\ & = 1 \end{alignat}$$