人工智能面试总结(4)—— 正则优化函数

人工智能面试总结(4)—— 正则优化函数

本文总结了春招/秋招各厂高频面试八股,除开围绕简历扣项目细节,公司最喜欢问的还是这些经典算法中涉及的知识点。

人工智能面试-题目指路

(4)—— 正则优化函数

  1. 说说过拟合与欠拟合?

    过拟合和欠拟合是机器学习中常见的问题。过拟合指模型在训练数据上表现很好,但在未知数据上表现很差;欠拟合指模型无法在训练数据和未知数据上都表现良好,表现出一定的偏差和误差。

  2. 说说什么是正则化?

    正则化是一种常见的解决过拟合问题的方法,它通过在损失函数中添加惩罚项来限制模型的复杂度。正则化可以用于线性回归、逻辑回归、支持向量机等机器学习算法中。

  3. 说说正则化的作用?

    正则化的主要作用是控制模型的复杂度,避免模型过度拟合训练数据,从而提高模型的泛化能力。在添加正则化项后,模型会更倾向于选择较简单的解决方案,从而提高模型的泛化能力。

  4. 说说有哪些解决过拟合问题的方法?

    解决过拟合问题的方法包括:(1)增加数据量;(2)减少特征数;(3)正则化;(4)采用dropout等技巧。

  5. 说说L1 (lasso) 与L2 (ridge) 正则的区别?

    L1正则化和L2正则化都可以用于控制模型的复杂度,但它们的实现方式不同。L1正则化将模型的参数的绝对值作为惩罚项,它更倾向于产生稀疏解;L2正则化将模型的参数的平方和作为惩罚项,它更倾向于产生小的参数值。

  6. 说说L1与L2为什么对于特征选择有着不同方式?

    L1正则和L2正则对于特征选择的方式不同是因为它们的惩罚项不同。L1正则的惩罚项是参数向量的L1范数,即所有参数绝对值之和;而L2正则的惩罚项是参数向量的L2范数,即所有参数平方和的平方根。因为L1正则惩罚项的特点是会让一部分参数的值变为0,所以它可以实现特征选择,即用于选择对模型最有用的特征。而L2正则没有这个特点,不会让参数变为0,它主要用于控制模型的复杂度。

  7. 说说L1正则的缺点?

    L1正则的缺点是对噪声比较敏感,因为它会让一些参数变为0,而这些参数往往是对噪声敏感的参数。同时,L1正则不易优化,因为它在0点处不可导。

  8. 说说L1为什么可以让模型稀疏?

    L1正则可以让模型稀疏是因为它的惩罚项会让一些参数变为0,这样就可以实现特征选择,即选择对模型最有用的特征,而不需要保留所有的特征。因此,L1正则可以用于特征选择和降维。

  9. 说说L1与L2符合什么分布?

    L1和L2正则都符合高斯分布(即正态分布),但是L1正则会在坐标轴上出现尖峰,即容易让参数变为0,而L2正则没有这个特点,它的分布比较平滑。

  10. 说说BN (Batch Normolization) ?

    BN是一种常用的神经网络层,它可以加速神经网络的训练过程。它的基本思想是将输入数据进行标准化,使得每个特征的均值为0,方差为1,这样可以使得输入数据更加稳定,同时也有助于避免梯度消失和梯度爆炸的问题。BN层可以插入在网络的任意位置,包括卷积层和全连接层等。

  11. BN训练与测试有什么不同?

    BN在训练和测试时有所不同。在训练时,BN层根据当前的batch数据计算均值和方差,并将它们保存下来,同时将当前的输入数据进行标准化。在测试时,BN层不再计算均值和方差,而是使用训练时保存下来的均值和方差进行标准化。这样可以保证训练和测试时使用的是相同的均值和方差,避免因为均值和方差不一致导致的性能下降。

  12. 说说BN/LN/IN/GN?

    BN(Batch Normalization)是批量归一化,LN(Layer Normalization)是层归一化,IN(Instance Normalization)是实例归一化,GN(Group Normalization)是组归一化。这些归一化方法的主要目的是在神经网络中增加正则化,并加速收敛。

    • BN是应用最广泛的归一化方法,它在每个小批量的数据上进行规范化,并且让网络在训练过程中自适应学习每个小批量数据的均值和方差。BN可以加速网络的收敛,提高网络的泛化能力,抑制过拟合。
    • LN是针对RNN等具有序列输入的网络提出的,它在每个序列维度上进行规范化,而不是在小批量数据上进行规范化。这使得LN对序列中的每个时间步都有一致的规范化效果。
    • IN是在图像生成领域提出的,它在每个通道上进行规范化,而不是在小批量数据上进行规范化。因为IN认为每个通道都有独立的统计特性,所以在每个通道上进行规范化可以保持更多的信息,提高图像生成的质量。
    • GN是在计算机视觉中提出的,它将通道分成几组,并在每组内进行规范化。GN可以解决BN在小批量数据较小的情况下效果不佳的问题,因为GN不依赖于小批量数据的统计特性,而是依赖于通道之间的相似性。
  13. 说说Dropout改进?

    Dropout是一种非常流行的正则化方法,通过在训练期间随机将一些神经元输出设为零来防止过拟合。然而,原始的Dropout方法存在一些缺点,例如在测试期间需要将dropout比率调整为1,这会使得测试期间的计算速度变慢。针对这些问题,有一些改进的Dropout方法被提出,例如:

    • Inverted Dropout: 这种方法通过在训练期间增加每个神经元的输出,然后在测试期间通过缩小输出来保持相同的期望值,以避免dropout比率的调整问题。
    • DropConnect: 这种方法在神经元之间建立一些随机的连接,然后在训练期间将一些连接断开来实现dropout,这样可以防止一些重要的连接被完全断开。
    • SpatialDropout: 这种方法在卷积神经网络中使用,通过在特征图的通道维度上进行dropout,以避免临近像素的依赖性。
  14. 说说BN与Dropout联合使用?

    BN和Dropout都是常用的正则化方法,它们可以联合使用以提高模型的性能。在卷积神经网络中,通常的做法是在每个卷积层后添加一个BN层,在全连接层后添加一个Dropout层。BN可以加速训练,降低过拟合的风险,而Dropout可以增强模型的泛化能力。

    另外,有一些研究表明,BN和Dropout的效果可以相互弥补。BN主要解决的是内部协变量转移问题,Dropout主要解决的是模型的过拟合问题。因此,这两种方法可以相互补充,提高模型的性能

  15. 说说方差偏移?

    方差偏移(covariate shift)是指在训练过程中,由于训练集和测试集的分布不同,导致模型在测试集上的表现较差的现象。这是因为模型在训练过程中习得了训练集的分布,而无法很好地适应测试集的分布。

    BN层的提出正是为了解决方差偏移问题。BN层通过对每个特征的均值和方差进行标准化,使得特征的分布接近于标准正态分布,从而减少了内部协变量转移的影响,提高了模型的性能。

  16. 说说Dropout的补偿?

    Dropout的补偿是为了在测试时,将Dropout的随机失活过程合并起来,得到一个有效的模型。具体来说,Dropout在训练时会随机将一些神经元设为0,从而降低过拟合的风险。但在测试时,所有的神经元都是处于激活状态,因此需要对训练时的结果进行补偿。常见的补偿方法有两种:一种是在测试时将所有神经元的权重乘以保留概率(即1- dropout rate),另一种是在训练时将所有神经元的权重除以保留概率,以保证每个神经元在训练和测试时的期望输出相同。

  17. 说说BN的γ与β ?

    在BN中,γ和β是可学习的参数,用于对归一化后的特征进行缩放和偏移。γ是缩放因子,用于调整特征的尺度,β是偏移因子,用于调整特征的中心位置。具体来说,对于一个输入特征x,经过BN处理后得到的特征为:

    ​ y = γ * (x - μ) / sqrt(σ^2 + ε) + β

    其中,μ和σ^2分别是x在batch内的均值和方差,ε是一个极小的常数,以防止方差为0。γ和β通过反向传播进行更新,以使得网络能够自适应地学习特征的缩放和偏移。

你可能感兴趣的:(人工智能,面试,机器学习,人工智能,面试,机器学习,深度学习)