【机器学习基础】将回归模型用于分类问题

线性模型回顾

我们回顾一下之前的三种线性模型,它们的共同点是都要对输入的数据x做一个加权的分数s。

下图表示了这三种不同的线性模型的表示方式、误差函数和求解最小的Ein的方法。

这里可以看出,PLA算法这种线性分类模型,在求解Ein的时候是很困难的,相对而言,线性回归和logistic回归都有各自求解Ein的方法,那么我们能不能用这两种回归的计算方法来帮助求解线性分类问题的Ein呢?

误差函数的比较

接下来,我们将这三个方法的误差函数进行一下变形,把y和s凑在一起,方便我们后面的分析。这里ys表示分类的正确性分数(correctness score),这个值是正的说明是同号的,并且这个值越大越好。

我们可以将误差函数画出来,将cross-entropy的误差函数乘以一个常数,我们可以得到他们之间的关系,故均方误差和交叉熵误差都可以做线性分类的误差函数的上限。

我们可以得到这三个误差函数的大小关系,这就表示我们可以用线性回归和logistic回归来求解线性分类的参数,这两种方法的优点是方便对误差函数求解优化问题,缺点是它们在特定的区域都存在过于松垮的上限。

多元分类

一对多法(One-Versus-ALL,OVA)

如果对于多元分类的问题,我们该如何用二元分类的方法进行扩展呢?

如下图所示的例子,我们可以选一个类别,比如正方形作为正例,其他的数据都作为负例,这样我们可以将该类和其他类有效的分开。这样我们就可以将区域进行有效的划分,如图,可以划分成9个区域,但是我们同时发现,在画叉的区域并不是划分为一个类别,有可能属于两个类别。中间的区域还会被所有分类器都判定为负例。

为了解决这个问题,我们可以尝试用logistic回归的方法,不是明确将数据实例硬性分开,而是给出一个软性的类别,即给出该区域实例所属类别的概率,这样某个实例具体的所属类别是其最大概率的类别。

下面给出这种一对多的方法的具体步骤:

这个方法的优点是快速有效,缺点是当类别数目很大时,所有的假设都会将数据归为负例,使得效果不理想。

一对一法(One-Versus-One,OVO)

还有一种用于多元分类的方法是一对一法。

我们可以选取一个类别与其它任意一个类别进行分类(故名一对一法),比如4个类别的情形,会产生6个线性分类器。

那么,当要预测某个数据实例的所属类别时,可以得到这6个分类器预测的类别,将这些类别进行投票,将投票数最多的类别作为最终输出的类别。

这个方法的优点是有效率,不同于一对多法(OVA),一对一法训练时是将任意两个类别的数据构建分类的,而一对多法是将所有数据用来构建一个分类器的。

缺点是要计算O(K^2)这么多的w,这就需要更多的存储空间、更长的预测时间和训练。

参考资料

机器学习基石课程,林轩田,台湾大学

转载请注明作者Jason Ding及其出处

