ML 05、分类、标注与回归
机器学习算法 原理、实现与实践 —— 分类、标注与回归
1. 分类问题
分类问题是监督学习的一个核心问题。在监督学习中,当输出变量$Y$取有限个离散值时,预测问题便成为分类问题。
监督学习从数据中学习一个分类决策函数或分类模型,称为分类器(classifier)。分类器对新的输入进行输出的预测,这个过程称为分类。
分类问题包括学习与分类两个过程。在学习的过程中,根据已知的训练样本数据集利用有效的学习方法学习一个分类器;在分类中,利用学习的分类器对新的输入实例进行分类。
对于训练数据集$(x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)$,学习系统将学习一个分类器$P(Y|X)$或$Y=f(X)$;分类系统通过学到的分类器$P(Y|X)$或$Y=f(X)$对于新的输入实例$x_{N+1}$进行分类,即预测其输出的类标记$y_{N+1}$。
评价分类器性能的指标一般是分类的准确率,其定义是:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。
对于二分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:
- TP —— 将正类预测为正类的数量;
- FN —— 将正类预测为负类的数量;
- FP —— 将负类预测为正类的数量;
- TN —— 将负类预测为负类的数量;
精确率定义为:
$$P = \frac{TP}{TP+FP}$$
召回率定义为:
$$R = \frac{TP}{TP+FN}$$
此外,还有一个$F_1$值,是精确率和召回率的调用均值,即
$$\frac{2}{F_1} = \frac{1}{P}+\frac{1}{R}$$
$$F_1 = \frac{2TP}{2TP+FP+FN}$$
精确率真和召回率都高时,$F_1$也会高。
许多的机器学习方法可以用来解决分类问题,包括$k$近邻法、感知机、朴素贝叶斯法、决策树、逻辑斯谛回归模型、SVM、adaBoost、贝叶斯网络、神经网络等。
比如一个文本内容分类的例子。文本分类是根据文本的特征将其划分到已有的类中。输入是文本的特征向量,输出是文本的类别。通常把文本中的单词定义为特征,每个单词对应一个特征。单词的特征可以是二值的:如果单词在文本中出现则取值1,否则是0;也可以是多值的,表示单词在文本中出现的频率。形象地,如果“股票”“银行”“货币”这些词出现很多,这个文本可能属于经济类,如果“网球”“比赛”“运动员”这些词频繁出现,这个文本可能属于体育类。
2. 标注问题
标注问题也是一个监督学习问题。可以认为标记问题是分类问题的一个推广。
标注问题的输入是一个观测序列,输出的是一个标记序列或状态序列。也就是说,分类问题的输出是一个值,而标注问题输出是一个向量,向量的每个值属于一种标记类型。
标注问题也可以分为两步:学习和标注两个过程。首先给定一个训练数据集
$$T = (x_1,y_1),(x_2,y_2),\dots,(x_N,y_N)$$
这里,$x_i = (x_i^{(1)},x_i^{(2)},\dots,x_i^{(n)})^T,i = 1,2,\dots,N$是输入观测序列,$y_i = (y_i^{(1)},y_i^{(2)},\dots,y_i^{(n)})^T$是相应的输出标记序列,$n$是序列的长度,对于不同样本可以有不同的值。学习系统基于训练数据集构建一个模型,表示为条件概率分布:
$$P(Y^{(1)},Y^{(2)},\dots,Y^{(n)}|X^{(1)},X^{(2)},\dots,X^{(n)})$$
这里,每一个$X^{(i)}(i=1,2,\dots,N)$取值为所有可能的观测,每一个$Y^{(i)}(i=1,2,\dots,N)$取值为所有可能的标记,一般$n \ll N$。标注系统按照学习得到的条件概率分布模型,对新的输入观测序列找到相应的输出标记序列。具体地,对一个观测序列$x_{N+1} = (x_{N+1}^{(1)},x_{N+1}^{(2)},\dots,x_{N+1}^{(n)})^T$找到使条件概率$P(y_{N+1}^{(1)},y_{N+1}^{(2)},\dots,y_{n+1}^{(n)}|x_{N+1}^{(1)},x_{N+1}^{(2)},\dots,x_{N+1}^{(n)})$最大的标记序列$y_{N+1} = (y_{N+1}^{(1)},y_{N+1}^{(2)},\dots,y_{N+1}^{(n)})^T$。
评价标注模型的指标与评价分类的模型指标一样,常用的有标注准确率、精确率和召回率等。
标注常用的机器学习方法有:隐性马尔可夫模型、条件随机场。
自然语言处理中的词性标注(part of speech tagging)就是一个典型的标注问题:给定一个由单词组成的句子,对这个句子中的每一个单词进行词性标注,即对一个单词序列预测其对应的词性标记序列。
3. 回归问题
回归问题也属于监督学习中的一类。回归用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。
回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据且很好地预测未知数据。
回归问题按照输入变量的个数,可以分为一元回归和多元回归;按照输入变量与输出变量之间关系的类型,可以分为线性回归和非线性回归。
回归学习最常用的损失函数是平方损失,在此情况下,回归问题可以由著名的最小二乘法求解。
一个回归学习用于股票预测的例子:假设知道一个公司在过去不同时间点的市场上的股票价格(或一段时间的平均价格),以及在各个时间点之间可能影响该公司股份的信息(比如,公司前一周的营业额)。目标是从过去的数据学习一个模型,使它可以基于当前的信息预测该公司下一个时间点的股票价格。具体地,将影响股价的信息视为自变量(输入特征),而将股价视为因变量(输出的值)。将过去的数据作为训练数据,就可以学习一个回归模型,并对未来股份进行预测。实际我们知道想做出一个满意的股价预测模型是很难的,因为影响股份的因素非常多,我们未必能获得那些有用的信息。
ML 05、分类、标注与回归的更多相关文章
- ML(4)——逻辑回归
Logistic Regression虽然名字里带“回归”,但是它实际上是一种分类方法,“逻辑”是Logistic的音译,和真正的逻辑没有任何关系. 模型 线性模型 由于逻辑回归是一种分类方法,所以我 ...
- 大叔学ML第五:逻辑回归
目录 基本形式 代价函数 用梯度下降法求\(\vec\theta\) 扩展 基本形式 逻辑回归是最常用的分类模型,在线性回归基础之上扩展而来,是一种广义线性回归.下面举例说明什么是逻辑回归:假设我们有 ...
- seaborn(2)---画分类图/分布图/回归图/矩阵图
二.分类图 1. 分类散点图 (1)散点图striplot(kind='strip') 方法1: seaborn.stripplot(x=None, y=None, hue=None, data=No ...
- LR多分类推广 - Softmax回归*
LR是一个传统的二分类模型,它也可以用于多分类任务,其基本思想是:将多分类任务拆分成若干个二分类任务,然后对每个二分类任务训练一个模型,最后将多个模型的结果进行集成以获得最终的分类结果.一般来说,可以 ...
- CS229笔记:分类与逻辑回归
逻辑回归 对于一个二分类(binary classification)问题,\(y \in \left\{0, 1\right\}\),如果直接用线性回归去预测,结果显然是非常不准确的,所以我们采用一 ...
- 【HowTo ML】分类问题->神经网络入门
非线性分类器(Non-linear hypotheses) 为什么使用非线性分类器 我们举几个栗子: 假如我们有一个数据空间如左上角坐标系所看到的,那么我们要的模型须要如右边公式所看到的的预測函数. ...
- 分类,logistic回归
1. 使用回归进行分类 机器学习中分类是指输入一个样本点,输出这个样本点所属的类别,预测的是一个离散值,如类别(1,2). 而回归问题是输入一个样本点,预测一个值,这个值是连续值,可以介于\([1,2 ...
- 分类和逻辑回归(Classification and logistic regression)
分类问题和线性回归问题问题很像,只是在分类问题中,我们预测的y值包含在一个小的离散数据集里.首先,认识一下二元分类(binary classification),在二元分类中,y的取值只能是0和1.例 ...
- 斯坦福CS229机器学习课程笔记 part2:分类和逻辑回归 Classificatiion and logistic regression
Logistic Regression 逻辑回归 1.模型 逻辑回归解决的是分类问题,并且是二元分类问题(binary classification),y只有0,1两个取值.对于分类问题使用线性回归不 ...
随机推荐
- C# 设置开机自动启动(注册表方式)
.NET技术交流群 199281001 .欢迎加入. using System; using System.Collections.Generic; using System.Linq; using ...
- RedHat linux配置yum本地资源
今天安装个linux平台的oracle数据库,在oracle检测的时候发现有些系统补丁包没有安装,手动rpm安装报有些关联包也没有安装,想想如果一个一个rpm的话累死人了要,所以想起用yum来进行安装 ...
- Centos上传下载小工具lrzsz
http://www.centoscn.com/image-text/install/2013/0819/1374.html
- ASP.NTE 5 Target framework dnx451 and dnxcore50(转)原文:http://www.cnblogs.com/xishuai/p/aspnet5-target-framework-dnx451-and-dnxcore50.html
中文不知如何定义标题,所以干脆就直接贴出关键字,在 ASP.NTE 5 项目的 project.json 配置文件中,会有这样的定义: "frameworks": { " ...
- vsftpd 搭建与介绍
CentOS Linux Vsftp服务器配置 CentOS Linux Vsftp服务器配置 1.开启防火墙ftp端口 vi /etc/sysconfig/iptables ...
- 老码农教你在 StackOverflow 上谈笑风生
作为一个高大上的码农,你肯定用到过 StackOverflow,必须的.会有人否定这个断言么?那他恐怕不是真正的码农,或者说还没入门.StackOverflow 对于码农的重要性,基本就和诸葛亮对刘备 ...
- CMS介绍
CMS介绍 CMS是Content Management System的缩写,意为“内容管理系统”,它具有许多基于模板的优秀设计,可以加快网站开发的速度和减少开发的成本. CMS的功能不仅限于处理文本 ...
- bzoj1816 扑克牌
Description 你有n种牌,第i种牌的数目为ci.另外有一种特殊的牌:joker,它的数目是m.你可以用每种牌各一张来组成一套牌,也可以用一张joker和除了某一种牌以外的其他牌各一张组成1套 ...
- 第10章 使用Apache服务部署静态网站
章节简述: 本章节中通过对比目前热门的网站服务程序来说明Apache服务程序的优势,并新增主机空间选购技巧小节. 了解SELinux服务的3种工作模式,小心谨慎的使用semanage命令和setseb ...
- 翻译:非常详细易懂的法线贴图(Normal Mapping)
翻译:非常详细易懂的法线贴图(Normal Mapping) 本文翻译自: Shaders » Lesson 6: Normal Mapping 作者: Matt DesLauriers 译者: Fr ...