发生在 LR 之前的故事

  • 没有逻辑回归之前,我们是怎么思考一个分类问题呢?

Gaussian distribution (高斯分布)

假设在一个平面直角坐标系上朝原点扔飞镖,投掷的结果会产生随机误差。我们假设对于误差只和距离有关,与方向无关。如图所示:


image.png

约定 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。
附图:

image.png

分类问题的解决思路

假设现在有 n 个样本,总共有两个类别:C1、C2。假设整体样本符合正态分布由极大似然估计:

对于 C1 类别则有:

求极大值,解出当前的,即可。
对于 C2类别则有:

求极大值,解出当前的,即可。
最终得到:


得到 C1、C2的高斯分布函数,我们就可以计算每个样本属于类别的概率。

当然这是最传统的解法,接下来我们换个角度来尝试解决问题。
由全概率公式,我们可以得到:


根据数据可以知道这里的, 为已知,且比值为定值。
令:


假设我们现在已经知道了 C1、C2的高斯分布函数,带入上式,进行运算:
lnz(x) = ln{\frac{\frac{1}{(2\pi)^{\frac{D}{2}}}*\frac{1}{|{\sum}_{2}|^{\frac{1}{2}}}e^{[-\frac{1}{2}(x-\mu_{2})^{T}\sum_{2}^{-1}(x-\mu_{2})]}}{\frac{1}{(2\pi)^{\frac{D}{2}}}*\frac{1}{|{\sum}_{1}|^{\frac{1}{2}}}e^{[-\frac{1}{2}(x-\mu_{1})^{T}\sum_{1}^{-1}(x-\mu_{1})]}}}+ln{\frac{P(C_{2})}{P(C_{1})}}

lnz(x) = ln{\frac{|{\sum}_{1}|^{\frac{1}{2}}}{|{\sum}_{2}|^{\frac{1}{2}}}} e^{\{[-\frac{1}{2}(x-\mu_{2})^{T}\sum_{2}^{-1}(x-\mu_{2})]-[-\frac{1}{2}(x-\mu_{1})^{T}\sum_{1}^{-1}(x-\mu_{1})]\}}+ln{\frac{P(C_{2})}{P(C_{1})}}

lnz(x) = ln{\frac{|{\sum}_{1}|^{\frac{1}{2}}}{|{\sum}_{2}|^{\frac{1}{2}}}} +[-\frac{1}{2}(x-\mu_{2})^{T}{\sum}_{2}^{-1}(x-\mu_{2})]-[-\frac{1}{2}(x-\mu_{1})^{T}{\sum}_{1}^{-1}(x-\mu_{1})]+ln{\frac{P(C_{2})}{P(C_{1})}}

lnz(x) = ln{\frac{|{\sum}_{1}|^{\frac{1}{2}}}{|{\sum}_{2}|^{\frac{1}{2}}}} -\frac{1}{2}x^{T}{\sum}_{2}^{-1}x+\mu_{2}^{T}{\sum}_{2}^{-1}x-\frac{1}{2}\mu_{2}^{T}{\sum}_{2}^{-1}\mu_{2}+\frac{1}{2}x^{T}{\sum}_{1}^{-1}x-\mu_{1}^{T}{\sum}_{1}^{-1}x+\frac{1}{2}\mu_{1}^{T}{\sum}_{1}^{-1}\mu_{1}+ln{\frac{P(C_{2})}{P(C_{1})}}
这里不妨令
则上式可写作:

其中对于 运算结果为矩阵,记为 。对于 运算结果为常数,记作 b。

到这里我们突然发现,我们不用再去拟合 和 ,既然最终的结果只和 、 有关,那么直接对这两个变量进行拟合即可。也就是 LR 思想,拟合 、,然后使用 sigmoid 函数进行分类。

现在我们可以把上式写作:


这里有一点需要注意,在我们最开始令的时候,令 ,其实不难发现,如果令 ,区别就是最后计算结果、的位置互换了,并不会影响最终的运算结果 。

至此,根据推导方法不同我们得到

或者

上面两式虽然不同,但并不会影响最终的分类结果,只是一个相反的操作。当然原始的 LR 使用的是 ,对此我更愿意相信,这样我们得到的刚好就是 Sigmoid 函数,整个算法看起来更加的合理。(当然如果你使用另一个式子,依然可以达到和 LR一样效果,但不得不承认这样做的意义并不是很大)

你可能感兴趣的:(发生在 LR 之前的故事)