分类和回归是机器学习的两种典型的任务,本文半分别对这两个任务做阐述。
首先我们先流程下机器学习过程 -> 准备数据 - 构建模型 - 训练模型 - 预测结果
详见 机器学习的任务流程
分类任务
分类是一种预测模型,用于将输入数据划分到预定义的类别中,其通过学习样本数据的特征和标签之间的关系,建立一个决策边界或者分类规则来进行分类预测。
简单理解就是,分类任务是对”离散值"进行预测,根据每个样本的值/特征预测该样本属于类型A、类型B还是类型C,例如情感分类,内容审核,相当于学习了一个分类边界(决策边界),用分类边界把不同类别的数据区分开来。
按输出类别(标签)不同,可以分为二分类(Binary Classification)、多分类(Multi-Class Classification)、多标签分类(Multi-Label Classification)。
二分类、多分类与多标签
二分类
通过训练集进行学习,建立一个从输入空间X到输出空间Y的映射 f:X->Y. 其中Y={-1,+1} 或 {0,1} 。比如:新闻可以分为体育、非体育等两个类别,这就是一个典型的二分类任务。
假设1代表正类,0代表负类,二分类模型可以定义如下:
其中 Y ∈ {0,1} 是输出,x为输入。
二分类算法:
| 传统二分类算法 | 思想 |
|---|---|
| LR逻辑回归算法 | 概率划分 |
| SVM支持向量机 | 空间划分 |
| K邻近算法 | 距离划分 |
| 决策树 | 信息量划分 |
| 朴素贝叶斯 | 条件概率公式 |
| FM因子分解机 | 概率划分 |
常用的二分类评估指标:准确率、召回率、F1。可见机器学习之模型评估指标
多分类
通过训练集进行学习,建立一个从输入空间X到输出空间Y的映射 f:X->Y. 其中Y > 2。比如:新闻可以分为体育、财经、其它等三个类别,这就是一个典型的多分类任务。
假设A代表A类,B代表B类...,N代表N类。多分类模型定义如下:
...
其中 Y ∈ {A,B...N} 是输出,x为输入。
多分类算法:
| 传统二分类算法 | 思想 |
|---|---|
| K邻近算法 | 距离划分 |
| 朴素贝叶斯 | 条件概率公式 |
| 决策树 | 信息量划分 |
| RF随机森林 | 信息量划分 |
| GBDT梯度提升树 | 信息量划分 |
| XGBoost | 信息量划分 |
多分类评估方法:Micro F1、Macro F1。可见机器学习之模型评估指标
一些算法只支持完成二分类的任务,但有一些算法天然可以完成多分类任务。
多分类的任务可以转换成二分类的任务,
多标签分类
假设代表d维的示例空间,Y = {}代表包含q个类的标记空间,给定多标记训练集D = {(,)},其中 为 d维的属性向性,而 为与 对应的类别标记,学习系统的任务是从中学习得到一个多标记分类器。基于此,对于任一示例 x ∈ X,分类器预测隶属于该示例的类别标记集合为 h(x) ∈ Y。
简单的说:一个实例,在某个时刻,可能有多个标签来描述它。如下图,这个电影被标记了“战争”,“普通话”,“华语”这几个标签。
多标签算法:
| 方法 | 策略 | 算法 |
|---|---|---|
| 问题转换 | 一阶策略 | Binary Relevance |
| 二阶策略 | Calibrated Label Ranking | |
| 高阶策徊 | Random k-labelsets | |
| 算法适应 | 一阶策略 | ML - kNN |
| 二阶策略 | Rank - kNN | |
| 高阶策徊 | LEAD |
多标签评估:
- 基于样本
| 角度 | 评估指标 |
|---|---|
| 分类 | Subset Accuracy Hamming Loss |
- 基于样本
| 角度 | 评估指标 |
|---|---|
| 分类 | |
| 排序 |
三种分类对比
| 假设 | 输出 | |
|---|---|---|
| 二分类 | 二元独立 | 二选一 |
| 多分类 | 多元独立 | 多选一 |
| 多标签 | 多样性 | 多选多 |
分类工具
- Scikit-learn
- FastText
- BERT
- ...
典型应用
分类任务一直都是机器学习的基础任务,已经被广泛应用在新闻分类、情感分类、主题分类、图片分类、视频分类、广告过滤,内容审核,评论分析,问题对答等NLP、数据挖掘、推荐系统、广告系统等领域。
回归任务
设样本集S={}包含m个样本,样本s_i=()包括一个实例x_i和一个实数标签值y_i,实例由n维特征向量表示,即x_i=。 回归任务可分为学习过程和预测过程。
简单的说: 回归任务是对“连续值”进行预测,根据每个样本的值/特征预测该样本的具体数值,例如房价预测,股票预测,销售额等,相当于学习到了这一组数据背后的分布,能够根据数据的输入预测该数据的取值。
常见的回归算法
- 贝叶斯线性回归
- 百分比回归
- 核岭回归
- 支撑向量回归
- 分位数回归
- 回归树
- 级联相关
- 分组方法数据处理
- 多元自适应回归样条
- 多线性插值
- ...
评估算法
回归任务的评估算法: 机器学习之模型评估指标
回归工具
- Scikit-learn
- BERT
- ...
典型应用
回归算法经常用于预测,用一个连续的函数去预测未来和未知。
- 趋势预估:传染病学
- 金融:分析与量化投资的系统性风险
- 经济:预测消费支出、固定资产投资支出、持有流动资产需求等
- 环境科学:...
与分类任务的区别
来源: 北大公开课-人工智能基础 56 机器学习的任务之回归
根本区别在于输出为一个度量空间:
对于分类问题,目的是寻找决策边界,其输出边界空间B不是度量空间,即“定性”。也就是说,在分类问题中,只有分类“正确”与“错误”之分,至于分类到了类别A还是类别B,没有分别,都是错误的数量+1。
对于回归问题,目的寻找最优拟合, 其输出边界空间B是一个度量空间,即“定量”问题。通过度量空间衡量训练预测值与真实值之间的“误差大小”。当真实值为10时,预测值为5时,误差为5,预测值为8时,误差值为2。
【参考】