复习回顾
逻辑回归核心公式
逻辑回归的假设函数: \[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}\]