逻辑回归(logistic-regression)
逻辑回归:个人理解就是一个线性回归经过阶跃函数的处理,变成一个二项分类器,输出结果只能是0,1的条件概率的大小,其实是一种概率模型。
sigmoid函数:是一种阶跃函数(step function),在不同横坐标尺度下,可以从0瞬间跳到1。从图形可以发现,当x>0,sigmoid函数值无限接近于1,反之接近于0。函数形式如下:
逻辑回归可以看成,在参数对已知
的条件下比较
,
概率大小,并选择较大的概率作为分类结果。
核心在于:
逻辑回归的公式-->
用已知的数据集和训练样本来训练这个模型,从而做到对未知的测试样本进行准确的估计和预测。所以需要对上述公式进行参数估计,求出
的值
参数估计:
- 损失函数:
- 线性回归-->最小二乘法
- 逻辑回归-->最大似然法
最大似然估计(Maximum Likelihood Estimation)
总体为连续型,概率密度为
,
是待估计参数,
是
可能取值的范围,
是来自
的样本,联合密度为
随机点落在点
邻域内的概率近似为
这是一个关于的函数,值随
变化,取估计值
使得概率达到最大,由于因子
不随
变化,所以只考虑函数
的最大值,把
称为样本的似然函数,若
则把
作为
的最大似然估计值,称
为
的最大似然估计量。
求最大似然估计的步骤:
写出分布律或者概率密度函数
或者
写出似然函数
对似然函数中的参数
求偏导数
对于最大似然估计法:已经取到样本值,表明取到这一样本值的概率
比较大,所以不会考虑那些不能使样本
出现的
作为
的估计,通过固定样本观察值
,在
可能取值范围
内挑选使得似然函数
达到最大的参数
作为估计值。
逻辑回归的损失函数
当事件结果就只有2个标签时,,把事件发生的概率看作
,那么标签1的概率为
同理,标签0的概率为
所以这个事件发生的概率可以写成
为了方便计算,也可以等价于:
这个函数的含义是,在对于一个样本,标签是
对应的概率是
,而对于一组数据,其样本概率为
可以通过取对数,来简化计算,此外是一个只包含
一个未知数的函数:
式子是关于
的一个函数,
,可以通过改变
的值来改变总概率
的大小。所以要使得
概率最大,只要选择一个
使得概率最大即可。这种方法就是最大似然估计。
所以现在的问题从概率问题转化成了参数估计问题,以及一个求最优化的问题。用数学语言描述就是:
通常是采用梯度下降和拟牛顿法来解决这类问题。
梯度
关于梯度,对一个多维向量来讲,它的梯度就是分别对它每个分量求导数
推导过程
把作为代价函数,梯度下降法的一般公式是:
已知
连立两式,求分别求导数可以得到解析式,对用链式法则求导推导如下:
把代入上式可以得到
,同理
,之后可以对
求梯度,在求梯度前,需要知道几个结论
可以在这里查看:
所以最终得到的梯度为:
之前已经知道,求解参数的方法一般采用梯度下降法,在获得梯度之后,由于这边是求能让
概率最大的
,那么选择梯度上升算法。迭代步骤为:
展开后等于:
随机梯度下降
梯度下降求导每次都用了所有样本点参与梯度计算,随机梯度下降的做法则是随机算则一个样本点来代表整体,使得
,所以迭代过程为:
而也都是常数,所以:
需要补充的数学知识:
- 复合函数求导-->链式法则
- 最大似然估计
- 期望和无偏估计
小结
对于逻辑回归而言,其实际就是一个函数套上一个回归模型,对于输入
有输出
,所以只需要对其中的参数进行估计即可,对于参数估计问题,涉及到代价函数,而逻辑回归的代价函数可以用最大似然估计得到。因为从概率的角度来讲,对于已知的样本,通常认为在某一参数下取到这些样本的概率一定是比较大的,所以可以通过挑选参数集合中最大的参数取值来使得估计概率最大。最后可以采用梯度下降法,为了提高效率也可以使用随机梯度下降来求参数,因为这里是求最大值,只需要将梯度方向符号改为+即可。
参考阅读:
- 逻辑回归原理小结.刘建平
- 《概率论与数理统计》.盛骤
- 《机器学习》.周志华
- 逻辑回归公式推导
- 关于文中公式排版以及输入