目录
1)Classification
2)Hypothesis Representation
3)Decision boundary
4)Cost function
5)Simplified cost function and gradient descent
6)Multi-class classification:One-vs-all
7)参考资料
现在我们开始学习逻辑回归算法,这是一个分类算法,很多人也把它看做机器学习算法的 Hello world!
1)Classification
在分类问题中,我们要预测的变量 y 是离散的值,我们预测的结果是否属于一个类,以下是几种常见的分类例子:
我们从二元的分类问题开始,我们将因变量可能属于的两个类分别称为 负向类和正向类。其中0表示负向类,1表示正向类。如下图所示,当预测值超过0.5时,预测为正,小于0.5是预测为负。
在线性回归中,我们预测值 y 既可能大于1也可能小于0,但在逻辑回归中我们希望输出值在0到1之间。要提醒的是,虽然这叫做逻辑回归算法,但是它是分类算法,不是回归算法。
2)Hypothesis Representation
前面提到,我们希望预测值在0到1之间,但我们怎么做到呢?我们介绍一种逻辑函数:Sigmoid function。这也是我们遇到的第一个激活函数,在深度学习中,我们会遇到很多激活函数,不着急,后面遇到我们再介绍。图中 g(z)为我们的逻辑函数,右侧为它的图像,它的取值范围永远在0到1之间。g(z) 函数里的因变量为我们线性回归函数的输出值,我们只是把线性输出变成非线性输出。
我们来解释一下逻辑函数的作用,如下图它表示的是 根据选择的参数输出变量为1的可能性。
3)Decision boundary
来回顾一下我们之前的假设,由 g(z) 函数图像可知,如果希望预测为1,则输入值大于等于0,反之小于0,如图所示:
我们来看两个例子,下图介绍了当希望预测为1时对应的数据集判定边界。下图对应的判定边界为一条直线,直线上方的数据判定为1,下方的数据判定为0。
下图为一个复杂的判定边界,边界为半径1的圆,圆内的判定为0,圆外侧的判定为1,这已经有点SVM核函数的概念了,我们后面会介绍到。
4)Cost function
对于任何机器学习算法,我们都要学到它对应的代价函数,回想一下,线性回归模型中,代价函数是所有模型误差的平方和。但是我们在对逻辑函数定义代价函数时,要找到使得代价函数为凸函数的函数。这里直接给出结论,如图所示,
5)Simplified cost function and gradient descent
我们来回顾一下我们之前定义的代价函数和成本函数。
我们的目标是使成本函数最小。
我们还是使用梯度下降法,但你会发现,逻辑回归梯度下降法求得的公式和线性回归函数的形式上一模一样。但要注意的是,这里的预测函数是不一样的,逻辑回归里多了一个逻辑函数。因为它要求输出值在0到1之间。
6)Multi-class classification:One-vs-all
我们前面介绍的都是二元分类,这里我们介绍多分类问题:
多分类问题,我们可以训练多个分类器,预测每一个分类器的输出值,以最大输出值对应的分类为它的预测值。
7)参考资料:
资料为网易云课堂吴恩达老师的课件。
吴恩达机器学习 - 网易云课堂