深度学习与机器学习了解差异CDA数据分

2023-3-17 来源:不详 浏览次数:

-------机器学习和深度学习都可以发现数据模式,但是它们涉及截然不同的技术

机器学习和深度学习都是人工智能的形式。准确地说,深度学习是机器学习的一种特定形式。机器学习和深度学习都从训练和测试模型开始,并经过优化找到一个权重使模型效果更好。两者都可以处理数字(回归)和非数字(分类)问题,尽管在对象识别和语言翻译等多个应用领域中,深度学习模型往往比机器学习模型更适合。

机器学习说明

机器学习算法通常分为有监督的(训练数据有标记答案)和无监督的(可能存在的任何标签均未显示在训练算法中)。有监督的机器学习问题又分为分类(预测非数字答案,例如错过抵押贷款的可能性)和回归(预测数字答案,例如下个月在曼哈顿商店出售的小部件的数量)。

无监督学习可进一步分为聚类(查找类似对象的组,例如跑鞋,步行鞋和正装鞋),关联(查找对象的常见序列,例如咖啡和奶油)和降维(投影,特征选择),以及特征提取。

分类算法

分类问题是有监督的学习,要求在两个或多个类别之间进行选择,通常为每个类别提供概率。除了需要大量高级计算资源的神经网络和深度学习之外,最常见的算法是朴素贝叶斯,决策树,逻辑回归,K最近邻和支持向量机(SVM)。也可以使用集成方法(模型的组合),例如“随机森林”,其他“装袋”方法以及增强方法(例如,AdaBoost和XGBoost)。

回归算法

回归问题是有监督的学习,要求模型预测数字。最简单,最快的算法是线性(最小二乘)回归,但一般不应止步于此,因为它通常会返回一个中等的结果。其他常见的机器学习回归算法(缺少神经网络)包括朴素贝叶斯,决策树,K最近邻,LVQ(学习矢量量化),LARS套索,弹性网,随机森林,AdaBoost和XGBoost。值得注意的是,用于回归和分类的机器学习算法之间存在一些重叠。

聚类算法

聚类问题是一种无监督的学习问题,它要求模型查找相似数据点的组。最受欢迎的算法是K-Means聚类;其他包括均值漂移聚类,DBSCAN(基于噪声的应用程序基于空间的聚类),GMM(高斯混合模型)和HAC(分层聚类)。

降维算法

降维是一个无监督的学习,它要求模型删除或组合对结果影响很小或没有影响的变量。这通常与分类或回归结合使用。降维算法包括删除具有许多缺失值的变量,删除具有低方差的变量,决策树,随机森林,删除或组合具有高相关性的变量,后向特征消除,前向特征选择,因子分析和PCA(主成分分析)。

优化方法

训练和评估可以通过优化监督算法的参数权重,找到最适合数据真实性的一组值,从而将监督学习算法转变为模型。算法通常将最速下降的变量用于优化程序,例如随机梯度下降,它是从随机起始点多次执行的最速下降。

机器学习的数据清理

没有干净的原始数据,为了满足机器学习怼数据的要求,必须过滤数据。例如,

1、查看数据,并排除所有缺少大量数据的列。2、再次查看数据,然后选择要用于预测的列(特征选择)。进行迭代时,可能需要更改此内容。在其余列中排除仍缺少数据的任何行。3、纠正明显的错别字并合并等效答案。4、排除数据超出范围的行。例如,如果您要分析纽约市内的出租车行程,则需要过滤出市区外边界以外的上,下纬度和经度行。还可以做更多的事情,但这取决于收集的数据。这可能很乏味,但是如果在机器学习过程中设置了数据清理步骤,则可以随意修改并重复进行。

机器学习的数据编码和规范化

要将分类数据用于机器分类,需要将文本标签编码为另一种形式。有两种常见的编码。

一种是标签编码,这意味着每个文本标签值都用数字代替。另一种是一键编码,这意味着每个文本标签值都将变成具有二进制值(1或0)的列。大多数机器学习框架都具有进行转换的功能。通常,独热编码是首选,因为标签编码有时会使机器学习算法混淆,以为编码列应该是有序列表。

要将数字数据用于机器回归,通常需要将数据标准化。否则,具有较大范围的数字可能倾向于主导特征向量之间的欧几里得距离,其影响可能会以其他场为代价而被放大,并且最陡的下降优化可能会难以收敛。有多种方法可以对数据进行标准化和标准化以进行机器学习,包括最小-最大标准化,均值标准化,标准化以及按比例缩放到单位长度。此过程通常称为特征缩放。

