机器学习和深度学习算法流程终于考上的研究僧啦

机器学习和深度学习算法流程终于考上了人工智能研究僧。我不知道机器学习和深度学习之间的区别。我觉得一切都是深度学习的挖掘。听说前辈调了10个月的参数准备发 有T9开天迅雷型号2000亿参数,想调参数发T10拿Best Paper

如今,与传统机器学习相关的研究论文比例确实不是很高。有人抱怨深度学习只是一个系统工程,没有数学含金量。

但不可否认,深度学习是非常有用的,它极大地简化了传统机器学习的整体算法分析和学习过程。更重要的是,它刷新了一些传统机器学习算法无法完成的通用领域的任务。精度和准确性。

深度学习这几年很火,就像5年前的大数据一样,但是深度学习主要属于机器学习领域,所以在这篇文章中,我们来谈谈机器学习的算法过程和深度学习的区别。

1、机器学习的算法流程

其实机器学习研究是数据科学(听起来有点无聊),以下是机器学习算法的主要过程:

数据集准备

探索性数据分析

数据预处理

数据分割

机器学习算法建模

选择机器学习任务

最后一步是评估机器学习算法适用于真实数据的程度。

= 1.1 个数据集

我们首先要研究的是数据的问题,数据集是构建机器学习模型过程的起点。简单来说,数据集本质上是一个 M×N 矩阵,其中 M 代表列(特征),N 代表行(样本)。

列可以分解为 X 和 Y,其中 X 可以指特征、自变量或输入变量。Y 也可以指类别标签、因变量和输出变量。

1.2 数据分析

进行探索性数据分析 (EDA) 以获得对数据的初步了解。EDA的主要任务是:清洗数据、描述数据(描述性统计、图表)、查看数据的分布、比较数据之间的关系、培养数据的直觉、总结数据等。

探索性数据分析方法简单来说就是理解数据,分析数据,弄清楚数据的分布。主要关注数据的真实分布,强调数据的可视化,让分析师一眼就可以清楚地看到数据中隐藏的规律,从而得到启发,从而帮助分析师找到适合数据的模型.

在典型的机器学习算法流程和数据科学项目中,我做的第一件事就是“查看数据”以更好地理解数据。个人常用的前三种 EDA 方法包括:

描述性统计

平均值、中位数、众数、标准差。

数据可视化

热图(识别特征内相关性)、箱线图(可视化组差异)、散点图(可视化特征之间的相关性)、主成分分析(可视化数据集中呈现的聚类分布)等。

数据整形

对数据进行透视、分组、过滤等。

1.3 数据预处理

数据预处理实际上是数据清洗、数据排序或一般数据处理。指对数据进行的各种检查和更正过程人工神经网络和支持向量机优点,以纠正缺失值、拼写错误、规范化/规范化值以使其具有可比性、转换数据(如对数转换)等。

例如,将图像调整为统一大小或分辨率。

数据的质量会对机器学习算法模型的质量产生很大的影响。因此,为了达到最佳的机器学习模型质量,传统机器学习算法的很大一部分过程实际上是在分析和处理数据。

一般来说,数据预处理在机器学习项目过程中很容易占到 80% 的时间,而实际的模型构建阶段和后续的模型分析只占剩下的 20%。

1.4 数据拆分训练集和测试集

在机器学习模型的开发过程中,希望经过训练的模型能够在新的、看不见的数据上表现良好。为了模拟新的、看不见的数据,对可用数据进行数据拆分,从而将已经处理的数据集分为两部分:训练集和测试集。

第一部分是数据的较大子集,用作训练集(例如原始数据的80%);第二部分通常是较小的子集,用作测试集(剩下的 20% 的数据)。

接下来,使用训练集建立一个预测模型,然后将这个训练好的模型应用到测试集(即作为新的、未见过的数据)进行预测。根据模型在测试集上的表现选择最佳模型。为了获得最佳模型,还可以进行超参数优化。

训练集&验证集&测试集

另一种常见的数据拆分方法是将数据拆分为 3 部分:

训练集

验证集

测试集

训练集用于构建预测模型,同时对验证集进行评估,在此基础上进行预测,进行模型调优(如超参数优化),选出性能最佳的模型基于验证集的结果。

验证集的操作方式与训练集类似。但值得注意的是,测试集不参与机器学习模型的建立和准备。它是机器学习模型训练过程中预留的一个单独的样本集,用于调整模型的超参数,对模型的能力进行初步评估。通常,它在训练时得到验证。这里的验证是使用验证集来测试模型的初始效果。

图片[1]-机器学习和深度学习算法流程终于考上的研究僧啦-老王博客

交叉验证

事实上,数据是机器学习过程中最有价值的。为了更经济地使用现有数据,通常采用 N 折交叉验证将数据集划分为 N 个部分。在这样一个 N 折数据集中,其中一个被保留作为测试数据,而其余的作为训练数据用于构建模型。机器学习过程通过重复的交叉迭代得到验证。

