码迷,mamicode.com
首页 > 其他好文 > 详细

Logistic Regression

时间:2019-07-20 09:23:02      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:least   esc   asi   play   比较   约束   mat   规模   模型   

Logistic Regression

模型介绍

? 逻辑回归作为一个判别模型,其形式如下:
\[ 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

? 在二范数下,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\)

Iteratively reweighted least square

? 当使用牛顿法解\(\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名字的由来。算法流程如下:

  1. 初始化\(\mathbf w\)
  2. 根据\(\eqref{2}\)计算更新\(\mathbf w\)
  3. 迭代至收敛

Quasi-Newton methods

? 牛顿方法由于涉及矩阵逆运算,

Logistic Regression

标签:least   esc   asi   play   比较   约束   mat   规模   模型   

原文地址:https://www.cnblogs.com/DemonHunter/p/11216288.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!