代码改变世界

ML 05、分类、标注与回归

  ☆Ronny丶  阅读(2632)  评论(0编辑  收藏  举报

机器学习算法 原理、实现与实践 —— 分类、标注与回归

1. 分类问题

分类问题是监督学习的一个核心问题。在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题。

监督学习从数据中学习一个分类决策函数或分类模型,称为分类器(classifier)。分类器对新的输入进行输出的预测,这个过程称为分类。

分类问题包括学习与分类两个过程。在学习的过程中,根据已知的训练样本数据集利用有效的学习方法学习一个分类器;在分类中,利用学习的分类器对新的输入实例进行分类。

对于训练数据集(x1,y1),(x2,y2),,(xN,yN),学习系统将学习一个分类器P(Y|X)Y=f(X);分类系统通过学到的分类器P(Y|X)Y=f(X)对于新的输入实例xN+1进行分类,即预测其输出的类标记yN+1

评价分类器性能的指标一般是分类的准确率,其定义是:对于给定的测试数据集,分类器正确分类的样本数与总样本数之比。

对于二分类问题常用的评价指标是精确率(precision)与召回率(recall)。通常以关注的类为正类,其他类为负类,分类器在测试数据集上的预测或正确或不正确,4种情况出现的总数分别记作:

  • TP —— 将正类预测为正类的数量;
  • FN —— 将正类预测为负类的数量;
  • FP —— 将负类预测为正类的数量;
  • TN —— 将负类预测为负类的数量;

精确率定义为:

P=TPTP+FP

召回率定义为:

R=TPTP+FN

此外,还有一个F1值,是精确率和召回率的调用均值,即

2F1=1P+1R

F1=2TP2TP+FP+FN

精确率真和召回率都高时,F1也会高。

许多的机器学习方法可以用来解决分类问题,包括k近邻法、感知机、朴素贝叶斯法、决策树、逻辑斯谛回归模型、SVM、adaBoost、贝叶斯网络、神经网络等。

比如一个文本内容分类的例子。文本分类是根据文本的特征将其划分到已有的类中。输入是文本的特征向量,输出是文本的类别。通常把文本中的单词定义为特征,每个单词对应一个特征。单词的特征可以是二值的:如果单词在文本中出现则取值1,否则是0;也可以是多值的,表示单词在文本中出现的频率。形象地,如果“股票”“银行”“货币”这些词出现很多,这个文本可能属于经济类,如果“网球”“比赛”“运动员”这些词频繁出现,这个文本可能属于体育类。

2. 标注问题

标注问题也是一个监督学习问题。可以认为标记问题是分类问题的一个推广。

标注问题的输入是一个观测序列,输出的是一个标记序列或状态序列。也就是说,分类问题的输出是一个值,而标注问题输出是一个向量,向量的每个值属于一种标记类型。

标注问题也可以分为两步:学习和标注两个过程。首先给定一个训练数据集

T=(x1,y1),(x2,y2),,(xN,yN)

这里,xi=(xi(1),xi(2),,xi(n))T,i=1,2,,N是输入观测序列,yi=(yi(1),yi(2),,yi(n))T是相应的输出标记序列,n是序列的长度,对于不同样本可以有不同的值。学习系统基于训练数据集构建一个模型,表示为条件概率分布:

P(Y(1),Y(2),,Y(n)|X(1),X(2),,X(n))

这里,每一个X(i)(i=1,2,,N)取值为所有可能的观测,每一个Y(i)(i=1,2,,N)取值为所有可能的标记,一般nN。标注系统按照学习得到的条件概率分布模型,对新的输入观测序列找到相应的输出标记序列。具体地,对一个观测序列xN+1=(xN+1(1),xN+1(2),,xN+1(n))T找到使条件概率P(yN+1(1),yN+1(2),,yn+1(n)|xN+1(1),xN+1(2),,xN+1(n))最大的标记序列yN+1=(yN+1(1),yN+1(2),,yN+1(n))T

评价标注模型的指标与评价分类的模型指标一样,常用的有标注准确率、精确率和召回率等。

标注常用的机器学习方法有:隐性马尔可夫模型、条件随机场。

自然语言处理中的词性标注(part of speech tagging)就是一个典型的标注问题:给定一个由单词组成的句子,对这个句子中的每一个单词进行词性标注,即对一个单词序列预测其对应的词性标记序列。

3. 回归问题

回归问题也属于监督学习中的一类。回归用于预测输入变量与输出变量之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化。

回归模型正是表示从输入变量到输出变量之间映射的函数。回归问题的学习等价于函数拟合:选择一条函数曲线,使其很好地拟合已知数据且很好地预测未知数据。

回归问题按照输入变量的个数,可以分为一元回归和多元回归;按照输入变量与输出变量之间关系的类型,可以分为线性回归和非线性回归。

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

一个回归学习用于股票预测的例子:假设知道一个公司在过去不同时间点的市场上的股票价格(或一段时间的平均价格),以及在各个时间点之间可能影响该公司股份的信息(比如,公司前一周的营业额)。目标是从过去的数据学习一个模型,使它可以基于当前的信息预测该公司下一个时间点的股票价格。具体地,将影响股价的信息视为自变量(输入特征),而将股价视为因变量(输出的值)。将过去的数据作为训练数据,就可以学习一个回归模型,并对未来股份进行预测。实际我们知道想做出一个满意的股价预测模型是很难的,因为影响股份的因素非常多,我们未必能获得那些有用的信息。

编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示