通过前两讲的学习,我们了解逻辑回归的原理,又通过判定边界切身体会了它是如何分类的,尤其是对于二元分类问题,一般情况下sigmoid这个链接函数就可以解决。我把上一讲的一个片段贴出来,大家可以再次体会一下。
但是对于多元分类,逻辑回归是如何解决的呢,现实中存在很多多元分类问题,例如:
(1)将邮件分为不同类别/标签:工作(y=1),朋友(y=2),家庭(y=3),爱好(y=4)
(2)天气分类:晴天(y=1),多云天(y=2),下雨天(y=3),下雪天(y=4)
(3)疾病判断:没生病(y=1),感冒(y=2),流感(y=3)
对于二元分类问题,数据可能是像这样:
但对于一个多类分类问题,数据集可能是这样:
所以接下来介绍如何运用逻辑回归解决多分类问题。
假设我们有一个训练集如上图,上图表示有三个类别,我们用三角形表示 y=1,方框表示y=2,叉叉表示y=3。我们下面要做的就是使用一个训练集,将其分成三个二元分类问题。
我们先从用三角形代表的类别1开始,类型2和类型3定为负类,类型1设定为正类,我们创建一个新的训练集,如下图所示的那样,我们要拟合出一个合适的分类器。
这里的三角形是正样本,而圆形代表负样本。可以这样想,设置三角形的值为1,圆形的值为,下面我们来训练一个标准的逻辑回归分类器,这样我们就得到一个正边界。
为了能实现这样的转变,我们将多个类中的一个类标记为正向类(y=1),然后将其他所有类都标记为负向类,这个模型记作
接着,类似地第我们选择另一个类标记为正向类(y=2),再将其它类都标记为负向类,将这个模型记作
,依此类推,最后我们得到一系列的模型简记为:
最后,在我们需要做预测时,我们将所有的分类机都运行一遍,然后对每一个输入变量,都选择最高可能性的输出变量。
总之,我们已经把要做的做完了,现在要做的就是训练这个逻辑回归分类器:
其中i对应每一个可能的y=i,最后,为了做出预测,我们给出输入一个新的x值,用这个做预测。我们要做的就是在我们三个分类器里面输入x,然后我们选择一个让上述模型最大的 i,即
祝您的机器学习之旅愉快!
本文参考资料:斯坦福吴恩达老师的机器学习讲义,图片直接来自讲义;
领取专属 10元无门槛券
私享最新 技术干货