美文网首页
逻辑回归与正则化

逻辑回归与正则化

作者: 放开那个BUG | 来源:发表于2018-08-23 11:47 被阅读336次

1、逻辑回归

其实逻辑回归是从线性回归演化而来的(逻辑回归虽然有回归两字,但其实是做分类任务)。就举吴恩达的肿瘤预测为例,假如肿瘤是这样分布的,横轴为肿瘤大小,纵轴为是否是肿瘤(0或1),那么将样本点画在图上


h_\theta(x) >= 0.5时,预测y = 1
h_\theta(x) >= 0.5时,预测y = 1
这里有一点我要讲明白,根据函数图像,为1的点几乎都在函数图形上方,为0的点几乎都在线下方。h_\theta(x) >= 0.5时,预测y = 1指的是点向x轴做垂线与图像相交的地方大于0.5为1,其他的一样。
上面这种看上去不错,但如果有一个异常点的肿瘤大小特别大(所以建模时去除异常点多重要),那么影响函数图像变为蓝色的直线:

可以看出大于0.5为1的话,那么就有两个为1的归为不是肿瘤,导致分类错误。
所以引入sigmoid函数:g(z) = \frac{1}{1 + e^{-z}},而z = h_\theta(x),得g(z) = \frac{1}{1 + e^{- h_\theta(x)}}。损失函数也可以用平方差损失函数,但是J(\theta)的图像是一个非凸函数,影响梯度下降寻找最小值。
我们重新定义逻辑回归的损失函数为:J(\theta) = \frac{1}{m}\sum_{i=1}^m Cost(h_\theta(x^{(i)}, y^{(i)})),其中

h_\theta(x)Cost(h_\theta(x), y)之间的关系如图,横轴是h_\theta(x),纵轴是Cost(h_\theta(x), y),每个图像都有一个定值1或0(重要!!):

这样构建的Cost(h_\theta(x), y)函数的特点是:当实际上y = 1h_\theta(x) = 1时,误差为0,当y = 1h_\theta(x) \neq 1时,误差随着h_\theta(x)的变小而变大;当y = 0时类似。
将构建的Cost(h_\theta(x), y)简化如下:
Cost(h_\theta(x), y) = -y \times log(h_\theta(x)) - (1-y) \times (1 - h_\theta(x))
代入J(\theta)得到:
J(\theta) =\frac{1}{m}\sum_{i=1}^m[-y \times log(h_\theta(x)) - (1-y) \times log(1 - h_\theta(x))]
即:J(\theta) =-\frac{1}{m}\sum_{i=1}^m[y^{(i)} \times log(h_\theta(x^(i))) + (1-y^{(i)}) \times log(1 - h_\theta(x^{(i)}))]
然后,我们使用梯度下降来求\theta:

求导如下:


2、正则化

正则化的思想是,\theta前面的参数会使得函数变得很大,如果想要最小化整个函数的话,那么正则化部分的\theta必须要小才能满足要求(可以将\theta压缩到接近0)。一般正则化不对\theta增加惩罚项,只对1到n,只是约定俗成的,就算对0惩罚也没有什么影响。一般我们不知道是哪个参数导致过拟合,所以我们惩罚所有的参数。那么,加了惩罚项的损失函数为(一逻辑回归为例):
J(\theta) =\frac{1}{m}\sum_{i=1}^m[-y^{(i)} \times log(h_\theta(x^{(i)})) - (1-y^{(i)}) \times log(1 - h_\theta(x^{(i)})) + \lambda\sum_{j=1}^n\theta_j^2]
上述模型加的是L2正则化,当然也可以用L1正则化。

经过正则化后,线性回归的代价函数变为:
J(\theta) = \frac{1}{2m}\sum_{i=1}^m [(h_\theta(x^{(i)}) - y^{(i)})^2 + \lambda\sum_{j=1}^n\theta_j^2]
线性回归的梯度下降算法变为:

而逻辑回归的代价函数变为:
J(\theta) =\frac{1}{m}\sum_{i=1}^m[-y^{(i)} \times log(h_\theta(x^{(i)})) - (1-y^{(i)}) \times log(1 - h_\theta(x^{(i)})) + \lambda\sum_{j=1}^n\theta_j^2]
梯度下降算法变为:

两种算法的h_\theta(x)是不一样的,虽然看上去形式一样。

相关文章

  • Regularizing your neural network

    Regularization 在逻辑回归中实现L2正则化方法 以逻辑回归为例,看正则化是如何生效的。在逻辑回归中,...

  • 吴恩达第二次作业代码

    输出 逻辑回归模型的梯度下降 输出 正则化逻辑回归 输出

  • 吴恩达机器学习- 正则化

    过拟合和欠拟合 定义和形态 解决方法减少特征值数量正则化 正则化 惩罚θ系数 线性回归正则化 逻辑回归正则化

  • 逻辑回归与正则化

    1、逻辑回归 其实逻辑回归是从线性回归演化而来的(逻辑回归虽然有回归两字,但其实是做分类任务)。就举吴恩达的肿瘤预...

  • 线性回归&逻辑回归&正则化

    本文为《吴恩达机器学习》课程笔记 线性回归 代价函数 Cost Fuction 它的目标是: 选择出可以使得建模误...

  • LR-逻辑回归与正则化

    逻辑回归是一个非常经典的算法,其中也包含了非常多的细节,曾看到一句话:如果面试官问你熟悉哪个机器学习模型,可以说 ...

  • 逻辑回归

    链接:1. 线性回归总结2. 正则化3. 逻辑回归4. Boosting5. Adaboost算法 线性回归是通过...

  • 正则化逻辑回归(Regularization)

    1. 过拟合的问题(The problem of overfitting) 正则化可以减轻过拟合问题。欠拟合(un...

  • 正则化(Regularization) 逻辑回归

    python code: 要最小化该代价函数,通过求导,得出梯度下降算法为:​​ ​注:看上去同线性回归一样,但是...

  • spark 实现回归算法

    知识点 线性回归 最小二乘法 随机梯度下降 逻辑回归 正则化 保序回归 spark官方提供的回归、分类算法:Lin...

网友评论

      本文标题:逻辑回归与正则化

      本文链接:https://www.haomeiwen.com/subject/yskyiftx.html