当前位置: 首页 > 科技观察

梳理了上百道题,总结出数据科学面试必备的10个概念……

时间:2023-03-20 16:02:20 科技观察

深度学习和神经网络并不容易,幸好面试功能测试名额有限。在梳理了数百个数据科学面试问题后,本文总结了10个最常出现的深度学习概念。话不多说,让我们开始吧!1.ActivationFunctions如果你对神经网络及其结构没有基本的了解,推荐阅读TerenceShin的文章《神经网络初学者指南》(“ABeginner-FriendlyExplanationofHowNeuralNetworksWork”)。一旦你对神经元或节点有了基本的了解,你就会发现激活函数就像电灯开关一样,决定是否激活神经元。激活函数有多种类型,但最流行的激活函数是整流线性单元函数,也称为ReLU函数。ReLU函数优于sigmoid和双曲正切函数,因为它执行梯度下降的速度更快。注意在图像中,当x(或z)很大时,斜率很小,这会显着减慢梯度下降,但这种情况不会出现在ReLU函数中。2.成本函数(CostFunction)神经网络的成本函数与其他机器学习模型的成本函数类似。它衡量神经网络的预测与实际值相比有多“好”。成本函数与模型质量成反比——模型质量越高,成本函数越低,反之亦然。成本函数是最优值。通过收缩神经网络的成本函数,可以获得模型的最优权值和参数,从而最大化模型的性能。常用的代价函数有几种,包括二次代价函数、交叉熵代价函数、指数代价函数、Hellinger距离、Kullback-Leibler散度等。3.反向传播算法(Backpropagation)反向传播算法是一种与代价函数密切相关的算法。具体来说,它是一种计算成本函数梯度的算法。反向传播之所以受欢迎,是因为与其他算法相比,它既快速又高效。在该算法中,梯度的计算从最后一层权值的梯度开始,然后反向传播到第一层权值的梯度。因此,第k层的误差取决于第k+1层。因此得名“反向传播”。一般来说,反向传播的工作原理如下:在正向阶段计算每一对输入输出的损失函数在反向阶段计算每一对的损失函数结合各个权重的梯度值根据学习更新权重rateandthetotalgradient4.Convolution卷积神经网络(CNN)是一种神经网络,它提取输入信息(通常是图像),根据图像的重要性对图像的不同特征进行分类,然后输出预测。CNN优于前馈神经网络的原因是它可以更好地捕获整个图像的空间(像素)依赖性,这意味着它可以更好地理解图像的组成。CNN使用一种称为“卷积”的数学运算。维基百科是这样定义卷积的:对两个函数的数学运算产生第三个函数,表示一个函数的形状如何被另一个函数修改。因此,CNN至少在其中一层使用卷积而不是通用矩阵乘法。5.循环神经网络循环神经网络(RNN)是另一种类型的神经网络,可以摄取各种大小的输入信息,因此它可以与序列数据一起使用并取得优异的效果。RNN同时考虑当前输入和先前给定的输入,这意味着相同的输入在技术上可以根据先前给定的输入产生不同的输出。从技术上讲,RNN是一种神经网络,其中节点之间的连接沿着时间序列形成有向图,允许它们使用其内部存储器来处理可变长度的输入序列。6.长短期记忆网络(LongShort-TermMemoryNetworks)长短期记忆网络(LongShort-TermMemoryNetworks,简称LSTM)是一种循环神经网络,可以弥补传统RNN的一大劣势:短期记忆。具体来说,如果序列太长,即滞后时间大于5-10步,RNN往往会忽略前面步骤中提供的信息。例如,如果我们将一段输入RNN,它可能会忽略段落开头提供的信息。为了解决这个问题,LSTM诞生了。7.权重初始化(WeightInitialization)权重初始化的要点是保证神经网络不会收敛到无效解。如果权重都初始化为相同的值(例如零),则每个单元将获得完全相同的信号,并且每个层的输出将相同。因此,您随机初始化权重,使它们接近于零,但不等于零。用于训练模型的随机优化算法就是这样做的。8.批量梯度下降和随机梯度下降(Batchvs.StochasticGradientDescent)批量梯度下降和随机梯度下降是计算梯度的两种不同方法。批量梯度下降仅使用整个数据集计算梯度。特别是对于较大的数据集,它要慢得多,但对于凸或平滑误差流形效果更好。在随机梯度下降的情况下,一次使用单个训练示例计算梯度。因此,计算速度更快,成本更低。然而,在这种情况下,当达到全局最优值时,它往往会反弹。这会产生一个很好的解决方案,但不是最佳解决方案。9.超参数(Hyper-parameters)超参数不仅是调整网络结构的变量,也是控制网络训练方式的变量。常见的超参数包括:模型架构参数,如层数、隐藏单元数等...Learningrate(alpha)网络权重初始化epochs的数量(定义为整个训练数据集中的一个循环)Batch其他10.学习率(LearningRate)学习率是神经网络中使用的超参数,它控制模型在每次更新模型权重时根据估计误差调整模型的量。如果学习率太低,模型训练将进行得非常缓慢,因为在每次迭代中对权重进行的更新很少。因此,在达到最低点之前需要进行多次更新。如果学习率设置得太高,会由于权重的急剧更新而导致损失函数出现不良的发散行为,并且可能无法收敛。这些是深度学习中最常出现的前10个概念。仔细研究这10个概念将帮助您在深度学习领域打下坚实的基础。希望对你的面试有所帮助。本文转载自微信公众号“读芯”,可通过以下二维码关注。转载本文请联系核心阅读公众号。