机器学习笔记(一)之监督学习重要问题

分类问题,标注问题,回归问题为监督学习重要问题

一.分类问题

分类问题是监督学习的核心问题。分类是监督学习的一个核心问题,在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。这时,输入变量X可以是离散的,也可以是连续的。监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测(prediction),称为分类(classification).

评价分类问题的性能的指标一般是分类准确率,其定义是对于给定的数据,分类正确的样本数占总样本数的比例。但是这一指标在Unbalanced的数据上表现很差。

机器学习(ML),自然语言处理(NLP),信息检索(IR)等领域,评估(Evaluation)是一个必要的 工作,而其评价指标往往有如下几点:准确率(Accuracy),精确率(Precision),召回率(Recall),F值(F-Measure)

首先来做一个总结:

准确率(P值)是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。

召回率(R值)是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

上面还是有点抽象,下面通过例子来解释一下上面说法:

1 准确率(P值)

假设我此时想吃香蕉,实验室里面每天都会安排10个水果,水分别是6个香蕉,3个橘子,1个菠萝。哎,但是,实验室主任搞事情啊,为了提高我们吃水果的动力与趣味,将10个水果放在黑盒子中,每个人是看不到自己拿的什么,每次拿5个出来,哎,我去抽了,抽出了2个香蕉,2个橘子,1个菠萝。

下面我们来分别求求P值,R值,F值,哈哈!

按照一开始说的,精确率是针对我们预测结果而言的,它表示的是预测为正的样本中有多少是真正的正样本。

这里我们的正样本就是我想吃的香蕉!

在预测结果中,有2个香蕉,总个数是我拿的5个。

2 召回率(R值)

按照开始总结所说。

召回率是针对我们原来的样本而言的,它表示的是样本中的正例有多少被预测正确了。

我们这里的正类是我想吃的香蕉,而在样本中的香蕉个数是6个,召回率的召回也可以这么理解,代表了原始样本中正类召回了多少。

3 F值

可能很多人就会问了,有了召回率和准去率这俩个评价指标后,不就非常好了,为什么要有F值这个评价量的存在呢?

按照高中语文老师所说的,存在即合理的说法,既然F值存在了,那么一定有它存在的必要性,哈哈哈哈!

我们在评价的时候,当然是希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。

比如极端情况下,在我们这个例子中,我们只搜索出了一个结果,且是香蕉,那么Precision就是100%,但是Recall为1/6就很低;而如果我们抽取10个水果,那么比如Recall是100%,但是Precision为6/10,相对来说就会比较低。

因此P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure,通过计算F值来评价一个指标!

那么在我们这个例子中F1 = (22/52/6)/(2/5+2/6)

二.标注问题

标注问题是分类问题的一个推广,是更复杂的结构预测问题的一个简单的形式。输入是一个观测序列,输出是一个标记序列或者状态序列。其目的是学习一个模型,使得对于观测序列能够给出一个标记序列作为预测。注意标记个数是有限的,但其组合所成的标记序列的个数是随着序列长度成指数级增长的。学习系统基于训练数据集构建一个模型,表示为条件概率分布.p(Y1,Y2…YN X1,X2…XN)每一个xi取值为所以可能的观测,每一个Yi取值为所有可能的标记。

评价标记系统的指标和评价分类系统的指标一样,常用的有准确率,精确率,召回率。

标注常用的统计学习方法有:隐马尔科夫模型,条件随机场。

应用范围:信息抽取,自然语言处理。

三.回归问题

回归(regression)是监督学习(given {(xi,yi)})的一个重要分类。回归用于预测输入变量(自变量,Xi)与输出变量(因变量,Yi) 之间的关系,特定是当输入变量的值发生变化时,输出变量的值随之发生的变化。

回归模型正是表示从输入变量(xi∈Rn)到输出变量(y∈R,也就是一个一维的数值,如果输出也是多维呢?至少不是一个分类任务了)之间映射的函数。回归问题的学习等价于函数拟合,选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。

回归问题按照输入变量的个数,分为一元回归和多元回归; 按照输入变量和输出变量之间关系(即模型的类型),分为线性模型和非线性模型; 二者一组合,就得出四种回归的分类了:一元线性,一元非线性,多元线性,多元非线性。

回归学习最常用到的损失函数是平方损失函数,在此问题下,回归问题可以由著名的最小二乘法(least squares)求解。

比如注明的线性回归问题:

Xβ=y⇒∥Xβ−y∥2=0⇒β^=(XTX)−1XTy

易混淆概念:回归问题和分类区别

其实回归问题和分类问题的本质一样,都是针对一个输入做出一个输出预测,其区别在于输出变量的类型,分类模型是将回归模型的输出离散化。。 分类问题是指,给定一个新的模式,根据训练集推断它所对应的类别(如:+1,-1),是一种定性输出,也叫离散变量预测; 回归问题是指,给定一个新的模式,根据训练集推断它所对应的输出值(实数)是多少,是一种定量输出,也叫连续变量预测。

拿支持向量机举个例子,分类问题和回归问题都要根据训练样本找到一个实值函数g(x). 回归问题的要求是:给定一个新的模式,根据训练集推断它所对应的输出y(实数)是多少。也就是使用y=g(x)来推断任一输入x所对应的输出值。分类问题是:给定一个新的模式,根据训练集推断它所对应的类别(如:+1,-1)。也就是使用y=sign(g(x))来推断任一输入x所对应的类别。综上,回归问题和分类问题的本质一样,不同仅在于他们的输出的取值范围不同。分类问题中,输出只允许取两个值;而在回归问题中,输出可取任意实数。

参考:https://mp.weixin.qq.com/s/HBYfJKNy1s20QllXQAVTzQ

参考:《统计学习方法》-李航

参考:https://www.zhihu.com/question/21329754/answer/18004852