分类
前面的博客我们说机器学习分为有监督学习和无监督学习,其中有监督学习又分为回归问题和分类问题。
现在让我们一起讨论分类问题。
像这种结果输出为是否类的问题我们就叫做分类问题~~~
分类有二分类和多分类,首先我们讨论二分类:
二分类:
目标输出值为二值,即是、否
还是从吴恩达的课件截图~~~
还是用肿瘤患者诊断的案例说,如上图,我们如何开发一个新的算法来拟合这个结果呢?首先,
我们想到的是线性回归,如果没有最右面的点,那么拟合出来的就是一个斜线。这时候设置一个
阈值例如 0.5 。同样的阈值0.5会对应一个肿瘤大小的值,这个值左边和右边分成了两类,如果
假设输出的目标值大于这个阈值我们预测为良性,反之预测为恶性。
这时候假如又有一个新的样本加入到样本集中,就是最右边的样本。这时候再对样本集进行
训练,就会得到一个更加倾斜的直线。我们的判断标准还是0.5,那么对应的肿瘤大小就要右移,
这时候肿瘤大小的分隔竖线就会把部分良性肿瘤归类到恶性肿瘤。
所以我们不能在分类问题上使用回归算法~~~
逻辑回归:
前面的几段估计大家都知道要用一个合理的分类算法来通过概率算出每个输出结果。
这时候就是一个分类算法,因为是二分类所以我们希望分类器的输出也在 0 到 1 之间,这时候我们自己做
一下包装,如上图,我们在假设函数的外面在包一层函数来使得输出都在 0 到 1 之间。
满足这个条件的外包函数就是sigmoid函数也就是logistic函数
因为假设函数输出值在 0 到 1 之间,所以输出值就是y = 1 的概率估计。还是用肿瘤的例子讲起,例子中我们
判断肿瘤良性、恶性的标准特征似乎肿瘤大的大小,
像以前一样我们还是把 X0 设为1, 用作偏置项。其中上图右下角的概率函数的含义就是在给定 X和 θ 的基础
上 p(y = 0) 和 p(y = 1) 的概率之和为1 。这样我们就表达出来了两个分类在某一个 X和 θ 的出现的概率。
决策边界:
上图中,我们看到如果 z 大于0,g(z) > 0.5,这时候我们就预测 y = 1。
首先,先不管我们到底怎么得到的所有 θ 值,就假设我们就是有了一个计算好的 θ 的参数向量(如上图右上角)。
然后,我们把所有的 θ 代入到假设函数中,这时候如果还是以 g(z) > 0.5 的话,就会得到上图的一个函数,这个
函数把不同类别区分开了,我们称把不同类型分开的线为决策边界。
不同的 θ 决定了不同的假设函数,进而决定了不同的决策边界。决策边界仅仅是为了帮助我们理解分类算法
的基本工作原理而已,当我们实际使用分类算法时,是不会画出决策边界的。
如果需要非线性的决策边界,例如上图右侧分类,我们就要加入多项式特征,引入的特征越多维度越高,决策
边界更复杂,能够区分数据的能力越强~~~
从图的决策边界中,样本点和决策边界有什么关系吗?
用点到直线的距离来表达样本点跟决策边界的距离,距离越大说明该点是某一类的概率就越大。