机器学习——逻辑回归

逻辑回归是一种分类算法,它是输出值一般为离散值,例如我们用1和0来表示是否有肿瘤,那么我们的输出值就只有{0,1}。


逻辑回归和线性回归的关系

逻辑回归也被称为广义线性回归模型,当我们把线性回归中的常数b0看成x0的系数,且x0=1,这样逻辑回归和线性回归就都有相同的基本形式——b0*x0+b1*x1,它们的区别在于因变量不同,逻辑回归函数把b0*x0+b1*x1放到S(b0*x0+b1*x1)中,这里是S就是Sigmoid函数:

S(t)=11+et



Sigmoid函数图像:

机器学习——逻辑回归

这样我们就得到了逻辑回归的方程了。


代价函数

在线性回归里,我们定义的代价函数是所有模型的误差平方和。理论上,我们可以在逻辑回归里沿用,但是,当我们把逻辑回归方程带入得出的代价函数如图:

机器学习——逻辑回归

它有多个低点,这样我们难以找到最优解,所以我们重新定义了逻辑回归的代价函数:机器学习——逻辑回归,其中机器学习——逻辑回归

h(x)和Cost(h(x),y)的图像如下:

机器学习——逻辑回归

这样构建的Cost(h(x),y)函数的特点是:当实际的 y=1 且h(x)也为 1 时误差为0,当 y=1 但h(x)不为 1 时误差随着h(x)的变小而变大;当实际的 y=0 且h(x)也为0 时误差为 0,当 y=0 但h(x)不为 0 时误差随着h(x)的变大而变大。

将Cost函数简化并带入得到:机器学习——逻辑回归,经过一系列推导,可以得到机器学习——逻辑回归机器学习——逻辑回归,这就是我们逻辑回归的代价函数,要注意的是,这里的h(x)和线性回归里的是不一样的,所以虽然形式一样,但这个代价函数实际上和线性回归中的是不同的。


梯度下降算法

当我们得到了代价函数,我们就可以进行梯度下降的算法来求得我们想要的theta值。

机器学习——逻辑回归

这个就是逻辑回归的梯度下降算法,形式上线性回归的一样,但是两个之间的h(x)是不同的,所以这是两个完全不同的东西。当我们自己去敲代码实现时就会发现。

对于梯度下降算法的原理就不讲了,在上次的线性回归中已经说明了。