首页 > 代码库 > Logistic Regression & Classification (1)

Logistic Regression & Classification (1)

一、为什么不使用Linear Regression

       一个简单的例子:如果训练集出现跨度很大的情况,容易造成误分类。如图所示,图中洋红色的直线为我们的假设函数技术分享
。我们假定,当该直线纵轴取值大于等于0.5时,判定Malignant为真,即y=1,恶性肿瘤;而当纵轴取值小于0.5时,判定为良性肿瘤,即y=0。
        就洋红色直线而言,是在没有最右面的"×"的训练集,通过线性回归而产生的。因而这看上去做了很好的分类处理,但是,当训练集中加入了右侧的"×"之后,导致整个线性回归的结果变成了蓝色的直线,这样导致本来应该在恶性肿瘤的分类,变成了在良性肿瘤中的分类,产生了误分类。因而使用线性回归来实现这一分类问题,往往是会导致错误的,或者说不能很好地得到拟合效果。
技术分享

二、什么是Logistic Regression

         在上述例子中,我们想把肿瘤的样式分为良性和恶性两种,分别用0和1来表示,所以,我们希望我们的假设函数技术分享
能够在[0,1]这个范围之内,因而,我们需要一个函数,对我们的假设函数进行变换,那么这个函数就是Logistic函数,或者叫sigmoid函数
  • sigmoid函数
技术分享
技术分享
       那么现在我们的假设函数变成了技术分享
       其中g(δ)即为sigmoid函数。

  •   sigmoid变换后的等价
        当sigmoid变换之后,从图像中可以看出,当我们原先的假设函数大于0的时候,sigmoid变换后的假设函数即为分类1;当我们原先的假设函数小于0的时候,sigmoid变换后的假设函数即为分类0。

三、什么是Decision boundary

       Decision boundary 顾名思义,就是决策边界。那么什么是决策边界呢。
       举个例子,比如,现在我们的假设函数长这样技术分享
       可以看到,我们有一个θ向量,和两个x变量我们的训练集如图所示,训练集指的是图中的xxoo。
技术分享
        将θ向量赋值为[-3, 1, 1](这里表示向量,由于编辑公式太繁琐,没有将其转置)那么想要得到假设函数为分类y = 1,
       (这里y = h(x)), 那么条件就是技术分享这里是将θ向量带入到g函数的参数列表中。 因而,这个条件对应的线性规划图像,
        即为图中的洋红色直线,那么这条直线就称为是决策边界

        ok,我们再举一个复杂的例子。

        比如,现在我们的假设函数长这样   技术分享技术分享
        训练集如图所示:

 技术分享
       θ向量赋值为[-1, 0 ,0,1, 1],那么想要得到分类y=1,这里就是"×"所在的分类,需要满足的条件就是技术分享
       这样一来,决策边界便是这个单位圆。

       那么说了这么两个例子,我们很清楚的看到,决策边界是由θ向量所决定的,所以我们要做的事情就是来确定我们的θ向量。

四、Cost Function

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

 

 
 






null


Logistic Regression & Classification (1)