首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

五:逻辑回归

Sigmoid 美 ['sɪgmɔɪd] : S 形的Discriminative 美 [dɪ'skrɪməˌneɪtɪv] : 判别

本文是对李宏毅教授课程的笔记加上自己的理解重新组织,如有错误,感谢指出。视频及 PPT 原教程:https://pan.baidu.com/s/1brbb6rX 密码:ty1r

接着上篇的生成模型,我们进行下公式的变形,见证奇迹的发生!

问题的关键是求出 P( x C1) 和 P( x C2),我们对它们的分布做出假设,用贝叶斯或者高斯分布最终求出了 P( x C1) 和 P( x C2),从而解决了我们的问题。而在这里我们先对公式进行一下变形。

exp( -z ) 代表 e 的负 z 次方

最终的结果其实就是 S 型函数,即 Sigmoid function ,记为。

我们再来看一下 z 长什么样子。

为了方便推导,我们依旧假设 P( x C1) 、P( x C2) 符合高斯分布,并且

当然如果假设它是别的分布,最终依旧可以推导出同样的公式。

经过代入、合并、化简,它变成了下边的样子。

仔细观察,我们可以把 x 前边的系数记为一个向量 w , 而后边的一大串其实这是一个标量,一个常数项,我们记为 b 。

因为假设不同的分布最终都可以得到这个式子,所以我们如果对 w 和 b 直接求解,求得的 w 和 b 就可能是任何一种分布, 它可以是高斯分布,可以是贝叶斯,甚至是一些没有命名的分布。

而这个模型就是 LR ( Logistic Regression ),也是判别 ( Discriminative ) 模型的一种。虽然和生成模型经过变化长一个样子,但由于求参数方式的不同,最终的效果也不一样。

判别模型中我们直接求 w 和 b (当然是梯度下降的方式,后边我们进行推导),生成模型中我们先假设一种分布,然后再往出推导公式从而算出 w 和 b。

区别很容易理解,判别模型中我们直接求出 w 和 b ,此时代表的分布并不是确定的,可能是贝叶斯,可能是高斯或者其他。而生成模型开始假设什么分布它就是什么分布。

很明显,判别模型在大多数情况下会优于生成模型,因为生成模型需要人为的假设分布,一旦假设错了,它的 w 和 b 即使求的再正确,最终结果也不会太好。

生成模型就没有什么好处了吗? 当然是有的

如果我们的数据很少,而此时我们先假设一个分布再去求,最终效果肯定会比判别模型中盲目的求要好。

如果数据的噪音比较多,也就是很多错误的数据,如果我们开始假设了分布,这些噪声对模型不会造成太大的影响,这种情况下它更鲁棒 ( 稳定、健壮 ) 些。

说了这么多,那么我们如何求 w 和 b 呢?

下边进入我们熟悉的流程 Model Goodness of a Function Find the best function 。

Model

再强调一下,忘掉我们怎么推出的这个模型,它和高斯分布没什么关系,即使假设其他的分布依旧会推出下边这个模型。现在我们的重点是如果有了这个模型,怎么去求 w 和 b 。

阙值可以选 0.5 ,也可以选其他,具体看问题需要。换一种画法

Goodness of Function

看下我们的数据

此时我们的输出是 C1 、C2 ,首先我们得把它数值化,我们假设 C1 是 1,C2 是 0 。

有了这些数据,有了模型,我们先假设所有数据其实是从下边这个模型(LR)得到的。

记得线性回归中的 Loss function 怎么定义的吗?我们是不是也可以这样做呢?

很可惜,不可以,此时的 L 不是一个凸函数,局部最优值太多了,根本没法去梯度下降,所以我们得找其他的 Loss Function 。

这里我们假设原来的每一个数据是一个伯努利分布,也就是我们熟悉的两点分布。

我们假设这样一个事件,假设一个随机变量是 Y ,数据属于 C1 类记为成功,记做 Y = 1 ,如果不属于 C1 类记为失败,记做 Y = 0 。

这样的话,所有数据都可以统一为一个式子 , n 代表第几个数据:

而我们的模型算出的每个数据的概率,也可以统一为一个式子:

如何让分布 q 尽可能的接近分布 p 呢?让他们的交叉熵最小!交叉熵的概念可以看下知乎里的讨论。交叉熵的公式如下:

x 这里指的是 Y 的取值。

然后对于每一个数据的交叉熵是

我们再把所有的交叉熵求和,就是我们的 Loss Function 了。

我们再换种思路求 Loss Function , 即用最大似然估计的方法,也就是利用所有的数据,找到一组参数使得数据尽可能的符合模型。假设我们的分布如下

最大似然估计就是把每个样本带进去,然后乘起来,也就是

我们需要做的就是找到 w , b 使得这里的 likelihood 最大。

我们把 L 取一下自然对数,然后添一个负号,求最大变成求最小。

接下来进行化简,把 L 代入,ln 里的拿出来乘法变加法

神奇的第二个等号后边的变化是怎么回事呢?其实我们利用了数据

我们把,,代入就可以反推回第一个等号后边的式子了。

然后我们把式子合并就变成了下边这样

是的,你没有看错,我们得到了和之前用交叉熵推出的一样的公式!!!究竟是道德的沦丧?还是人性的缺失?让我们一起来走近科学。

Best Function

让我们看下对 wi 求偏导, b 就先不看了。

所以我们的 wi 的更新方式就是

有了参数的更新方式,下边就不用讲了吧,嘻嘻嘻。

与线性回归对比

神奇之处又来了,梯度下降参数更新的公式竟然一样!!!惊不惊喜?意不意外?

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180202G0OV7X00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券