机器学习面经-优化函数、激活函数、损失函数

一、简介

在机器学习和深度学习中,激活函数、损失函数和优化函数是三个重要的概念,也是在面试中很容易考察你在项目中这些函数选择的时候常问的一些问题。它们在神经网络和其他学习算法中发挥关键作用。激活函数(Activation Function)是神经网络中的一个非常重要的组件,它定义了神经元(或者称为节点)的输出。每个神经元都会将其输入加权求和后通过激活函数进行非线性转换,使得神经网络能够学习复杂的非线性关系,激活函数引入非线性是因为多个线性层的组合仍然是线性的,而引入非线性激活函数使得神经网络可以学习更加复杂的函数。常见的激活函数包括 Sigmoid、ReLU(Rectified Linear Unit)、Leaky ReLU、tanh 等。损失函数(Loss Function)是用于衡量模型预测值与真实值之间的差异或者误差的函数。在训练神经网络时,优化算法的目标是最小化损失函数的值,这样网络的输出结果将更接近于实际标签。选择适当的损失函数取决于问题的类型,例如分类问题常用的交叉熵损失函数(Cross-Entropy Loss),回归问题常用的均方误差(Mean Squared Error)损失函数等。优化函数(Optimization Function)是用来更新神经网络的权重和偏置,以最小化损失函数的值。在训练过程中,优化函数根据当前的权重和偏置,以及损失函数的梯度信息,来更新模型的参数,使得损失函数逐渐减小,模型逐渐收敛到更好的状态。常见的优化函数包括梯度下降(Gradient Descent)、随机梯度下降(Stochastic Gradient Descent,SGD)、Adam 等。

二、面经

1、说说优化函数的作用?

2、讲讲梯度下降法?

3、梯度下降算法一般是如何调优的?

4、梯度下降法找到的一定是下降最快的方向么?

5、为什么牛顿法可以认为是下降最快的方向,它和梯度下降的区别是什么?

6、介绍一下随机梯度下降、批次梯度下降、随机梯度下降区别?

7、随机梯度下降法SGD优缺点?

8、介绍一下Momentum随机梯度下降法?

9、介绍一下 Adam 算法

10、在优化器中有哪些重要的参数,参数更新的步骤一般是什么?

11、SGD和Adam谁收敛的比较快?谁能达到全局最优解?

12、Adam中使用的一阶矩和二阶矩的原理是什么?

13、你一般优化的时候batch如何选择?

14、你在优化算法的策略上,为什么先用Adam算法,后用SGD算法?

15、神经网络中激活函数的真正意义?一个激活函数需要具有哪些必要的属性?还有哪些属性是好的属性但不必要的?

16、简单介绍一下Sigmoid,tanh,ReLu三种激活函数?

17、为什么一般ReLu要好过于tanh和sigmoid?

18、ReLU在零点可导吗?不可导怎么进行反向传播?

19、ReLU有哪些演进版本?

20、说一下你了解的损失函数?

21、交叉熵和最大似然函数的联系和区别?

22、说说什么是KL散度?

23、交叉熵的设计思想是什么?

24、为什么有的用交叉熵有的用MSE?

25、为什么二分类不用MSE作为损失函数?

三、面经参考回答

1、说说优化函数的作用?

参考回答:优失函数是用来度量模型预测值和真实值间的偏差,偏差越小,模型越好,所以我们需要最小化损失函数。如何求最小值呢?高中知识告诉我们,对于凸函数可以直接求导可以找到最值,但是神经网络的损失函数往往是非凸函数,我们并不能直接求导。所以优化函数就可以帮助我们解决这个问题,优化函数就是用来最小化我们的损失函数的。

2、讲讲梯度下降法?

参考回答:梯度下降法是原始的优化方法,它的主要目的是通过迭代找到目标函数(也就是损失函数)的最小值。在梯度下降算法中,每次都会遍历整个训练集,然后会对每个参数求偏导,取最大的点,根据负梯度方向是使函数值下降最快的方向,这个是可以通过泰勒展开求的的,在迭代的每一步根据负梯度的方向更新参数w的值,从而求得最小的损失函数J(w)。当J(w)是凸函数的时候,用梯度下降的方法当然可以取得的最小值是全局最优解。但神经网络的损失函数往往是非凸函数,所以梯度下降法往往找到的是局部最优解。

形象化举例,假如最开始,我们在一座大山上的某处位置,因为到处都是陌生的,不知道下山的路,所以只能摸索着根据直觉,走一步算一步,在此过程中,每走到一个位置的时候,都会求解当前位置的梯度,沿着梯度的负方向,也就是当前最陡峭的位置向下走一步,然后继续求解当前位置梯度,向这一步所在位置沿着最陡峭最易下山的位置走一步。不断循环求梯度,就这样一步步地走下去,一直走到我们觉得已经到了山脚。当然这样走下去,有可能我们不能走到山脚,而是到了某一个局部的山势低处。由此,从上面的解释可以看出,梯度下降不一定能够找到全局的最优解,有可能是一个局部的最优解。当然,如果损失函数是凸函数,梯度下降法得到的解就一定是全局最优解。

3、梯度下降算法一般是如何调优的?

