Logistic Regression‘s Cost Function & Classification

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Logistic Regression‘s Cost Function & Classification 相关的知识,希望对你有一定的参考价值。

一、为什么不用Linear Regression的Cost Function来衡量Logistic Regression的θ向量

       回顾一下,线性回归的Cost Function为
技术分享
       我们使用Cost函数来简化上述公式:
    技术分享
       那么通过上一篇文章,我们知道,在Logistic Regression中,我们的假设函数是sigmoid形式的,也就是:
 
技术分享
技术分享
      这样一来会产生一个凸(convex)函数优化的问题,我们将g(z)带入到Cost函数中,得到的J(θ)是一个十分不规则的非凸函数,如图所示,如果使用梯度下降法来对该非凸函数进行优化的话,很有可能会导致非常糟糕的局部最优解现象。
技术分享

二、Logistic Regression的损失函数(单分类)

      上面说到,为了避免尴尬的局部最优问题,我们希望Cost 函数能够是一个完美的凸函数,让我们方便准确地进行凸函数优化,求得的局部最优解,往往便是全局最优解。因此,万能的专家们想到了-log这么个函数变换,把我们的假设函数,进行变换,得到一个凸函数形式的Cost函数。

        技术分享
    技术分享技术分享
       看图像,左边的是y=1的代价随假设函数值大小的变化而变化的图,反之,右边的为y=0的代价随假设函数值大小的变化而变化的图。这里需要说明的是h(x),也就是我们的假设函数,由于使用了sigmoid模型,所以其取值必然是介于[0,1]这一范围的。我们可以清楚地看到,通过-log变换,所得到的Cost 函数图像确实是我们想要的凸函数。
       但是,这里有一些问题,当y=1的时候,如果我们的假设函数的值在0左右的话,那么Cost 函数所带来的代价几近无穷,反之当y=0的时候,如果我们的假设函数的值在1左右的话,那么Cost 函数所带来的代价同样几近无穷。

三、梯度下降求解最优损失函数(单分类)

     为了方便求解,像上述Cost函数这样的没有重叠的分段函数,往往能够合并成一个式子:
    技术分享
      那么我们的损失函数为:
技术分享 技术分享
      好,我们想求得J(θ)的最优解,我们对其进行梯度下降处理,也就是对于J(θ)中的θ向量中的每一个元素,求解J(θ)的偏导,和线性回归的梯度下降算法一样,对于θ中的多个元素,我们采取同步更新的方式,不要算完一个元素,就把这个元素带入到θ中去求解下一个元素。
    技术分享
技术分享

     我们看到,求完偏导的式子和线性回归的式子是一模一样的,但是需要注意的是由于假设函数h(x)的不同,因而线性回归与逻辑回归得到的结果也是
截然不同的。
      说到算法,我们可以用for循环对θ中的所有元素进行遍历操作,那么更加高效的方式就是将其进行向量化计算,和之前的线性回归那种一样。


四、Cost Function

       既然我们知道了决策边界是由向量θ所决定的,那么我们如何通过算法来确定我们的θ向量呢。像之前的线性回归算法一样,我们
通过一个损失函数来衡量向量θ的好坏。有关于Cost Function,我们在下一篇文章中进行详述。
 
 

 
 

























以上是关于Logistic Regression‘s Cost Function & Classification 的主要内容,如果未能解决你的问题,请参考以下文章

Logistic Regression逻辑斯蒂回归

Logistic Regression 笔记与理解

Logistic Regression Algorithm

分类---Logistic Regression

Logistic Regression 笔记与理解

Logistic Regression 笔记与理解