出场率No.1的逻辑回归算法,是怎样“炼成”的?

0x00 前言
逻辑回归(Logistic Regression,LR) 。在Kaggle竞赛的统计中,LR算法以63.5%的出产率,荣获各领域中“出场率最高的算法”这一殊荣 。在实际场景中,逻辑回归同样应用广泛,大到国家各项经济政策的制定,小到计算广告CTR,都能看到LR算的身影 。
除了应用广泛外,LR的建模过程还体现了数据建模中很重要的思想: 对问题划分层次,并利用非线性变换和线性模型的组合,将未知的复杂问题分解为已知的简单问题。因此,我们可以说:理解好逻辑回归的细节,就掌握了数据建模的精髓 。
0x01 什么是逻辑回归1.1 线性回归能解决分类问题么?其实,线性回归是不能解决分类问题的 。因为我们在使用线性回归模型时,我们实际上做了3个假设(实际上有更多的假设,这里只讨论最基本的三个):

  • 因变量和自变量之间呈线性相关 。
  • 自变量与干扰项相互独立 。
  • 没被线性模型捕捉到的随机因素服从正态分布 。
从理论上来说,任何数据放在任何模型里都会得到相应的参数估计,进而通过模型对数据进行预测 。但是这并不一定能保证模型效果,有时会得到“错且无用”的模型,因此建模的过程中需要不断提出假设和检验假设 。
1.2 用逻辑回归解决分类问题【出场率No.1的逻辑回归算法,是怎样“炼成”的?】有些算法,表面上叫“XX回归”,背地里却是解决分类问题的 。
其原理是将 样本的特征 和 样本发生的概率 联系起来,即,预测的是样本发生的概率是多少 。由于概率是一个数,因此被叫做“逻辑回归” 。
在线性回归算法的例子中,我们进行房价预测得到的结果值,就是我们预测的房价,是一个数值 。
但是我们在逻辑回归算法中,得到的预测值是一个概率,然后在概率的基础上多做一步操作,得到分类的结果 。比如某银行使用逻辑回归做风控模型,先设置一个阈值0.5,如果得到它逾期的概率大于0.5,就不放款;否则就放款 。对于“放款” or “不放款”来说,实际上是一个标准的分类问题 。
通过这个小例子我们可以看到,在回归问题上再多做一步,就可以作为分类算法来使用了 。逻辑回归只能解决二分类问题,如果是多分类问题,LR本身是不支持的 。
对于线性回归来说,通过传递的自变量x来计算预测值: 。其中实际上就是参数与样本的矩阵相乘,。那我们可不可以找到一组参数,与特征矩阵相乘,直接得到表示概率的结果呢?
单单从应用的角度来说,是可以的,但是并不好 。这是因为 线性回归得到值是没有限制的,值域从负无穷到正无穷的值 。而对于概率来说,其值域为[0,1],是有限制的 。如果直接使用线性回归得到的结果,使得最终拟合的结果可信程度较差 。
那么下面我们就看一看,逻辑回归背后的数学原理 。
0x02 LR算法数学推导2.1 决策背后的博弈逻辑回归使用什么样的方式来得到一个事件发生的概率值的呢?分类的背后又是什么呢?
以银行理财产品营销场景为例,对于银行来说,客户只有“买”和“不买”两种行为,但是这个行为实际上是客户在接到营销行为,如电话营销、短信营销之后,经过内心博弈产生的最终结果 。
客户为什么会做出“买”或“不买”这样的被分类的行为?如果客户手里有一笔暂时不会动用的闲钱,且他希望能够通过投资行为获利,并且对盈利效果表示认可,则客户会考虑购买理财产品 。但是反过来,如果客户没有钱,或者他有其他更好的投资渠道,或者厌恶投资风险,那么客户就不会购买 。从经济学的角度来说,购买理财产品这一行为,既能给客户带来正效用,也能给客户带来负效用 。当客户主观认为正效用大于负效用时,可就是购买行为带来的整体效用大于0时,客户就会购买,反之则不然。
2.2 博弈中的隐含变量那么我们从数学角度出发,分析上述场景:假设有自变量集合,这些参数表示这种特征,决定购买行为对客户的效用,包括正效用和负效用 。我们将客户的购买行为记为y,其中y=1表示客户购买理财产品;y=0表示客户没有购买 。于是可以得到下面的公式:
如果,我们 假设正负效用函数与自变量特征参数成线性相关 ,则根据可以得出: 。其中是相互独立的随机变量,且都服从正态分布 。
在得到正负效用线性函数之后,就可以 用正效用减去负效用的解是否大于0作为分类依据  。令,则可以得到: 。如果我们将其转换为分类问题,则可以得到阶梯函数如下:


推荐阅读