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