本文是吴恩达《机器学习》视频笔记第33篇,对应第3周第1个视频。
“Logistic Regression——Classification”。
接下来的几个视频将介绍当预测变量y是离散值时候该怎么处理,也就是所谓的分类问题。
而逻辑回归是当前机器学习算法中用的最广的算法之一。
分类问题的提出
看下图,一些两分类问题可以总结为:
![5b7d447f431c6471616fed76dd0a0555.png](https://i-blog.csdnimg.cn/blog_migrate/a9ff41935917bdfe945d5b59e3f05752.png)
就是说,有了一堆的属性值(自变量),我们通过这些属性判断这个东西到底属于0分类还是1分类。
比如:通过邮件的很多属性,判断该邮件是否为垃圾邮件;判断某次交易是否为欺诈;判断肿瘤是良性还是恶性等等。
为什么需要逻辑回归?
假设,我们通过肿瘤的大小来判断肿瘤是否为良性。
如果有下图中红色叉叉标记的一些样本点,我们用直线(线性)来去拟合这些点,会得到一条直线,在直线上的一个0.5的点为分界点,大于的是恶性的小于的是良性的,这条直线可以照顾到所有的样本点。
![b8a9fff9e433ad08be8603c626437097.png](https://i-blog.csdnimg.cn/blog_migrate/0ebf700b36c04750e52caff4379e6dbb.png)
那,如果还有一个样本点它的肿瘤尺寸比较大,像下图
![99bd2c8d3db5603da07fe6f3b2634cde.png](https://i-blog.csdnimg.cn/blog_migrate/a195876544d2cb247e3a54cf4e5863cd.png)
再用直线拟合,再用0.5作为阈值的话,就有问题了。通过拟合的直线的样子也可以看出来,即便h(x)的值很小,但它依然可能是恶性肿瘤。这个阈值就要设置的非常小,就因为加了一个样本,使得我们刚刚还比较好的直线变成现在这个丑陋的样子了。
![2e34c66350689b55c36c49c909312006.png](https://i-blog.csdnimg.cn/blog_migrate/96216fe0d70bb75e6292e3cc8de1f545.png)
换句话说,线性回归去做分类问题有点力不从心了。
逻辑回归怎么做的?
如下图,我们做分类的问题是这样的:y取值是有限的几个(两分类就只有0、1),但是如果按照线性回归时候的做法,我们的假设函数h(x)的取值可能大于1、或小于0,而且绝对值可能非常大。
![07a1bf704a94a0810ed0dd4956e38788.png](https://i-blog.csdnimg.cn/blog_migrate/2c381d296d8bc2e75333733a15c0f6ae.png)
在一个绝对值非常大的数面前,0或者1的区别其实是不大的。好比在100面前,0和1其实区别不大,就是说你给我100块钱还是99块钱其实都差不多。那这样直观理解一下,用线性回归的思想去解决分类问题不是个好主意。
那怎么办呢?我们可以把h(x)的取值范围也给限定在0和1之间,即:
![0133773177bbb38d0829b94b4bc4e99a.png](https://i-blog.csdnimg.cn/blog_migrate/96d475bb3ac6bc422d42220df055c2d7.png)
更具体的,我们在接下来的几个笔记中讲解。
关注公众号:
![3f14280aca699656e1e37d973d8951aa.png](https://i-blog.csdnimg.cn/blog_migrate/f701f8afe0bc2e14185fcad332281280.jpeg)