逻辑回归理解及公式推导

逻辑回归(logistic-regression)

逻辑回归:个人理解就是一个线性回归经过阶跃函数的处理,变成一个二项分类器,输出结果只能是0,1的条件概率的大小,其实是一种概率模型。

sigmoid函数:是一种阶跃函数(step function),在不同横坐标尺度下,可以从0瞬间跳到1。从图形可以发现,当x>0,sigmoid函数值无限接近于1,反之接近于0。函数形式如下:

逻辑回归理解及公式推导_第1张图片
image

逻辑回归可以看成,在参数对已知的条件下比较,概率大小,并选择较大的概率作为分类结果。

核心在于:

逻辑回归的公式-->
用已知的数据集和训练样本来训练这个模型,从而做到对未知的测试样本进行准确的估计和预测。所以需要对上述公式进行参数估计,求出的值

参数估计:

  • 损失函数:
    • 线性回归-->最小二乘法
    • 逻辑回归-->最大似然法

最大似然估计(Maximum Likelihood Estimation)

总体为连续型,概率密度为,是待估计参数,是可能取值的范围,是来自的样本,联合密度为
随机点落在点邻域内的概率近似为
这是一个关于的函数,值随变化,取估计值使得概率达到最大,由于因子不随 变化,所以只考虑函数
的最大值,把称为样本的似然函数,若则把作为的最大似然估计值,称为的最大似然估计量。

求最大似然估计的步骤:

  • 写出分布律或者概率密度函数或者

  • 写出似然函数

  • 对似然函数中的参数求偏导数

对于最大似然估计法:已经取到样本值,表明取到这一样本值的概率比较大,所以不会考虑那些不能使样本出现的作为的估计,通过固定样本观察值,在可能取值范围内挑选使得似然函数达到最大的参数作为估计值。

逻辑回归的损失函数

当事件结果就只有2个标签时,,把事件发生的概率看作,那么标签1的概率为

同理,标签0的概率为
所以这个事件发生的概率可以写成

为了方便计算,也可以等价于:
这个函数的含义是,在对于一个样本,标签是对应的概率是,而对于一组数据,其样本概率为
可以通过取对数,来简化计算,此外是一个只包含一个未知数的函数:

式子是关于的一个函数,,可以通过改变的值来改变总概率的大小。所以要使得概率最大,只要选择一个使得概率最大即可。这种方法就是最大似然估计。

所以现在的问题从概率问题转化成了参数估计问题,以及一个求最优化的问题。用数学语言描述就是:

通常是采用梯度下降和拟牛顿法来解决这类问题。

梯度

关于梯度,对一个多维向量来讲,它的梯度就是分别对它每个分量求导数

推导过程

把作为代价函数,梯度下降法的一般公式是:
已知

连立两式,求分别求导数可以得到解析式,对用链式法则求导推导如下:
\begin{aligned} p'&=-\frac{1}{(1+e^{-\omega^{T}x})^2}\cdot(1+e^{-\omega^{T}x})'\\ &=-\frac{1}{(1+e^{-\omega^{T}x})^2}\cdot e^{-\omega^{T}x}\cdot(-\omega^{T}x)'\\ &=-\frac{1}{(1+e^{-\omega^{T}x})^2}\cdot e^{-\omega^{T}x}\cdot(-x)\\ &=\frac{1}{1+e^{-\omega^{T}x}}\cdot \frac{e^{-\omega^{T}x}}{1+e^{-\omega^{T}x}}\cdot x\\ \end{aligned}
把代入上式可以得到,同理,之后可以对求梯度,在求梯度前,需要知道几个结论可以在这里查看:

\begin{aligned} \nabla F(\omega)'&=\nabla(\sum_{n=1}^N(y_{n}ln(p)+(1-y_{n})ln(1-p)))\\ &=\sum(y_{n}ln'(p)+(1-y_{n})ln'(1-p))\\ &=\sum((y_n\frac1{p}p')+(1-y_n)\frac1{1-p}(1-p))'\\ &=\sum((y_n(1-p)x_n-(1-y_n)px_n)\\ &=\sum_{n=1}^{N}(y_n-p)x_n\\ \end{aligned}
所以最终得到的梯度为:

之前已经知道,求解参数的方法一般采用梯度下降法,在获得梯度之后,由于这边是求能让概率最大的,那么选择梯度上升算法。迭代步骤为:
展开后等于:

随机梯度下降

梯度下降求导每次都用了所有样本点参与梯度计算,随机梯度下降的做法则是随机算则一个样本点来代表整体,使得,所以迭代过程为:
而也都是常数,所以:

需要补充的数学知识:

  • 复合函数求导-->链式法则
  • 最大似然估计
  • 期望和无偏估计

小结

对于逻辑回归而言,其实际就是一个函数套上一个回归模型,对于输入有输出,所以只需要对其中的参数进行估计即可,对于参数估计问题,涉及到代价函数,而逻辑回归的代价函数可以用最大似然估计得到。因为从概率的角度来讲,对于已知的样本,通常认为在某一参数下取到这些样本的概率一定是比较大的,所以可以通过挑选参数集合中最大的参数取值来使得估计概率最大。最后可以采用梯度下降法,为了提高效率也可以使用随机梯度下降来求参数,因为这里是求最大值,只需要将梯度方向符号改为+即可。

参考阅读:

  1. 逻辑回归原理小结.刘建平
  2. 《概率论与数理统计》.盛骤
  3. 《机器学习》.周志华
  4. 逻辑回归公式推导
  5. 关于文中公式排版以及输入

你可能感兴趣的:(逻辑回归理解及公式推导)