参考回答:实际使用梯度下降法时,各项参数指标不能一步就达到理想状态,对梯度下降法调优主要体现在以下几个方面:

  • 算法迭代步长,也就是学习率α选择。在算法参数初始化时,有时根据经验将步长初始化为0.1。实际取值取决于数据样本。可以从大到小,多取一些值,分别运行算法看迭代效果,如果损失函数在变小,则取值有效。如果取值无效,说明要增大步长。但步长太大,有时会导致迭代速度过快,错过最优解。步长太小,迭代速度慢,算法运行时间长。
  • 参数的初始值选择。初始值不同,获得的最小值也有可能不同,梯度下降有可能得到的是局部最小值。如果损失函数是凸函数,则一定是最优解。由于有局部最优解的风险,需要多次用不同初始值运行算法,选择损失函数最小的初值。
  • 标准化处理。由于样本不同,特征取值范围也不同,导致迭代速度慢。为了减少特征取值的影响,可对特征数据标准化,使新期望为0,新方差为1,可节省算法运行时间。

4、梯度下降法找到的一定是下降最快的方向么?

参考回答:梯度下降法找的的不一定是下降最快的方向。梯度下降法的目标是最小化损失函数,它通过计算损失函数关于参数的梯度(方向导数)来确定参数更新的方向。在梯度下降法中,参数会沿着梯度的反方向进行更新,以使损失函数尽可能减小。梯度向量指向的方向是当前位置损失函数变化最快的方向,但并不保证是全局最快的下降方向。这是因为梯度下降法是一种局部搜索算法,它只考虑了当前位置的局部信息,而不会全局搜索整个参数空间。一般我们认为牛顿法是下降最快的方向。

5、为什么牛顿法可以认为是下降最快的方向,它和梯度下降的区别是什么?

参考回答:牛顿方向是一种优化方向,考虑了海森矩阵(Hessian Matrix),在某些情况下可以被认为是梯度下降最快的方向。梯度下降法使用损失函数关于参数的梯度来更新参数,使损失函数逐渐减小。而牛顿法是一种更高阶的优化算法,除了使用梯度,还考虑了损失函数关于参数的二阶导数,即海森矩阵。海森矩阵可以提供更多关于函数曲率的信息,使得牛顿法能够更精确地确定优化方向。在二次凸优化问题中,牛顿法可以一步到位地找到全局最优解,因为对于凸函数,局部最小值和全局最小值是相同的。在这种情况下,牛顿法可以认为是梯度下降最快的方向。

然而,在非凸优化问题中,牛顿法的性能可能会受到影响。因为海森矩阵可能包含负特征值,导致在某些方向上函数值并不是下降的,而是上升的,从而使得牛顿法无法保证每次迭代都能得到下降的方向。此外,计算和存储海森矩阵在高维问题中可能会非常昂贵,因此牛顿法并不总是最优选择。

由于牛顿法和梯度下降法各自有优缺点,通常会采用改进的算法来结合二者的优势。例如,拟牛顿法(如BFGS、L-BFGS)是一类常用的优化算法,它使用梯度信息来近似海森矩阵,从而在非凸问题中取得较好的表现,同时避免了直接计算海森矩阵的高代价。这些算法通常被认为是较为高效和稳定的优化方法。

6、介绍一下小批量随机梯度下降、批次梯度下降、随机梯度下降区别?

参考回答:随机梯度下降、批次梯度下降和小批量梯度下降都是优化机器学习模型的梯度下降算法的变体。它们在处理训练数据的方式和收敛性上有所不同。

  • 批次梯度下降:在批次梯度下降中,每一次迭代更新模型参数时,会使用训练数据集中的所有样本。具体来说,算法会计算整个训练数据集的损失函数梯度,并用该梯度来更新模型参数。由于要考虑全部数据,每一次迭代的计算开销相对较大。批次梯度下降可以在保证收敛性的同时,提供相对稳定的更新方向。
  • 随机梯度下降:在随机梯度下降中,每一次迭代更新只使用训练数据集中的一个样本。这意味着每次迭代的计算开销很小,但由于单个样本的噪声可能引起参数更新的波动。虽然随机性较大,但有时可以帮助模型跳出局部极小值并更快地达到全局最小值。然而,SGD可能会在参数更新时产生较大的波动,从而需要较小的学习率来稳定收敛。
  • 小批量梯度下降:小批量梯度下降是批次梯度下降和随机梯度下降的折中方法。在每一次迭代中,它会随机选择一小批量(

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

小白机器学习面试指南 文章被收录于专栏

林小白的机器学习指南,从本人面试的机器学习算法岗位出发,对机器学习“八股文”做详细的介绍、推导;

全部评论
第25点,` 在使用均方误差时,模型在预测值远离真实值时,梯度会变得非常小,从而可能导致训练变得缓慢,甚至停滞。 ` 应该是 预测值靠近真实值时 吧
点赞 回复 分享
发布于 2023-09-11 14:38 浙江
mark
点赞 回复 分享
发布于 2023-07-28 22:58 安徽
mark
点赞 回复 分享
发布于 2023-07-28 22:08 安徽
mark
点赞 回复 分享
发布于 2023-07-28 12:40 江苏
m
点赞 回复 分享
发布于 2023-07-28 02:24 北京
mark
点赞 回复 分享
发布于 2023-07-26 02:58 江苏

相关推荐

评论
11
38
分享

创作者周榜

更多
牛客网
牛客企业服务