一:分类
(一)分类基础
在分类问题中,你要预测的变量y是离散的值,我们将学习一种叫做逻辑回归 (Logistic Regression) 的算法,这是目前最流行使用最广泛的一种学习算法。
在分类问题中,我们尝试预测的是结果是否属于某一个类(例如正确或错误)。分类问题的例子有:判断一封电子邮件是否是垃圾邮件;判断一次金融交易是否是欺诈;之前我们也谈到了肿瘤分类问题的例子,区别一个肿瘤是恶性的还是良性的。
我们从二元的分类问题开始讨论。(当然存在多分类问题,例如y可以取到 0,1,2,3这几个值)
我们将因变量(dependent variable)可能属于的两个类分别称为负向类(negative class)和正向类(positive class),则因变量 ,其中 0 表示负向类(没有某项东西):良性肿瘤,1表示正向类(含有某项东西):恶性肿瘤。
(二)对比线性回归
我们对数据集建立线性模型,得到线性回归函数。同时设置一个阈值y_0=0.5,此时x_0对应y_0,当xx_0则返回1。
上面解释似乎很合理,但是当我们出现下面的数据集分布时:
重新建立线性模型,导致原本属于正向类的数据,被划分到负向类中。
因此,不建议将线性回归用于分类问题。
如果我们要用线性回归算法来解决一个分类问题,对于分类, y取值为 0 或者1,但如果你使用的是线性回归,那么假设函数的输出值可能远大于1,或者远小于0,即使所有训练样本的标签y都等于 0 或1。尽管我们知道标签应该取值0或者1,但是如果算法得到的值远大于1或者远小于0的话,就会感觉很奇怪。
所以我们在接下来的要研究的算法就叫做逻辑回归算法,这个算法的性质是:它的输出值永远在0到1之间。
顺便说一下,逻辑回归算法是分类算法,我们将它作为分类算法使用。有时候可能因为这个算法的名字中出现了“回归”使你感到困惑,但逻辑回归算法实际上是一种分类算法,它适用于标签y取值离散的情况,如:1 0 0 1。
二:假说表示
(一)模型引出
我们引入一个新的模型,逻辑回归,该模型的输出变量范围始终在0和1之间。
逻辑回归模型的假设是:
其中:X表示特征向量,g表示逻辑函数,是一个常用的逻辑函数(为S形函数Sigmoid function)
Sigmoid function公式:
当z趋于正无穷,g(z)--->1。当z趋于负无穷,g(z)--->0。因此g(z)再(0,1)之间。
因此,完整的逻辑回归模型如下:
(二)参数θ拟合数据
当我们拿到一个数据集,我们需要给参数选定一个值。假说模型会帮我们做出预测。
三:决策边界
(一)假设函数的属性---决策边界
决策边界这个概念能更好地帮助我们理解逻辑回归的假设函数在计算什么。
在逻辑回归中,我们预测: