到底什么是机器学习模型?这篇文章终于讲明白了

机器学习(MachineLearning)是对研究问题进行模型假设,利用计算机从训练数据中学习得到模型参数,并最终对数据进行预测和分析的一门学科。

模型是机器学习的核心组成要素。本文从模型的广义概念出发,引申出机器学习模型的基本定义,并就机器学习中容易混淆的概念——模型和算法,进行了详细对比和关系解读,最后列出了常见的模型评估指标与方法,供大家在学习机器学习的过程中起到一点参考作用。

1.模型的基本定义

先来看看百度百科对于模型的定义:从广义上讲:如果一件事物能随着另一件事物的改变而改变,那么此事物就是另一件事物的模型。模型的作用就是表达不同概念的性质,一个概念可以使很多模型发生不同程度的改变,但只要很少模型就能表达出一个概念的性质,所以一个概念可以通过参考不同的模型从而改变性质的表达形式。

当模型与事物发生联系时会产生一个具有性质的框架,此性质决定模型怎样随事物变化。

模型由三个部分组成的,即目标、变量和关系。

数学模型:用数学语言描述的一类模型。数学模型可以是一个或一组代数方程、微分方程、差分方程、积分方程或统计学方程,也可以是它们的某种适当的组合,通过这些方程定量地或定性地描述系统各变量之间的相互关系或因果关系。除了用方程描述的数学模型外,还有用其他数学工具,如代数、几何、拓扑、数理逻辑等描述的模型。需要指出的是,数学模型描述的是系统的行为和特征而不是系统的实际结构。

那么什么是机器学习模型?

机器学习模型其实是一种映射,可以将其看作是在给定输入情况(x)下、输出一定结果的函数f(x),如下图所示:

机器学习模型本质上是一种接受数据作为输入并生成输出的函数,在利用已知数据去预测未知数据的过程中,模型不仅要在已知样本上表现优秀,更要在未知样本上具有相近的表现。

由此,我们可以引申出机器学习的定义:机器学习的概念就是通过输入海量训练数据对模型进行训练,使模型掌握数据所蕴含的潜在规律,进而对新输入的数据进行准确的分类或预测。

机器学习的核心是“使用算法解析数据,从中学习,然后对新数据做出决定或预测”。也就是说计算机利用已获取的数据得出某一模型,然后利用此模型进行预测的一种方法,这个过程跟人的学习过程有些类似,比如人获取一定的经验,可以对新问题进行预测。

2.机器学习中算法与模型的区别:

算法:算法是指完成一个任务所需要的具体步骤和方法。也就是说给定初始状态或输入数据,经过计算机程序的有限次运算,能够得出所要求或期望的终止状态或输出数据。

机器学习中的“算法”是在数据上运行以创建机器学习“模型”的过程。

机器学习算法有很多,例如线性回归、逻辑回归、决策树、人工神经网络、K-最近邻、K-均值等等。你可以把机器学习算法想象成计算机科学中的任何其他算法。

模型:机器学习中的“模型”是运行在数据上的机器学习算法的输出。

模型表示机器学习算法所学到的内容。

模型是在训练数据上运行机器学习算法后保存的“东西”,它表示用于进行预测所需的规则、数字和任何其他特定于算法的数据结构。

举一些例子,可能会让人更清楚地明白这一点:

线性回归算法的结果是一个由具有特定值的稀疏向量组成的模型。

决策树算法的结果是一个由具有特定值的if-then语句树组成的模型。

神经网络/反向传播/梯度下降算法一起产生一个由具有特定值的向量或权重矩阵和特定值的图结构组成的模型。

算法和模型的关系

现在我们已经熟悉了机器学习的“算法”和机器学习的“模型”。

具体来说,就是对数据运行算法来创建模型。

下图这个公式可以更好地帮助我们理解算法和模型的关系。

我们了解到,模型由数据和如何使用数据对新数据进行预测的过程组成。

如果将机器学习模型想象成一个“程序”,那么机器学习模型“程序”由数据和利用数据进行预测的过程组成。

