1.0 逻辑回归的作用
用逻辑回归解决分类问题。其原理是将样本的特征和样本发生的概率联系起来,即预测的是样本发生的概率是多少。
逻辑回归算法中,得到的预测值是一个概率,然后在概率的基础上多做一步操作,得到分类的结果。比如某银行使用逻辑回归做风控模型,先设置一个阈值0.5,如果得到它逾期的概率大于0.5,就不放款;否则就放款。对于“放款” or “不放款”来说,实际上是一个标准的分类问题。函数形式为:

上例可以看出,在回归问题上再多做一步,就可以作为分类算法来使用了。逻辑回归只能解决二分类问题,如果是多分类问题,LR本身是不支持的。
2.0 逻辑回归的数学推导
2.1 引例
以银行理财产品营销场景为例,对于银行来说,客户只有“买”和“不买”两种行为,但是这个行为实际上是客户在接到营销行为,如电话营销、短信营销之后,经过内心博弈产生的最终结果。博弈过程可以看作是对k个方面进行综合考虑,博弈的结果就是购买产品的效用
,当
时,效用为正,客户就会购买产品,
时,则不会购买产品。这样就可以选定一组参数
和
,通过方程形式来描述整个博弈
,于是就有:

更进一步将上面的函数转变为求概率,即客户购买理财产品的概率如下:,其中,
是随机变量
的累积分布函数,
表示购买行为发生的概率。这个模型在学术上被称作是probit回归。
由此可见,对于一个分类问题,由于“窗口效用”,我们只能看见客户的购买行为,但是在分类的背后,是隐藏变量之间的博弈,我们通过搭建隐藏变量的模型,来求出客户购买的概率。
2.2 sigmoid函数与逻辑回归
在上一节得到了probit回归在数学上是比较完美的,但是正态分布的累积分布函数,其表达形式很复杂且没有解析表达式,因此直接在probit回归上做参数估计是比较困难的。于是可以通过寻找分布形式相近的函数做近似,就是sigmoid函数。
神奇的数学家们发现:正态分布在线性变换下保持稳定,而逻辑分布可以很好地近似正态分布。因此可以使用标准逻辑分布的累积分布函数来替换正态分布的累积分布函数
。

标准逻辑分布的概率密度函数为,对应的累积分布函数为
,对应的图像如下:

两种不同的效用函数(假定都满足线性回归模型的假设)相互竞争时,其中某一方最终胜出的概率分布在数学上可近似为sigmoid函数。通俗讲:sigmoid函数表述了某一方竞争胜出的概率。
于是。
2.3 逻辑回归的本质
“逻辑回归假设数据服从伯努利分布,通过极大似然函数的方法,运用梯度下降来求解参数,来达到将数据二分类的目的。”
因为线性回归模型的预测值为实数,而样本的类标记为(0,1),我们需要将分类任务的真实标记y与线性回归模型的预测值联系起来,也就是找到广义线性模型中的联系函数。如果选择单位阶跃函数的话,它是不连续的不可微。而如果选择sigmoid函数,它是连续的,而且能够将z转化为一个接近0或1的值。
3.0 逻辑回归的损失函数
对于任何类型的回归模型莱索,损失函数的构建思路都是相似的,都是求MSE的最小值。但由于逻辑回归的结果只有0和1的二维取值,因此无法直接给出MSE的计算公式。同时,逻辑回归实际给出的是概率值,因此可以用极大似然估计进行推导。
首先令,于是由于逻辑回归假设服从伯努利分布就有
由于不可能同时等于0和1,因此可将上面的式子合二为一:
根据极大似然估计,对于所有可得:
对上式两边取对数,可得:
我们希望极大似然越大越好,就是说对于给定样本数量m,希望越小越好,得到逻辑回归的损失函数如下(求平均):
(注:,配合
包含截距项的长度)
对于求损失函数的最小值,可以采用梯度下降法,就是对中各
求偏导。下面详细推导对某一个系数
的求导过程,由于
包含两个规则的加和项,可以分开进行求导。首先看
的求导:
采用链式求导法则,由内至外以此求导:
'
'
'
于是有'
......(1)
同理对中的
求偏导。依然采取由内至外法:
'
'
'
于是有'
......(2)
(1)+(2)可得,其中就是回归模型的预测值。
'
(注:这和多元线性回归推导出来的结果形式是一样的)
向量化后可得损失函数的梯度为:
在得到logit函数的损失函数及梯度后,就可以使用梯度下降法实现logit回归了。
