复习回顾
逻辑回归核心公式
逻辑回归的假设函数: $$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_{\theta}(x)=\theta^Tx$。
损失函数
逻辑回归的对数似然函数: $$\ell(\theta) = \sum_{i}y^{(i)}\log(h_{\theta}(x)) + (1-y^{(i)})\log(1-h_{\theta}(x))$$
梯度上升公式
通过最大化似然函数得到的参数更新公式: $$\theta_j:=\theta_j + \alpha (y^{i}-h_{\theta}(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)})}$ 。 这是一个找$\theta$的方法啊,哈哈。
所以,如果我们要$\ell(\theta)最小,要求\ell^{\prime}(\theta)=0$ 所以, $\theta^{(t+1)} = \theta^{(t)} - \frac{f^{\prime}(\theta^{(0)})}{f^{\prime\prime}(\theta^{(0)})}$ 。
所以没有什么$\alpha$,又少了一个参数!
收敛速度会很快。所以不用梯度下降的原因。 也就是说几百个特征向量,十几次迭代就够了。 对于$\theta$实际上是一个向量,因此 $\theta^{(t+1)} = \theta^{(t)} - H^{-1}\nabla_{\theta}\ell$ 其中$H^{-1}$是Hessian矩阵,$H^{-1} = \frac{\partial^{2}\ell}{\partial\theta_i\partial\theta_j}$ 。 这里的$H^{-1} \in R^{n \times n}$,$n$是特征数量,因此如果特征数量少的话,一次迭代的时间少。
广义线性模型(GLM)
基本假设
广义线性模型基于以下假设:
- $y|x;\theta \sim \mathcal{ExpFamily}(\eta)$ - 响应变量服从指数族分布
- 给定$x$,目标是输出$E[y|x]$,希望$h_{\theta}(x)=E[T(y)|x]$,通常$T(y) = y$
- $\eta = \theta^{T}X$,即$\eta_i = \theta_i^{T}X$,通常$\eta$是实数
分布类型对应
- $y \in R$: 高斯分布 → 线性回归
- $y \in {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 \in {1,…,k}$,即多分类问题。 假设参数$\phi_1,…,\phi_k$满足: $$P(y = i) = \phi_i$$ 且满足概率归一化条件: $$\phi_1+\cdots +\phi_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}$$
定义指示函数: $$\mathcal I{True} =1,\mathcal I{False} =0 \to \mathcal I{y = i} =1$$
因此: $$T(y)_i = \mathcal 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}$$