通常情况下,算法是某种优化程序,即在训练数据集上使模型(数据+预测算法)的误差最小化。线性回归算法就是一个很好的例子。它执行一个优化过程(或用线性代数进行分析求解),找到一组权重,使训练数据集上的误差之和平方最小化。

例如,考虑线性回归算法和由此产生的模型。该模型由系数(数据)向量组成,这些系数(数据)与作为输入的一行新数据相乘并求和,以便进行预测(预测过程)。

我们将数据保存为机器学习模型,以备后用。

机器学习是自动编程

我们真的只是想要一个机器学习的“模型”,而“算法”就是我们获得模型的路径。

机器学习技术用于解决其他方法无法有效或高效解决的问题。

例如,如果我们需要将电子邮件分类为垃圾邮件或非垃圾邮件,我们需要一个软件程序来完成此任务。

我们可以坐下来,手动查看大量的电子邮件,然后写if语句来完成合格任务。人们已经试过这个方法。事实证明,这种方法是缓慢的、脆弱的,而且效果也不是很好。

相反,我们可以使用机器学习技术来解决这个问题。具体来说,像朴素贝叶斯(NaiveBayes)这样的算法就可以从大量的历史邮件样本数据集中学习如何将邮件分类为垃圾邮件和非垃圾邮件。

我们不想要“朴素的贝叶斯”,我们想要朴素贝叶斯给出的模型,就是我们可以用来对邮件进行分类的模型(概率向量和使用概率概率的预测算法)。我们想要的是模型,而不是用来创建模型的算法。

从这个意义上来说,机器学习模型是一个由机器学习算法自动编写、或创建、或学习的程序,用来解决我们的问题。

机器学习算法执行自动编程,而机器学习模型是为我们创建的程序。

3.衡量模型性能的指标

什么是模型评估

模型评估是对训练好的模型性能进行评估,模型评估是模型开发过程不可或缺的一部分。它有助于发现表达数据的最佳模型和所选模型将来工作的性能如何。

模型评估的类型

机器学习的任务有回归,分类和聚类,针对不同的任务有不同的评价指标。按照数据集的目标值不同,可以把模型评估分为分类模型评估和回归模型评估。

过拟合、欠拟合

1)欠拟合

欠拟合(或称:拟合不足、欠配,英文:underfitting)是指模型在训练数据上没有获得充分小的误差.造成欠拟合的原因通常是模型学习能力过低,具体地说,就是模型参数过少或者结构过于简单,以至于无法学习到数据的内在结构和特征.例如,当用一个线性模型去拟合非线性数据时,会发生欠拟合.由此,可以通过增加模型参数和复杂度,提高学习能力,从而解决欠拟合问题.与欠拟合相对应的,是过度拟合.

2)过拟合

是指为了得到一致假设而使假设变得过度严格。

避免过拟合是分类器设计中的一个核心任务。

通常采用增大数据量和测试样本集的方法对分类器性能进行评价。

无论是欠拟合还是过拟合,都是模型泛化能力差的表现。

模型泛化能力

泛化能力(generalizationability)是指机器学习算法对新鲜样本的适应能力。

机器学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。

规律适用于现有数据,同样也适用于新鲜数据。

常见的分类模型评估指标有:

1)混淆矩阵:混淆矩阵是监督学习中的一种可视化工具,主要用于模型的分类结果和实例的真实信息的比较。

矩阵中的每一行代表实例的预测类别,每一列代表实例的真实类别。

2)准确率Accuracy:准确率是最常用的分类性能指标。

Accuracy=(TP+TN)/(TP+FN+FP+TN)

预测正确的数占样本总数的比例,即正确预测的正反例数/总数。

3)精确率(Precision):精确率只是针对预测正确的正样本而不是所有预测正确的样本。

表现为预测出是正的里面有多少真正是正的。可理解为查准率。

Precision=TP/(TP+FP)

即正确预测的正例数/预测正例总数

4)召回率recall:率表现出在实际正样本中,分类器能预测出多少。

与真正率相等,可理解为查全率。正确预测为正占全部正校本的比例

Recall=TP/(TP+FN),即正确预测的正例数/实际正例总数

5)F1-score:主要用于评估模型的稳健性

6)AUC指标:主要用于评估样本不均衡的情况

7)AUC:随机挑选一个正样本以及一个负样本,分类器判定正样本的值高于负样本的概率就是AUC值。

8)PR曲线:PR曲线的横坐标是精确率P,纵坐标是召回率R。

常见的回归模型评估指标有:

1)向量的距离

·欧式距离/几何距离

·曼哈顿距离

·马氏距离

·余弦距离

2)平均绝对误差(MAE)

平均绝对误差MAE(MeanAbsoluteError)又被称为l1范数损失(l1-normloss):

3)平均平方误差(MSE)

平均平方误差MSE(MeanSquaredError)又被称为l2范数损失(l2-normloss):

4)均方根误差(RMSE)

RMSE虽然广为使用,但是其存在一些缺点,因为它是使用平均误差,而平均值对异常点(outliers)较敏感,如果回归器对某个点的回归值很不理性,那么它的误差则较大,从而会对RMSE的值有较大影响,即平均值是非鲁棒的。

5)解释变异

解释变异(Explainedvariance)是根据误差的方差计算得到的。

6)决定系数

决定系数(Coefficientofdetermination)又被称为R2。

常见的聚类模型评估指标:

1)兰德指数:兰德指数(Randindex)需要给定实际类别信息C,假设K是聚类结果,a表示在C与K中都是同类别的元素对数,b表示在C与K中都是不同类别的元素对数,则兰德指数为:

2)互信息

互信息(MutualInformation)也是用来衡量两个数据分布的吻合程度。

3)轮廓系数

轮廓系数(Silhouettecoefficient)适用于实际类别信息未知的情况。

