之前的文章中我们讨论过关于线性回归的问题,现在我们来学习一下,当预测的变量y为离散值时候的分类问题。
分类
下面给出几个分类的例子:
- 邮件: 垃圾邮件、非垃圾邮件;
- 在线交易: 欺诈、非欺诈;
- 肿瘤: 良性(不是恶性)、恶性
很显然这几个例子的结果只有两个,是或者不是。那么我们可以假设结果。这里的0我们可以当做非xx的类型,比如良性肿瘤,而1则可以当做是确认的分类,比如是恶性肿瘤。当然经常我们遇到的分类问题可能不止是或否两种结果,可能。
接下来我们来用肿瘤是否恶性的例子来看看分类问题,比如下图:
图中的叉号就是我们的数据样本,横轴为肿瘤大小,纵轴为是否为恶性肿瘤。如果用我们之前学习的线性回归方程,则可以假设。可以得出图中的倾斜的斜率高一点的那一条直线。为了更好的做出预测,我们可以设定当时,认为,当时,认为,如此看来,假设我们在x轴正方向远处还有一点如图中所示,我们的假设函数也是满足实际情况。但如果我们的假设函数设置的如图中斜率偏低的那一条呢。很显然和数据集中的数据发生了误差。所以线性回归在分类问题中并不是最适合的方法,而且如果使用线性回归,我们得出的是可以大于1或者小于0。而接下来要讨论的logistic分类算法的值域大小是在[0,1]之间的。
假设函数
在线性回归中,我们的假设函数公式是,那么在分类问题中,我们定义,这里的函数g的定义为,,则
这个函数被称作S型函数(Sigmoid function)或逻辑函数(Logistic function)。函数的图像如下图所示:
横轴为z,纵轴为。显然当z趋向于正无穷时,趋向于1,z趋向于负无穷时,趋向于0。图像在(0,0.5)点于纵轴相交。我们现在要做的依然是选择合适的参数来拟合数据。
这里我们将的输出假设为当输入为x时,y=1时的概率。从概率上的角度来描述可以表达为。因此我们可以得到如下公式:
决策边界(decision boundary)
上述我们说过,可以假设当时,认为,当时,认为。根据逻辑函数的图像,我们得知,当z>0时,,则,同样的时。
这里可以举一个例子,假设中的分别等于-3,1,1。则,那么y=1时,即代表,即,相反y=0时,,那么我们可以得出这两个不等式的分界线即。
在这条直线的上方代表y=1的部分,下方则代表y=0的部分,而这条直线就被称作决策边界。
下面再继续看一个复杂点的例子,这里额外添加两个特征。。假定,则可得出若,则y=1,若,则y=0,那么显然,这里的决策边界的图像是。
当然随着假设函数的复杂程度变化,决策边界也会各有不同。后面我们将会学习如何自动选择参数,使我们能在给定一个训练集时,根据数据自动拟合参数。
以上,为吴恩达机器学习第三周分类和逻辑回归模型部分笔记。