标签:least esc asi play 比较 约束 mat 规模 模型
? 逻辑回归作为一个判别模型,其形式如下:
\[
p(y=1\vert \mathbf x)=Ber\left(y\vert \text{sigm}\left(\mathbf w^T\mathbf x\right)\right)
\]
参数为\(\mathbf{w}\),假设\(y\in \left \{0,1\right \}\),得到NLL
\[
NLL=-\sum_{i=1}^Ny_i\log^{u_i}+(1-y_i)\log^{1-u_i}\tag{1}\label{1}
\]
? 与Linear Regression不同,极大化NLL得不到解析解,对上式求导得到梯度和Hession矩阵
\[
\begin{align*}
\mathbf{g}&=\sum_i^N\left(u_i-y_i\right)\mathbf x_i =X^T\left(\mathbf u -\mathbf y\right)\\mathbf{H}&=\sum_i^N u_i\left(1-u_i\right)\mathbf x_i\mathbf x_i^T=X^TSX
\end{align*}
\]
式中\(S=\text{diag}\left(u_i\left(1-u_i\right)\right)\),可以看出H为正定矩阵
? 对于无约束的凸优化问题\(\eqref{1}\),可以采用Steepest descent、Newton‘s method、Iteratively reweighted least square、Quasi-Newton‘s methods等方法求解
? 在二范数下,Steepest descent的下降方向为负梯度方向,即\(-\mathbf g\)(可查阅之前的凸优化章节)
\[
\mathbf w^{t+1} = \mathbf w^{t}-\eta\mathbf g
\]
\(\eta\)为学习率
牛顿方法是二阶方法,其求解步骤如下
- 设定初始点\(\mathbf x_0\)以及收敛条件\(\epsilon\)
- 计算\(\lambda(\mathbf x)\),并与收敛条件进行比较,但尚未收敛时执行以下步骤
- 计算\(\Delta\mathbf x_{st}=-\mathbf H^{-1}\mathbf g\),根据计算的步长\(\eta\),对参数\(\mathbf w\)进行更新
可以看出牛顿方法需要对矩阵进行求逆,因此即使\(\mathbf H\)可逆,当遇到大规模问题时,逆计算开销很大。后续的Quasi-Newton methods会对这方面进行优化,用一些方法得到近似的\(\mathbf H\)。
? 当使用牛顿法解\(\eqref{1}\)时,得到参数\(\mathbf w\)的迭代过程如下
\[
\begin{align*}
\mathbf w^{t+1} &=\mathbf w^{t}-\mathbf H^{-1}\mathbf g\&= \mathbf w^{t}-\left(X^TSX\right)^{-1}X^T\left(\mathbf u - \mathbf g\right)\&=\left(X^TSX\right)^{-1}\left[\left(X^TSX\right)\mathbf w-X^T\left(\mathbf u -\mathbf g\right)\right ]\& = \left(X^TSX\right)^{-1}X^T\left(SX\mathbf w-(\mathbf u -\mathbf y)\right)\& =\left(X^TSX\right)^{-1}X^TS z \tag{2}\label{2}
\end{align*}
\]
式中\(z=Xw-S^{-1}(\mathbf u-\mathbf y)\),结合线性回归的Normal Equation,可以发现上述\(\mathbf w^{t+1}\)的解析式是\(\sum_\limits{i}^NS_i\left(z_i-\mathbf w^T\mathbf x_i\right)^2\)的极小值。\(S_i\)可以被看为权重,在迭代\(\mathbf w\)时其会发生变化,这也是Iteratively reweignted least square名字的由来。算法流程如下:
- 初始化\(\mathbf w\)
- 根据\(\eqref{2}\)计算更新\(\mathbf w\)
- 迭代至收敛
? 牛顿方法由于涉及矩阵逆运算,
标签:least esc asi play 比较 约束 mat 规模 模型
原文地址:https://www.cnblogs.com/DemonHunter/p/11216288.html