逻辑回归问题的通俗几何描述
逻辑回归处理的是分类问题。我们可以用通俗的几何语言重新表述它: 空间中有两群点,一群是圆点“〇”,一群是叉点“X”。我们希望从空间中选出一个分离边界,将这两群点分开。
注:分离边界的维数与空间的维数相关。如果是二维平面,分离边界就是一条线(一维)。如果是三维空间,分离边界就是一个空间中的面(二维)。如果是一维直线,分离边界就是直线上的某一点。不同维数的空间的理解下文将有专门的论述。
为了简化处理和方便表述,我们做以下4个约定:
表示。
于是,现在的问题就变成了:怎么依靠现有这些点的坐标
和标签(y),找出分界线的方程。
“
如何用解析几何的知识找到逻辑回归问题的分界线?
假设这个常量为\theta _{0} ,p’向量的横纵坐标为(\theta _{1},\theta _{2}) 。空间中任何一个点x(X_{1},X_{2}) 到p’的投影就是\theta _{1}X_{1}+\theta _{2}X_{2} ,再加上前面的常量值就是:
看到上面的式子有没有感到很熟悉?这不就是逻辑回归函数
中括号里面的部分吗?
令
就可以根据z的正负号来判断点x的类别了。
从概率角度理解z的含义。
由以上步骤,我们由点x的坐标得到了一个新的特征z,那么:
z的现实意义是什么呢?
首先,我们知道,z可正可负可为零。而且,z的变化范围可以一直到正负无穷大。
z如果大于0,则点x属于y=1的类别。而且z的值越大,说明它距离分界线的距离越大,更可能属于y=1类。
那可否把z理解成点x属于y=1类的概率P(y=1|x) (下文简写成P)呢?显然不够理想,因为概率的范围是0到1的。
但是我们可以将概率P稍稍改造一下:令Q=P/(1-P),期望用Q作为z的现实意义。我们发现,当P的在区间[0,1]变化时,Q在[0,+∞)区间单调递增。函数图像如下(以下图像可以直接在度娘中搜“x/(1-x)”,超快):
但是Q的变化率在[0,+∞)还不够,我们是希望能在(-∞,+∞)区间变化的。而且在P=1/2的时候刚好是0。这样才有足够的解释力。
注:因为P=1/2说明该点属于两个类别的可能性相当,也就是说这个点恰好在分界面上,那它在法向量的投影自然就是0了。
而在P=1/2时,Q=1,距离Q=0还有一段距离。那怎么通过一个函数变换然它等于0呢?有一个天然的函数log,刚好满足这个要求。 于是我们做变换R=log(Q)=log(P/(1-P)),期望用R作为z的现实意义。画出它的函数图像如图:
这个函数在区间[0,1]中可正可负可为零,单调地在(-∞,+∞)变化,而且1/2刚好就是唯一的0值!基本完美满足我们的要求。 回到我们本章最初的问题,
“我们由点x的坐标得到了一个新的特征z,那么z的具体意义是什么呢?”
由此,我们就可以将z理解成x属于y=1类的概率P经过某种变换后对应的值。也就是说,z= log(P/(1-P))。反过来就是P=
。图像如下:
这两个函数log(P/(1-P)) 、
看起来熟不熟悉?
这就是传说中的logit函数和sigmoid函数!
小小补充一下:
于是,我们不光得到了z的现实意义,还得到了z映射到概率P的拟合方程:
有了概率P,我们顺便就可以拿拟合方程P=
来判断点x所属的分类:
当P>=1/2的时候,就判断点x属于y=1的类别;当P<1/2,就判断点x属于y=0的类别。
“
构造代价函数求出参数的值
到目前为止我们就有两个判断某点所属分类的办法,一个是判断z是否大于0,一个是判断g(z)是否大于1/2。 然而这并没有什么X用,
以上的分析都是基于“假设我们已经找到了这条线”的前提得到的,但是最关键的
三个参数仍未找到有效的办法求出来。
还有没有其他的性质可供我们利用来求出参数
的值?
就是我们希望的最优解。
由此可见,设计一个好的代价函数,将是我们处理好分类问题的关键。而且不同的代价函数,可能会有不同的结果。因此更需要我们将代价函数设计得解释性强,有现实针对性。
为了衡量“预估结果和实际结果的差距”,我们首先要确定“预估结果”和“实际结果”是什么。
接下来是衡量两个结果的“差距”。
代价函数确定了,接下来的问题就是机械计算的工作了。常见的方法是用梯度下降法。于是,我们的平面线形可分的问题就可以说是解决了。
“
从几何变换的角度重新梳理我们刚才的推理过程。
回顾我们的推理过程,我们其实是在不断地将点
进行几何坐标变换的过程。
通过线性投影映射到一维直线中,成为点x(z)
“
对于简单的非线性可分的问题。
到原点的距离为
,就可以根据z的正负号来判断点x的类别了
,就可以继续依靠我们之前的逻辑回归的方法来处理和解释问题了。
通过某种方式映射到一维直线中,成为点x(z)
“
从特征处理的角度重新梳理我们刚才的分析过程
其实,做数据挖掘的过程,也可以理解成做特征处理的过程。我们典型的数据挖掘算法,也就是将一些成熟的特征处理过程给固定化的结果。
对于逻辑回归所处理的分类问题,我们已有的特征是这些点的坐标
,我们的目标就是判断这些点所属的分类y=0还是y=1。那么最理想的想法就是希望对坐标
进行某种函数运算,得到一个(或者一些)新的特征z,基于这个特征z是否大于0来判断该样本所属的分类。
对我们上一节非线性可分问题的推理过程进行进一步抽象,我们的思路其实是:
的坐标通过某种函数运算,得到一个新的类似逻辑发生比的特征,
。
,如果这是最小值,相应的参数(r)就是我们所需要的理想值。
“
对于复杂的非线性可分的问题
由以上分析可知。比较关键的是第一步,如何设计转换函数
。我们现在开始考虑分离边界是一个极端不规则的曲线的情况。
我们仍用逆推法的思路:
的坐标通过某种函数运算,得到一个新的特征
。并假设z是某种程度的逻辑发生比,通过其是否大于0来判断样本所属分类。
,如果这是最小值,相应的参数
就是我们所需要的理想值。相应的,分离边界其实就是方程
=0,也就是逻辑发生比为0的情况嘛。
“
多维逻辑回归的问题
以上考虑的问题都是基于在二维平面内进行分类的情况。其实,对于高维度情况的分类也类似。
高维空间的样本,其区别也只是特征坐标更多,比如四维空间的点x的坐标为
。但直接运用上文特征处理的视角来分析,不过是对坐标
进行参数更多的函数运算得到新的特征
。并假设z是某种程度的逻辑发生比,通过其是否大于0来判断样本所属分类。
而且,如果是高维线性可分的情况,则可以有更近直观的理解。
“
多分类逻辑回归的问题
以上考虑的问题都是二分类的问题,基本就是做判断题。但是对于多分类的问题,也就是做选择题,怎么用逻辑回归处理呢?
其基本思路也是二分类,做判断题。
比如你要做一个三选一的问题,有ABC三个选项。首先找到A与BUC(”U”是并集符号)的分离边界。然后再找B与AUC的分离边界,C与AUB的分离边界。
这样就能分别得到属于A、B、C三类的概率,综合比较,就能得出概率最大的那一类了。
“
总结
本文的分析思路——逆推法
画图,观察数据,看出(猜出)规律,假设规律存在,用数学表达该规律,求出相应数学表达式。 该思路比较典型,是数据挖掘过程中的常见思路。
两个视角:几何变换的视角与特征处理的视角。