加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

请别再把深度学习与机器学习混为一谈了!

发布时间:2020-02-08 12:04:56 所属栏目:编程 来源:站长网
导读:副标题#e# 【51CTO.com快译】众所周知,虽然同属于人工智能的范畴,但是深度学习是一种特殊的机器学习形式。从流程上说,机器学习和深度学习都是从运用测试数据来训练某个模型开始,通过一系列的优化过程,进而找到最适合模型的数据权重。显然,这两种方法
副标题[/!--empirenews.page--]

请别再把深度学习与机器学习混为一谈了!

【51CTO.com快译】众所周知,虽然同属于人工智能的范畴,但是深度学习是一种特殊的机器学习形式。从流程上说,机器学习和深度学习都是从运用测试数据来训练某个模型开始,通过一系列的优化过程,进而找到最适合模型的数据权重。显然,这两种方法都可以处理数值(回归)和非数值(分类)的问题,只是在对象识别和语言翻译等应用领域,深度学习模型往往比机器学习模型更加适用。

细说机器学习

机器学习算法通常分为:监督(用各种答案来标注训练数据)和非监督(任何可能存在的标签都不会被显示在训练算法中)两种。

监督式机器学习又可以进一步被分为:分类(预测诸如:抵押贷款支付逾期的概率等非数字性的答案)和回归(预测诸如:某种网红商品的销售量等数字性的答案)。

无监督学习则可以进一步分为:聚类(查找相似对象组,如:跑步鞋、步行鞋和礼服鞋)、关联(查找对象的共同逻辑,如:咖啡和奶油)、以及降维(进行投射、特征选择与提取)。

分类算法

分类问题属于监督式学习范畴。它需要在两个或多个类之间进行选择,并最终为每一个类分配概率。最常见的算法包括:朴素贝叶斯、决策树、逻辑回归、k近邻和支持向量机(SVM)。您还可以使用诸如:随机森林等其他集成方法(模型的组合),以及AdaBoost和XGBoost之类的增强方法。

回归算法

回归问题也属于监督式学习范畴。它要求模型能够预测出一个数字。其中最简单且最快的算法是线性(最小二乘)回归。不过它通常只能给出一个不够准确的结果。其他常见的机器学习回归算法(除了神经网络)还包括:朴素贝叶斯、决策树、k近邻、LVQ(学习矢量量化)、LARS(最小角回归)、Lasso、弹性网络、随机森林、AdaBoost和XGBoost等。显然,在回归和分类的机器学习算法之间有一定的重叠度。

聚类算法

聚类问题属于无监督式学习范畴。它要求模型找出相似的数据点组。其中最流行的算法是K-Means聚类。其他常见的算法还包括:均值漂移聚类、DBSCAN(基于密度的带噪声应用空间聚类)、GMM(高斯混合模型)和HAC(凝聚层级聚类)。

降维算法

降维问题也属于无监督式学习范畴。它要求模型删除或合并那些对结果影响很小或没有影响的变量。它通常与分类或回归结合起来使用。常见降维算法包括:删除缺失值较多的变量、删除低方差的变量、决策树、随机森林、删除或合并高相关性的变量、后向特征消除、前向特征选择、因子分析、PCA(主成分分析)等。

各种优化方法

我们需要通过训练和评估,优化参数的权重,来找到一组最接近真实情况的数值,进而将监督式学习算法最终转化为恰当的模型。在实际应用中,这些算法的优化常常依赖于那些陡降的变体,例如:随机梯度下降,它本质上是在随机起点上执行多次陡降(steepest descent)。

而对于随机梯度下降法的常见改进包括:根据动量修正梯度的方向因素,或调整从一个数据(或称为epoch或batch)到下一个数据学习率的进展。

数据清理

为了让杂乱无章的数据能够为机器学习所用,我们必须对数据进行全面的过滤,其中包括:

1.初次查看数据,排除那些有大量丢失数据的列。

2.再次查看数据,选择需要进行预测的列(即,特征选择)。这也是您在迭代时可能希望更改的内容。

3.在其余列中排除那些缺少数据的行。

4.纠正明显的拼写错误,合并相应的答案。例如:U.S.、US、USA和America都应该被合并为一个类别。

5.排除具有超出范围数据的行。例如:如果您正在分析纽约市内出租车的出行情况,那么您需要过滤掉那些开到该城市区域边界之外的地理坐标行。

当然,您也可以酌情增加其他步骤,这主要取决于您收集到的数据类型。您甚至可以在机器学习管道(请参见-https://www.infoworld.com/article/3198252/data-in-intelligence-out-machine-learning-pipelines-demystified.html)中设置一些数据清理的步骤,以便按需进行修改与复用。

数据编码和标准化

为了对数据进行分类,您需要将文本标签编码为另一种形式。常见的有如下两种:

一种是label编码,它将每一个文本标签值都替换为一个数字。另一种是one-hot编码,它将每一个文本标签值都替换为带有二进制值(1或0)的列。一般来说,由于label编码有时会使机器学习算法误认为:被编码的列已经是一个有序列了,因此我们首选采用one-hot编码。

为了让数值数据适用于机器回归,我们通常需要对数据进行规范化。否则,更大范围的数字可能会主导特征向量之间的欧氏距离(Euclidian distance,它是在m维空间中两个点之间的真实距离),而该影响可能会以其他字段为代价被放大,进而导致陡降的优化难以收敛。目前,针对机器学习的数据规范化与标准化有着多种方法,其中包括:最小值标准化、均值标准化、以及按单位长度扩展等。有时该过程也被称为特性扩展(https://en.wikipedia.org/wiki/Feature_scaling)。

特征工程

特征是指被观察到的现象的可测量特性。“特征”的概念通常与解释变量相关。此处的解释变量,经常被用于诸如线性回归之类的统计技术。而特征向量则会将单行的所有特征,组合成一个数值型的向量。

选择特征的巧妙之处在于是否能选出解释问题的最小独立变量集。如果两个变量高度相关,则要么将它们合并成为一个单独的特征,要么去掉其中的一个。有时候,我们在进行主成分分析时,可以把相关的变量转换成一组线性无关的变量。

在实际应用中,我们能够通过简单的方式,来构造新的特征或减少特征向量的维数。例如,用死亡年份减去出生年份,就得到了死亡年龄,这是针对寿命和死亡率分析的主要自变量。当然,在其他情况下,特性的构建并非如此浅显。

分割数据

监督式机器学习的通常做法是:将数据集分成各个子集进行训练、验证和测试。其中的一种工作方式是:将80%的数据分配给训练数据集,而将其他的10%分配给验证和测试数据集。目前,大部分训练都是针对数据集进行的。在每一个epoch结束时,我们将针对验证数据集进行预测。

那些验证数据集中的错误,不但可以被用于识别停止的条件,并驱动超级参数的调优,而且可以帮助您确定目标模型是否对训练数据进行了过度的拟合。

对于测试数据集的预测通常是在最终模型上完成的。如果某个测试数据集从未被用于训练,我们有时则称之为holdout数据集。

作为其他常见的分割数据方案,交叉验证能够重复地将整个数据集分割成一套训练数据集,以及一套验证数据集。

机器学习库

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读