Github主页(http://jasonding1354.github.io/)

CSDN博客(http://blog.csdn.net/jasonding1354)

简书主页(http://www.jianshu.com/users/2bd9b48f6ea8/latest_articles)

时间: 2024-10-15 19:25:51

【机器学习基础】将回归模型用于分类问题的相关文章

【机器学习基础】生成模型和判别模型

引入 监督学习的任务就是学习一个模型(或者得到一个目标函数),应用这一模型,对给定的输入预测相应的输出.这一模型的一般形式为一个决策函数Y=f(X),或者条件概率分布P(Y|X). 监督学习方法又可以分为生成方法(generative approach)和判别方法(discriminative approach).所学到的模型分别为生成模型(generative model)和判别模型(discriminative model). 决策函数和条件概率分布 决策函数Y=f(X) 决策函数Y=f(X

scikit-learn机器学习(二)逻辑回归进行二分类(垃圾邮件分类),二分类性能指标,画ROC曲线,计算acc,recall,presicion,f1

数据来自UCI机器学习仓库中的垃圾信息数据集 数据可从http://archive.ics.uci.edu/ml/datasets/sms+spam+collection下载 转成csv载入数据 import matplotlib matplotlib.rcParams['font.sans-serif']=[u'simHei'] matplotlib.rcParams['axes.unicode_minus']=False import pandas as pd import numpy as

机器学习基础-Logistic回归2

随机梯度上升法--一次仅用一个样本点来更新回归系数(因为可以在新样本到来时对分类器进行增量式更新,因而属于在线学习算法) 梯度上升法在每次更新回归系统时都需要遍历整个数据集,该方法在处理100个左右的数据集时尚可,但如果有数十亿样本和成千上万的特征,那么该方法的计算复杂度太高了. 随机梯度上升算法伪代码: 所有回归系数初始化为1 对数据集中每个样本 计算该样本的梯度 使用alpha*gradient更新回归系数值 返回回归系数值 def stocGradAscent0(dataMatrix, c

机器学习基础概念之监督学习与无监督学习

一句话明晰概念:不用编程制定机器做什么,机器有能力自己学习. 三种最基础的机器学习算法:决策树.线性回归.K-means聚类. 监督与无监督学习 周志华通过敲西瓜案例有以下讲解: 监督学习是在敲西瓜听声音判断好坏过程中有懂行的人告诉你这个瓜的好坏,给不同的声音贴上了好坏瓜的标签,慢慢学习声音特征之间的关系,最后通过特征能预测的模型. 监督模型又可分为分类模型与回归模型.分类模型预测标签为分类变量,回归模型预测标签为数值变量. 无监督学习是没有懂行的人告诉你瓜的好坏,只能对声音特征做分类(浑浊.清

算法工程师<机器学习基础>

<机器学习基础> 逻辑回归,SVM,决策树 1.逻辑回归和SVM的区别是什么?各适用于解决什么问题? https://www.zhihu.com/question/24904422 2.Linear SVM 和 线性回归 有什么异同? 答案:https://www.zhihu.com/question/26768865 基础知识:https://blog.csdn.net/ChangHengyi/article/details/80577318 3.支持向量机属于神经网络范畴吗? https:

机器学习基础——带你实战朴素贝叶斯模型文本分类

本文始发于个人公众号:TechFlow 上一篇文章当中我们介绍了朴素贝叶斯模型的基本原理. 朴素贝叶斯的核心本质是假设样本当中的变量服从某个分布,从而利用条件概率计算出样本属于某个类别的概率.一般来说一个样本往往会含有许多特征,这些特征之间很有可能是有相关性的.为了简化模型,朴素贝叶斯模型假设这些变量是独立的.这样我们就可以很简单地计算出样本的概率. 想要回顾其中细节的同学,可以点击链接回到之前的文章: 机器学习基础--让你一文学会朴素贝叶斯模型 在我们学习算法的过程中,如果只看模型的原理以及理

机器学习基础 | 分类模型评估指标

目录 成对指标 综合指标 图形指标 在处理机器学习的分类问题中,我们需要评估分类结果的好坏以选择或者优化模型,本文总结二分类任务中常用的评估指标.对于多分类任务的评估指标,可以参考这篇文章 先从我们最熟知的混淆矩阵(confusion matrix)说起. source 鉴于混淆矩阵看着比较抽象,可以参考下图 常用的评估指标可以分为3类: 成对指标,包括正确率(精度)&错误率,Precision&Reall,TPR(Sentitivity)&TNR(Specificity)等; 综

机器学习基础2--评价回归模型

再次回到上一节的13次模型. 这个疯狂的曲线造成了一种现象过拟合. 很明显,你的房子不可能只值这么点价钱,所以看上去,这个13次模型甚至还不如一开始的二次模型. 那么现在有个疑问,我们应该怎样去选择最合适的模型? 我们想要准确预测,但是我们无法观测未来. 下面我们模拟一次预测过程: 1.我们随机将一些房子数据排除在外. 2.然后拟合剩下的数据 3.最后进行预测和推断. 术语: 训练集(training set):用来拟合模型的数据. 测试集(test set):排除出去的数据. 训练损失(tra

机器学习 —— 基础整理(五):线性回归;二项Logistic回归;Softmax回归;广义线性模型

本文简单整理了以下内容: (一)线性回归 (二)二分类:二项Logistic回归 (三)多分类:Softmax回归 (四)广义线性模型 二项Logistic回归是我去年入门机器学习时学的第一个模型,我觉得这个模型很适合用来入门(但是必须注意这个模型有很多很多很多很多可以展开的地方).比较有意思的是那时候还不会矩阵微积分,推导梯度时还是把矩阵全都展开求的(牛顿法要用的二阶梯度也是)... 下面的文字中,"Logistic回归"都表示用于二分类的二项Logistic回归. 首先约定一下记号