“Logistic Regression——Multi-classs classification: One-vs-all”。
01
—
笔记
前面6节详细介绍了逻辑回归的概念,及逻辑回归的程序实现方法。本节将更进一步,介绍如何使用逻辑回归解决多分类问题。
什么是多分类问题?
通过几个例子来看一下多分类问题,
上图中给出了3个例子:(1)邮件标记,不同于前面说的是否垃圾邮件的标记,这里需要对邮件标记成工作邮件、朋友的邮件、家人的邮件、业余爱好的邮件,这个时候y的取值可能是1、2、3、或者是4;(2)医疗诊断,比如一个人有流鼻涕这样的症状,如何判断病因,到底是没有病、还是风寒、还是流感?(3)天气预报,y的取值也是有多种可能的。
上面说的这些例子,认真来看整个的过程和二分类的问题是类似的,只是与前面y的取值只有0、1这两种可能不同,y可能有多种取值可能。它们的区别可以用下图简单表示:
多分类问题(One-vs-all, one-vs-rest)的原理
如下图,这里有三类点。
上图中的三个分类问题,我们还是可以把它转换为两分类问题来解决。如下图:
我们把一个三分类问题转换成了3个标准的逻辑回归两分类问题。综合前面6节学习到的内容,实际上我们是需要拟合3个假设函数:
有了这样的函数,我们给定了x和theta后,就能给出y为某个分类的概率。我们再把之前逻辑回归两分类的代价函数拿过来看一下:
其实最后,我们有了x和theta后,我们得到的是y=1或者y=0即是否属于第i个分类(即y=i)的概率。
这个时候,我们只要选择三个 中那个可信度最大的作为x所属的分类就可以了。