美文网首页
逻辑回归

逻辑回归

作者: jin_028f | 来源:发表于2019-12-01 22:23 被阅读0次

    机器学习基础(2):逻辑回归

    为什么是逻辑回归?

    上一篇文章我们说了线性回归模型,这一篇我们讲一讲逻辑回归。
    读到这篇文章时你可能会问,为什么是“逻辑”而不是“线性”这个问题非常好,因为它引出了监督学习算法的两种类型——分类(逻辑回归)和回归(线性回归)。在这里,如果我们把数据科学的流程作一个总结,可以用一幅图表示如下:

    image.png
    当我们使用逻辑回归建立数据科学模型的时候。大多数机器学习概念,诸如监督和非监督学习、分类与回归、线性与非线性问题等概念都会涉及到。此外,还能了解如何准备数据、可能面临的挑战(如输入和特征选择)、如何度量模型、是否应该使用“准确性”、“精确回忆”、“ROC AUC”?或者是“均方误差”和“皮尔逊相关”?所有这些概念都是数据科学过程中最重要的部分。掌握了这些概念对于未来用复杂模型代替简单模型非常重要。

    当然好处不只有这些,逻辑回归是一个非常强大的算法,即使对于非常复杂的问题,它也可以做得很好。以MNIST为例,仅使用逻辑回归就可以达到95%的准确率,这个结果不算很好,但它足以确保你的流水线工作。除此之外,使用正确的特性表示,它可以做得很好。

    逻辑回归

    逻辑回归是一种用于分类问题的机器学习算法,是一种基于概率概念的预测分析算法。

    逻辑回归是一种分类算法,用于将观测值分配给离散的类集。一些分类问题的例子是垃圾邮件或非垃圾邮件,在线交易欺诈或非欺诈,肿瘤恶性或良性。Logistic回归使用Logistic sigmoid(如下图右子图所示)函数来转换它的输出,以返回一个概率值

    逻辑回归本质就是在线性回归的基础上,套用了一个逻辑函数,但也就由于这个逻辑函数,使得逻辑回归模型成为了机器学习领域一颗耀眼的明星,被用于广告营销,生物医学分析等领域。
    [图片上传失败...(image-134b2e-1575210144107)]

    我们可以称逻辑回归为线性回归模型,但逻辑回归使用更复杂的成本函数,这个成本函数可以被定义为“s型函数”或也被称为“逻辑函数”而不是线性函数。逻辑回归的假设倾向于将成本函数限制在0到1之间。因此,线性函数不能表示它,因为线性回归的范围较广,它可以有一个值大于1或小于0。逻辑回归的假设如下(Logistic回归假设):

    0 \leq h_{\theta}(x) \leq 1

    在线性回归中,输出是输入的加权和。逻辑回归是一种广义线性回归,因为我们不直接输出输入的加权和,而是通过一个可以映射0到1之间的任何实值的函数。
    如果我们把输入的加权和作为输出,就像线性回归中做的那样,这个值可以大于1,但我们想要的是0到1之间的值。这就是为什么线性回归不能用于分类任务。
    从下图可以看出,线性回归的输出通过一个激活函数传递,激活函数可以映射0到1之间的任何实值。

    image.png

    什么是Sigmoid函数?

    为了将预测值映射到概率上,这里选择使用Sigmoid函数。该函数将任何实值映射到0到1之间的另一个值。在机器学习中,我们使用sigmoid将预测映射到概率
    [图片上传失败...(image-a00de5-1575210144107)]

    Sigmoid函数的表达式如下所示:
    f(x)=\frac{1}{1+\mathrm{e}^{-(x)}}

    假设表示

    当使用线性回归时,我们使用假设的一个公式,即:

    h \Theta(x)=\beta o+\beta_{1} X

    对于逻辑回归,我们要稍微修改一下。

    \sigma(Z)=\sigma\left(\beta o+\beta_{1} X\right)

    我们期望我们的假设会给出0到1之间的值。
    Z=\beta_{0}+\beta_{1} X

    \mathrm{h\Theta}(\mathrm{x})=\operatorname{sigmoid}(\mathrm{Z})

    h \theta(X)=\frac{1}{1+e^{-\left(\beta_{0}+\beta_{1} X\right)}}

    决策边界

    通过预测函数传递输入并返回0到1之间的概率值时,我们期望分类器根据概率为我们提供一组输出或类。
    例如,有两个类猫和狗(1 -狗,0 -猫)。我们基本上确定了一个阈值,超过这个阈值,我们就把值归为第一类,如果值低于这个阈值,我们就把它归为第二类。

    image.png

    如上图所示,我们选择的阈值为0.5,如果预测函数返回的值为0.7,那么我们将该观察结果归类为Class 1(DOG)。如果我们的预测返回值为0.2,那么我们将把观察结果归类为第2类(CAT)。

    成本函数

    我们了解成本函数J(θ)在线性回归中的意义,成本函数代表最终的优化目标。

    对于logistic回归,成本函数定义为:
    \operatorname{cost}\left(h_{\theta}(x), y\right)=\left\{\begin{array}{ll}{-\log \left(h_{\theta}(x)\right)} & {\text { if } y=1} \\ {-\log \left(1-h_{\theta}(x)\right)} & {\text { if } y=0}\end{array}\right.

    image.png

    以上两个函数可以压缩成一个函数,即

    J(\theta)=-\frac{1}{m} \sum\left[y^{(i)} \log (h \theta(x(i)))+\left(1-y^{(i)}\right) \log (1-h \theta(x(i)))\right]

    梯度下降法求解成本函数

    现在的问题是,我们如何降低成本价值。这可以通过梯度下降法来实现。梯度下降法的主要目标是使成本值最小化。即最小化J(θ)。
    现在,为了最小化我们的成本函数,需要对每个参数运行梯度下降函数,即,
    \theta j:=\theta j-\alpha \frac{\partial}{\partial \theta j} J(\theta)

    [图片上传失败...(image-ffb512-1575210144107)]

    结语

    回顾一下这篇文章的内容

    • 逻辑回归的重要性
    • 逻辑回归的基本概念及流程
    • 梯度下降法优化逻辑回归目标函数

    如果您觉得这篇文章有用,请多多转发。也可以关注公众号:小金博士。
    定期分享机器学习,数据科学学习中的所得,一起在这个最具魅力的学科中畅游。

    [图片上传失败...(image-bcca57-1575210144107)]

    相关文章

      网友评论

          本文标题:逻辑回归

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