分类问题
先说一下什么是分类问题,举个例子:
判定一封邮件是否是垃圾邮件;
判定图片是不是一直猫;
等等
这些问题的答案都是有限的,而不像是线性回归,是存在无限可能的不确定值。
这种问题就是分类问题,那么线性回归可以解决分类问题么?
答案是可以,但是效果可能不太好
线性回归解决分类问题的弊端
比如上面是检测肿瘤是否良性的一个数据集,有蓝色和红色这两种数据,分别表示不同的结果,是或者不是(0或者1标识),如果线性回归来拟合这个数据的话,可能用图中那条蓝色直线来表示,然后我们定一个阈值,比如y轴0.5以上的就表示非良性,那么这时候x轴位置的点就表示临界点了。输入在X左边的为0,否则为1。现在看起来是没问题的。但是如果数据集增加一个下图中的数据呢?
那样拟合的直线就应该像图中绿色这条线,这时候如果阈值还是0.5,然后就会发现水平轴的临界值就变了,这时候这条直线x轴这个临界点左边这两个红色数据跟右边的两个红色数据已经不是同一种类了。
显然这个结果不是我们想要的。
怎么解决这个问题,就是逻辑回归,虽然也是回归,但其实跟线性回归没关系,不要误解,这其实是一个二分类算法。
sigmod 逻辑回归
sigmod 函数如下:
它的函数图像如下
注意观察下,这个函数值总是在0和1之间,正好与二分类的算法要求输出0和1的结果相对应,二分类的算法是在线性回归基础上再加上一个sigmode,如下:
python
sigmod(f(x))
至于深层次的详细解读会在下一节中介绍