一、什么是逻辑回归
虽然名字是“回归”,但解决的是“分类”问题。
模型学习的是,即给定自变量和超参数后,得到因变量的期望,并基于此期望来处理预测分类问题。
前提:逻辑回归假设数据服从伯努利分布,通过极大似然估计的方法,是用梯度下降法求解参数,最终达到二分类的目的。
逻辑回归本质上是线性回归,只是在特征到结果的映射中加入了一层激活函数,即先把特征线性求和,然后使用函数作为假设函数来预测。可以将连续值映射到0 和1。为sigmoid function。
其中,真实标签为,特征向量在参数下的预测值为。
下图为sigmoid公式、图像,注意取值范围 (0,1):
下图为求导过程、导数图像注意取值范围 (0,0.25] :
二、逻辑回归求解0/1分类问题
模型学习的是,即给定自变量和超参数后,得到因变量的期望,并基于此期望来处理预测分类问题。
逻辑回归的假设:
1、数据服从伯努利分布
2、模型的输出值是样本为正的概率
面经:既然只需要得到0/1概率,为什么不使用简单的阶跃函数,而是使用sigmoid函数作为假设?
1、阶跃函数
使用阶跃函数将线性输出转化到[0,1]。
该分段函数是不连续、且不可导的。
2、sigmoid函数
连续且处处可导函数。
因为线性回归模型的预测值是一个实数,如果应用到0/1分类问题当中,就需要把线性回归模型的预测值和分类标签能够对应起来。
如果采用单位阶跃函数,是不连续且不可导的。(得到目标函数,没法对参数进行求导)
如果采用sigmoid函数,是连续且处处可导的。而且能够将线性输出转化到(0,1)区间。
三、求参数的方式
可以采用两种不同的角度:交叉熵/对数损失函数和极大似然估计。
二者本质上是等价的。损失函数的目标是最小化,似然函数则是最大化,二者仅相差一个符号。
1、交叉熵/对数损失函数
1)线性回归采用最小二乘法,基于MSE作为损失函数
可以直接求解析解或采用梯度下降法求解参数。
2)逻辑回归属于分类问题,需要依据先前算出来的概率来估计0/1类别
先前的假设2,输出的结果是正样本的概率。 由此根据不同类别,需要不同的损失函数。p越大说明y=1的概率越大,y=1的loss越小。使用log函数设计损失函数:
函数图像如下所示:
分为两段,使用起来不方便,将这两段进行合并,以下为单个样本的损失函数:
若数据集中有m个样本,则总体损失函数(也就是交叉熵损失函数)为:
目标就是找到一组,使得上面的最小。这个函数是凸函数,但是没有公式解,只能通过梯度下降法进行求解。
2、极大似然法估计参数
极大似然估计是一种参数估计的方法。已知某个事件已经发生,求导致该事件发生的概率最大的参数。
核心思想:找到参数 θ 的一个估计值,使得当前样本出现的可能性最大。即联合概率最大,需要写出联合概率密度函数,即似然函数,求似然函数最大时参数的值。
对于数据集,一共有m个样本。即令每个样本属于其真实标记的概率越大越好。
*极大似然估计基本步骤
1)写出似然函数(联合概率密度)
2)取对数(连乘符号变成连加符号,容易求导)
3)对参数求偏导数
有解则为所求的参数。
*极大似然估计具体求解过程
1)似然函数
2)log似然函数
3)极大似然函数求最优解
可以看到,极大似然估计求解的是最大值,而交叉熵损失函数(对数损失函数求解的是最小值)。二者本质上并无差别。