勿将数据分析中的深度学习与机器学习混为一谈


勿将深度学习与机器学习混为一谈

虽说机器学习和深度学习都能发现数据中的模式与特征,但是它们所涉及到的技术和具体的应用场景却截然不同。

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

细说机器学习

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

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

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

分类算法

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

回归算法

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

聚类算法

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

降维算法

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

各种优化方法

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

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

数据清理

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

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

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

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

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

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

当然,也可以酌情增加其他步骤,这主要取决于您收集到的数据类型。您甚至可以在机器学习管道(参见)中设置一些数据清理的步骤,以便按需进行修改与复用。

数据编码和标准化

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

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

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

特征工程

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

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

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


文章作者: sfc9982
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 sfc9982 !
  目录