【机器学习基础】逻辑回归——LogisticRegression (3)

【机器学习基础】逻辑回归——LogisticRegression

【机器学习基础】逻辑回归——LogisticRegression

  然后对两块复杂的地方进行求导:

【机器学习基础】逻辑回归——LogisticRegression

   然后再带入上面的式子中进行整理:

【机器学习基础】逻辑回归——LogisticRegression

  带上前面的加和,并带上负号,规范一下:

【机器学习基础】逻辑回归——LogisticRegression

  对b的求导也是一样的,不过在后面没有乘以x罢了,那么参数更新就是:

【机器学习基础】逻辑回归——LogisticRegression

  到这里是不是发现一个问题,仔细观察w的参数更新过程,对比Linear Regression的参数更新过程,可以看到参数的更新方程是一模一样的。

  那为什么在LR中不能直接用均方误差MSE作为损失函数呢?

  这里我们假设使用均方误差函数作为损失函数,那么损失函数为:

【机器学习基础】逻辑回归——LogisticRegression

   对w进行求导:

【机器学习基础】逻辑回归——LogisticRegression

  如果对于一个样本,该样本属于类别2,那么y=0,如果更新到一组参数w、b,计算得到fw,b(x)=1,那么此时预测该样本属于类别1,但带入梯度中发现此时梯度已经为0,参数将不再更新。

  就像是下面这张图:

【机器学习基础】逻辑回归——LogisticRegression

  均方误差损失函数对于分类问题在距离Loss最小的地方也会很平坦,此时很可能陷入鞍点,无法继续更新,导致最终误差很大。

4.生成模型与判别模型

  上面在从概率生成模型引入LR的过程中说到,虽然两者形式上是一样的,但其实还是有较大差别的。

  根据二者的推导过程我们可以看到,在概率生成模型中,我们通过求解出样本的分布参数作为训练过程,即概率生成模型首先估计样本是个什么样的分布,然后再对这个分布的参数进行估计,换句话说,假设    我们确定了样本所属的分布,那么这个分布里的数据都可以是训练数据,所多出来的数据并不影响最终的分布,相当于生成模型自己“脑补”生成出来了一些额外的数据,这种方式称之为生成模型。

  而LR则是通过梯度下降的方式,直接求解出参数,这种方式称之为判别模型,其始终按照真实数据进行训练。

  下面通过一个小例子来说明,假设有一组训练数据如下:

【机器学习基础】逻辑回归——LogisticRegression

  数据有两个维度,根据这样一组数据,对测试数据进行预测:

【机器学习基础】逻辑回归——LogisticRegression

  那么利用生成模型和判别模型分别预测的结果是什么呢?

  首先看生成模型,利用朴素贝叶斯进行计算:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zwjzyx.html