这种交叉验证方法在机器学习过程中被广泛使用,但在深度学习中使用较少。

1.5 建模机器学习算法

现在到了最有趣的部分,数据过滤和处理过程实际上非常繁琐,现在可以使用准备好的数据进行建模。根据目标变量(通常称为 Y 变量)的数据类型,可以构建分类或回归模型。

机器学习算法

机器学习算法可以大致分为以下三种类型之一:

监督学习

是一项机器学习任务,它在输入 X 和输出 Y 变量之间建立数学(映射)关系。这样的 (X, Y) 对构成了用于构建模型的标记数据人工神经网络和支持向量机优点,以便学习如何从输入预测输出。

无监督学习

是一项仅使用输入 X 变量的机器学习任务。X变量是未标记的数据,学习算法在建模时使用数据的固有结构。

强化学习

是一项决定下一步行动的机器学习任务,它通过试错学习来做到这一点,力求最大化回报。

参数调优

传说中的调音师主要就是在做这个工作。超参数本质上是机器学习算法的参数,直接影响学习过程和预测性能。由于没有一种万能的超参数设置可以普遍适用于所有数据集,因此需要进行超参数优化。

以随机森林为例。在使用 randomForest 时,通常会优化两个常见的超参数,包括 mtry 和 ntree 参数。mtry(maxfeatures) 表示在每次拆分时随机抽样为候选的变量数,ntree(nestimators) 表示要生长的树的数量。

10 年前仍然非常主流的另一种机器学习算法是支持向量机 (SVM)。需要优化的超参数是径向基函数 (RBF) 内核的 C 参数和 gamma 参数。C 参数是限制过拟合的惩罚项,而 gamma 参数控制 RBF 核的宽度。

调优通常是为了获得最佳值的超参数集。在许多情况下,您不应该追求找到超参数的最佳值。其实参数调优只是个玩笑。您确实需要了解算法的原理并找到适合数据和模型的参数。而已。

特征选择

特征选择实际上是从初始的大型特征集中选择特征子集的过程。除了实现高精度模型之外,机器学习模型构建的最重要方面之一是获得可操作的见解,为了实现这一点,能够从大量特征中选择重要的特征子集非常重要特征。

特征选择任务本身可以构成一个全新的研究领域,其中大量的精力致力于设计新的算法和方法。在众多可用的特征选择算法中,一些经典的方法是基于模拟退火和遗传算法。除此之外,还有大量基于进化算法(如粒子群优化、蚁群优化等)和随机方法(如蒙特卡洛)的方法。

1.6 机器学习任务

在监督学习中,两个常见的机器学习任务包括分类和回归。

分类

经过训练的分类模型将一组变量作为输入,并预测输出的类别标签。下图显示了由不同颜色和标签表示的三个类。每个小的彩色球体代表一个数据样本。二维显示三种类型的数据样本。这种可视化可以通过执行 PCA 分析并显示前两个主成分 (PC) 来创建;或者,可以选择两个变量的简单散点图可视化。

表现

你怎么知道一个训练有素的机器学习模型的表现是好是坏?就是使用绩效评价指标(metrics)。评估分类性能的一些常见指标包括准确性(AC)、敏感性(SN)、特异性(SP)和马修相关系数(MCC)。

返回

最简单的回归模型,可以很好地概括为以下简单方程:Y = f(X)。其中,Y对应量化后的输出变量,X指输入变量,f指计算输出值作为输入特征的映射函数(从机器学习模型中获得)。

上述回归示例公式的本质是,如果 X 已知,则可以推导出 Y。计算(预测) Y 后,一种流行的可视化方法是制作实际值与预测值的简单散点图,如下图所示。

评估回归模型的性能以评估拟合模型如何准确预测输入数据的值。评估回归模型性能的常用指标是决定系数 (R²)。此外,均方误差 (MSE) 和均方根误差 (RMSE) 也是衡量残差或预测误差的常用指标。

2、深度学习算法流程

深度学习实际上是机器学习中的一种范式,所以它们的主要过程是相似的。深度学习优化了数据分析并缩短了建模过程。神经网络统一了原始机器学习中盛行的算法。

在深度学习正式大规模使用之前,机器学习算法过程中医学花费大量时间收集数据,然后对数据进行筛选,尝试各种特征提取机器学习算法,或者结合各种不同的特征进行分类数据并返回。

以下是机器学习算法的主要过程:主要来自

数据集准备

数据预处理

数据分割

定义神经网络模型

训练网络

深度学习不需要我们自己提取特征,而是通过神经网络自动对数据进行高维抽象学习,减少了特征工程的组成,在这方面节省了大量时间。

但同时,由于引入了更深更复杂的网络模型结构,参数调优的工作也变得更加繁重。例如:定义神经网络模型结构,确定损失函数,确定优化器,最后反复调整模型参数的过程。

参考

[1]

[2] 陈忠明. 《深度学习:原理与实践》

© 版权声明
THE END
喜欢就支持一下吧
点赞0
分享
评论 抢沙发

请登录后发表评论