机器学习的特征工程

特征是被观察的现象的个体可测量特性或特征。“特征”的概念与解释变量的概念有关,该解释变量在诸如线性回归之类的统计技术中使用。特征向量将单行的所有特征组合为数值向量。

选择特征的部分技术是选择一组最少的解释问题的自变量。如果两个变量高度相关,则要么需要将它们组合为一个功能,要么应将其删除。有时人们进行主成分分析以将相关变量转换为一组线性不相关变量。

人们用来构造新特征或降低特征向量维数的一些转换很简单。例如,YearofBirth从中减去YearofDeath并构造AgeatDeath,这是寿命和死亡率分析的主要独立变量。在其他情况下,特征构造可能不是那么明显。

拆分数据以进行机器学习

在有监督的机器学习中,通常的做法是将数据集划分为子集,以进行训练,验证和测试。一种工作方式是将80%的数据分配给训练数据集,并将10%的数据分配给验证和测试数据集。(确切的划分是一个优先事项。)大部分训练是针对训练数据集进行的,而预测则是在每个时期结束时针对验证数据集进行的。

验证数据集中的错误可用于识别停止标准或驱动超参数调整。最重要的是,验证数据集中的错误怼找出模型是否过拟合训练数据有帮助。

通常在最终模型上对测试数据集进行预测。如果测试数据集从未用于训练,则有时称为保持数据集。

还有其他几种分割数据的方案。交叉验证是一种常见的技术,涉及将完整数据集重复拆分为训练数据集和验证数据集。在每个时期结束时,将对数据进行混洗并再次拆分。

机器学习库

在Python中,SparkMLlib和Scikit-learn是机器学习库的绝佳选择。在R中,一些机器学习包选项是CARAT,randomForest,e和KernLab。在Java中,不错的选择包括Java-ML,RapidMiner和Weka。

深度学习解释

深度学习是机器学习的一种形式,其中所训练的模型在输入和输出之间具有多个隐藏层。在大多数讨论中,深度学习意味着使用深度神经网络。但是,除了神经网络之外,还有一些算法可以使用其他类型的隐藏层来实现深度学习。

“人工”神经网络的思想可以追溯到年代。基本概念是,由相互连接的阈值开关构建的人工神经元网络可以像动物大脑和神经系统(包括视网膜)一样学习识别模式。

反向传播

基本上,通过在训练过程中同时激活两个神经元之间的连接来进行学习。在现代神经网络软件中,最常见的问题是使用称为误差,反向传播或BP的反向传播的规则来增加神经元之间连接的权重值。

人工神经网络中的神经元

神经元如何建模?每个都有一个传播函数,该函数通常使用加权和来转换连接的神经元的输出。传播函数的输出传递到激活函数,当其输入超过阈值时将激活。

神经网络中的激活函数

在年代和50年代,人工神经元使用了逐步激活功能,被称为感知器。现代神经网络可能会说他们正在使用感知器,但实际上具有平滑的激活函数,例如逻辑或乙状函数,双曲正切或整流线性单位(ReLU)。ReLU通常是快速收敛的最佳选择,尽管如果将学习速率设置得太高,它在训练过程中会出现神经元“死亡”的问题。

激活函数的输出可以传递到输出函数以进行其他整形。但是,输出函数通常是身份函数,这意味着激活函数的输出将传递到下游连接的神经元。

神经网络拓扑

现在我们了解了神经元,我们需要了解常见的神经网络拓扑。在前馈网络中,神经元被组织为不同的层:一个输入层,n个隐藏处理层和一个输出层。每层的输出仅进入下一层。

在具有快捷连接的前馈网络中,某些连接可以跳过一个或多个中间层。在循环神经网络中,神经元可以直接或间接地通过下一层来影响自己。

训练神经网络

就像任何其他机器学习一样,可以进行神经网络的监督学习:向网络展示训练数据组,将网络输出与所需输出进行比较,生成误差向量,并基于误差向量对网络进行校正。在应用校正之前一起运行的一批训练数据称为时期。

对于那些对细节感兴趣的人,反向传播使用误差(或成本)函数相对于模型的权重和偏差的梯度来发现正确的方向,以最大程度地减少误差。两件事控制着校正的应用:优化算法和学习率变量。学习速率变量通常需要较小,以确保收敛并避免引起死的ReLU神经元。

神经网络优化器

神经网络的优化程序通常使用某种形式的梯度下降算法来驱动反向传播,通常采用一种机制来避免陷入局部最小值中,例如优化随机选择的微型批次(随机梯度下降)并将动量校正应用于梯度。一些优化算法还通过查看梯度历史记录(AdaGrad,RMSProp和Adam)来调整模型参数的学习率。

与所有机器学习一样,您需要对照单独的验证数据集检查神经网络的预测。否则,您可能会冒险创建仅记住其输入而不学会学习广义预测器的神经网络。

深度学习算法

用于实际问题的深度神经网络可能具有10层以上的隐藏层。它的拓扑可能很简单,也可能很复杂。

网络中的层越多,它可以识别的特征就越多。不幸的是,网络中的层越多,计算所需的时间就越长,并且训练起来就越困难。

卷积神经网络(CNN)通常用于机器视觉。卷积神经网络通常使用卷积,池化,ReLU,完全连接和丢失层来模拟视觉皮层。卷积层基本上采用许多小的重叠区域的积分。池化层执行非线性下采样的形式。ReLU层应用非饱和激活函数f(x)=max(0,x)。在完全连接的层中,神经元与上一层中的所有激活都具有连接。损失层使用Softmax或交叉熵损失函数进行分类,或使用欧几里得损失函数进行回归,计算网络训练如何惩罚预测标签与真实标签之间的偏差。

递归神经网络(RNN)通常用于自然语言处理(NLP)和其他序列处理,还有长短期记忆(LSTM)网络和基于注意力的神经网络。在前馈神经网络中,信息从输入经过隐藏层流到输出。这将网络限制为一次只能处理一个状态。

在递归神经网络中,信息通过一个循环循环,这使网络可以记住最近的先前输出。这样可以分析序列和时间序列。RNN有两个常见的问题:爆炸梯度(通过固定梯度很容易固定)和消失梯度(不太容易固定)。

在LSTM中,在两种情况下,网络都可以通过更改权重来忘记(控制)先前的信息并记住这些信息。这有效地为LSTM提供了长期和短期记忆,并解决了梯度消失的问题。LSTM可以处理数百个过去输入的序列。

注意模块是将权重应用于输入向量的通用门。分层的神经注意编码器使用多层注意模块来处理成千上万的过去输入。

不是神经网络的随机决策森林(RDF)对于一系列分类和回归问题很有用。RDF由多层构成,但不是神经元,而是由决策树构建,并输出各个树预测的统计平均值(分类模式或回归均值)。RDF的随机方面是对单个树使用引导聚合(也称为装袋),并为树获取特征的随机子集。

XGBoost(极限梯度增强)也不是一个深度神经网络,它是一种可扩展的,端到端的树增强系统,已针对许多机器学习挑战产生了最先进的结果。经常提到装袋和提振。区别在于,梯度树增强不是生成随机树的集合,而是从单个决策树或回归树开始,对其进行优化,然后从第一棵树的残差构建下一棵树。

一些最好的Python的深度学习框架是TensorFlow,Keras,PyTorch和MXNet。Deeplearning4j是最好的Java深度学习框架之一。ONNX和TensorRT是深度学习模型的运行时。

深度学习与机器学习

通常,经典(非深度)机器学习算法比深度学习算法训练和预测速度快得多。一个或多个CPU通常足以训练经典模型。深度学习模型通常需要诸如GPU,TPU或FPGA之类的硬件加速器进行培训,并且还需要大规模部署。没有它们,模型将需要几个月的训练时间。

对于许多问题,一些经典的机器学习算法将产生一个“足够好”的模型。对于其他问题,过去经典的机器学习算法效果不佳。

深度学习通常会受到攻击的一个领域是自然语言处理,其中包括语言翻译,自动摘要,共指解析,语篇分析,形态分割,命名实体识别,自然语言生成,自然语言理解,词性标记,情感分析和语音识别。

深度学习的另一个主要领域是图像分类,其中包括具有定位,对象检测,对象分割,图像样式转换,图像着色,图像重建,图像超分辨率和图像合成的图像分类。

此外,深度学习已成功用于预测分子将如何相互作用,以帮助制药公司设计新药,搜索亚原子颗粒并自动解析用于构建人脑三维地图的显微镜图像。

原文链接:

转载请注明:
http://www.weichiyen.com/szff/13128.html
  • 上一篇文章:

  • 下一篇文章:
  • 网站首页 版权信息 发布优势 合作伙伴 隐私保护 服务条款 网站地图 网站简介

    温馨提示:本站信息不能作为诊断和医疗依据
    版权所有 2014-2024
    今天是: