2.2 逻辑回归
对于二分类问题来讲,给定一个输入特征向量X,它可能对应一张图片,然后想通过识别这张图片分析得到它是一只猫或者不是一只猫。想要一个算法能够输出预测,也就是对实际值y的估计。更确切地来说,想让表示y等于1的一种可能性或者是机会,前提条件是给定了输入特征X。换句话说,如果X是在上节中讲解的图片,那么输出表示一只猫的图片的概率有多大。在之前的内容中所说的,X是一个nx维的向量(相当于有nx个特征的特征向量)。用w来表示逻辑回归的参数,这也是一个nx维向量(因为w实际上是特征权重,维度与特征向量相同),参数里面还有b,这是一个实数(表示偏差)。所以给出输入x以及参数w和b之后,令。
逻辑回归:
这时候得到的是一个关于输入x的线性函数,但是这对于二分类问题来讲不是一个非常好的算法,因为如果让表示实际值y等于1的概率的话,则应该在0~1之间,而wTx+b可能比1要大得多,或者甚至为一个负值。想要在0和1之间的概率是没有意义的,因此在逻辑回归中,输出应该是等于由上面得到的线性函数式作为自变量的sigmoid函数σ中,将线性函数转换为非线性函数。
图2-4所示为sigmoid函数的图像,如果把水平轴作为z轴,那么关于z的sigmoid函数是这样的,它是平滑地从0走向1,在这里标记纵轴为0,曲线与纵轴相交的截距是0.5,这就是关于z的sigmoid函数的图像。通常使用z来表示wTx+b的值。
图2-4 sigmoid函数
sigmoid函数的公式为,在这里z是一个实数。如果z非常大,那么e-z将会接近于0,关于z的sigmoid函数将会近似等于1除以1加上某个非常接近于0的项,因为如果e的指数是绝对值很大的负数,则这项将会接近于0,所以如果z很大,那么关于z的sigmoid函数会非常接近1。相反地,如果z非常小或者说是一个绝对值很大的负数,那么关于e-z的项会变成一个很大的数,可以认为这是1除以1加上一个非常非常大的数,所以这个值接近于0。实际上看到当z变成一个绝对值很大的负数时,关于z的sigmoid函数就会非常接近于0,因此当实现逻辑回归时,就是去让机器学习参数w以及b,这样才使得成为对y=1这一情况的概率的估计。
介绍一种符号惯例可以让参数w和参数b分开。定义一个额外的特征值,称为x0,并且使它等于1,那么现在X就是一个nx加1维的变量,然后定义的sigmoid函数。在这个备选的符号惯例里,有一个参数向量θ0,θ1,θ2,…,,这样θ0就充当了b,这是一个实数,而剩下的θ1直到充当了w。