- 没有逻辑回归之前,我们是怎么思考一个分类问题呢?
Gaussian distribution (高斯分布)
假设在一个平面直角坐标系上朝原点扔飞镖,投掷的结果会产生随机误差。我们假设对于误差只和距离有关,与方向无关。如图所示:
约定 P 是概率密度函数,落在 x 的概率为 P(x), 落在 y 的概率为 P(y)。则有落在 (x,y) 点的概率为 P(x)P(y). 该点距离原点距离为 r。 令 g(r) = P(x)P(y)。
由上可知:
- , 。
- g(r) 函数与 无关。
两边对 求导:
上式对任意的 x,y 均成立, 且 x,y 相互独立。所以该比值一定为定值。即:
已知 , 则必有 C 小于 0,上式改写为:
其中 k>0
令:
由统计学定义,连续性概率密度函数:
为奇函数,故均值为0,即 为 0 。则有:
利用分部积分法:
根据上式,令:
-
则有:
最终得到:
至此,我们就得到了一个均值为 (这里的均值为0),方差为 的正态概率分布函数,也就是一维的高斯分布。
LR 以及 Sigmod 函数的由来
通过上面我们已经知道了一维的高斯分布:
其中 ,
这里我们直接给出多维(D维)高斯分布,具体推导过程暂不推导:
此时的 是一个 D1 的向量,D 是维度数目,即特征向量。 是协方差矩阵,形状大小为 DD。
附图:
分类问题的解决思路
假设现在有 n 个样本,总共有两个类别:C1、C2。假设整体样本符合正态分布由极大似然估计:
对于 C1 类别则有:
求极大值,解出当前的,即可。
对于 C2类别则有:
求极大值,解出当前的,即可。
最终得到:
得到 C1、C2的高斯分布函数,我们就可以计算每个样本属于类别的概率。
当然这是最传统的解法,接下来我们换个角度来尝试解决问题。
由全概率公式,我们可以得到:
根据数据可以知道这里的, 为已知,且比值为定值。
令:
假设我们现在已经知道了 C1、C2的高斯分布函数,带入上式,进行运算:
这里不妨令
则上式可写作:
其中对于 运算结果为矩阵,记为 。对于 运算结果为常数,记作 b。
到这里我们突然发现,我们不用再去拟合 和 ,既然最终的结果只和 、 有关,那么直接对这两个变量进行拟合即可。也就是 LR 思想,拟合 、,然后使用 sigmoid 函数进行分类。
现在我们可以把上式写作:
这里有一点需要注意,在我们最开始令的时候,令 ,其实不难发现,如果令 ,区别就是最后计算结果、的位置互换了,并不会影响最终的运算结果 。
至此,根据推导方法不同我们得到
或者
上面两式虽然不同,但并不会影响最终的分类结果,只是一个相反的操作。当然原始的 LR 使用的是 ,对此我更愿意相信,这样我们得到的刚好就是 Sigmoid 函数,整个算法看起来更加的合理。(当然如果你使用另一个式子,依然可以达到和 LR一样效果,但不得不承认这样做的意义并不是很大)