THE END
1.机器学习入门知识八、学习机器学习的资源 前言 随着人工智能的发展,作为人工智能中的一个基础且重要的分支——机器学习也是愈发吸引大家来了解以及学习,那么在学习机器学习前,我们需要先来了解一下什么是机器学习,以及机器学习中涉及了哪些内容。 一、机器学习是什么? 机器学习(Machine Learning,ML)是人工智能(AI)领域的一个分支,致力https://blog.csdn.net/CYTLOVELY/article/details/143833863
2.什么是机器学习?数据科学NVIDIA术语表什么是机器学习?其工作原理是什么? 简而言之,机器学习就是训练机器去学习,而不需要明确编程。机器学习作为 AI 的一个子集,以其最基本的形式使用算法来解析数据、学习数据,然后对现实世界中的某些内容做出预测或判断。 换句话说,机器学习使用算法从输入到机器学习平台的数据中自动创建模型。典型的程序化或基于规则的系https://www.nvidia.cn/glossary/data-science/machine-learning/
3.机器学习:从基础到实践那么,什么是机器学习?简单来说,机器学习是人工智能的一个分支,它使用算法让计算机系统从数据中学习并做出预测或决策。一、机器学习基础机器学习的基础包括监督学习、无监督学习和强化学习。 监督学习:在这种方法中,我们有一个带有标签的训练数据集,算法通过学习输入和输出之间的关系来预测新的未知数据。例如,在图像识别https://developer.baidu.com/article/detail.html?id=2865599
4.机器学习中的特征空间腾讯云开发者社区声明:这篇博文主要是对参考文献中的那个PPT的学习之后记下的一些笔记,整理出来与大家一起分享,若笔记中有任何错误还请不吝指出,文中可能会使用到原作者的一些图,若侵犯到作者的权益,还请告知,我会删除,谢谢。 一、机器学习的流程 应用机器学习算法的流程大致可以分为: https://cloud.tencent.com/developer/article/1066396
5.机器学习课件机器学习课件-1.机器学习中的数学.pdf 90页VIP内容提供方:1243595614 大小:5.47 MB 字数:约2.99万字 发布时间:2017-11-05发布于浙江 浏览人气:491 下载次数:仅上传者可见 收藏次数:1 需要金币:*** 金币 (10金币=人民币1元)机器学习课件-1.机器学习中的数学.pdfhttps://max.book118.com/html/2017/1102/138623170.shtm
6.机器学习中常见分类方法【嵌牛导读】机器学习的分类方法,你知道几种? 【嵌牛鼻子】决策树,基于规则分类,最近邻分类,朴素贝叶斯,人工神经网络,支持向量机 【嵌牛提问】这几种分类方式各自适用于什么样的数据? 【嵌牛正文】 Content 1. 决策树分类(链接:http://blog.csdn.net/github_36299736/article/details/52749999) https://www.jianshu.com/p/45fdbdeb186b
7.Pandas在数据分析和机器学习中的应用及优势pythonPandas在数据分析和机器学习中的应用及优势 Pandas是Python中用于数据处理和数据分析的库,它提供了灵活的数据结构和数据操作工具,包括Series和DataFrame等。Pandas还支持大量数据操作和数据分析功能,包括数据清洗、转换、筛选、聚合、透视表、时间序列分析等 + 目录https://www.jb51.net/article/282879.htm
8.机器学习中的数据清洗与特征处理综述如上图所示是一个经典的机器学习问题框架图。数据清洗和特征挖掘的工作是在灰色框中框出的部分,即“数据清洗=>特征,标注数据生成=>模型学习=>模型应用”中的前两个步骤。 灰色框中蓝色箭头对应的是离线处理部分。主要工作是: 1.从原始数据,如文本、图像或者应用数据中清洗出特征数据和标注数据。 https://weibo.com/p/1001603859029393857056
9.机器学习中低精度计算产生高准确度结果的解决方案有人认为,用低精度训练机器学习模型会限制训练的精度,事实真的如此吗?本文中,斯坦福大学的DAWN人工智能研究院介绍了一种名为bit recentering的技术,它可以用低精度的计算实现高准确度的解决方案。以下是论智对原文的编译,文末附原论文地址。 低精度计算在机器学习中已经吸引了大量关注。一些公司甚至已经开始研发能够原https://www.elecfans.com/d/654475.html
10.教程:在PowerBI中生成机器学习模型在包含训练数据和标签信息的表的“操作”列表中,选择“应用 ML 模型”图标,然后选择“添加机器学习模型”。 创建机器学习模型的第 1 个步骤是确认历史数据,包括想要预测的结果字段。 通过学习此数据创建模型。 在这种情况下,你想要预测访问者是否会进行购买。 要预测的结果位于“收入”字段中。 选择“收入”作为“https://docs.microsoft.com/zh-cn/power-bi/service-tutorial-build-machine-learning-model
11.「机器学习」准确率精确率召回率F1分数ROCAUC在机器学习中衡量一个模型是否准确我们有很多指标: 准确率 - accuracy 精确率 - precision 召回率 - recall F1分数-F1 score ROC曲线下面积 - ROC-AUC (area under curve) 那么,这些指标到底都是什么呢?各自有什么优缺点呢?笔者在了解这些指标的时候是在网上各大网站(CSDN、博客园、知乎)上找文章学习的。但是https://www.flyai.com/article/683
12.谭庆收(博士)1.国家自然科学基金面上项目,噪声环境中机器学习辅助的量子计量学 研究,批准号:12275077,2023年1月至2026年12月。 2.国家自然科学基金青年项目,超冷原子腔光机械系统中的量子效应及 应用,批准号:11805047,2019年1月至2021年12月。 3.国家自然科学基金地区项目,玻色-爱因斯坦凝聚体中偶极-偶极与三 https://wdxy.hnist.cn/info/1102/4517.htm
13.机器学习中用来防止过拟合的方法有哪些?为什么在机器学习中比较常见?这是因为机器学习算法为了满足尽可能复杂的任务,其模型的拟合能力一般远远https://www.zhihu.com/question/59201590