机器学习与深度学习常见面试题

机器学习与深度学习常见面试题

比较Boosting和Bagging的异同

二者都是集成学习算法,都是将多个弱学习器组合成强学习器的方法。

Bagging:从原始数据集中每一轮有放回地抽取训练集,训练得到k个弱学习器,将这k个弱学习器以投票的方式得到最终的分类结果。

Boosting:每一轮根据上一轮的分类结果动态调整每个样本在分类器中的权重,训练得到k个弱分类器,他们都有各自的权重,通过加权组合的方式得到最终的分类结果。

无监督学习中存在过拟合吗?

存在。我们可以使用无监督学习的某些指标或人为地去评估模型性能,以此来判断是否过拟合。

什么是k折交叉验证?

将原始数据集划分为k个子集,将其中一个子集作为验证集,其余k-1个子集作为训练集,如此训练和验证一轮称为一次交叉验证。交叉验证重复k次,每个子集都做一次验证集,得到k个模型,加权平均k个模型的结果作为评估整体模型的依据。

关于k折交叉验证,需要注意什么?

k越大,不一定效果越好,而且越大的k会加大训练时间;在选择k时,需要考虑最小化数据集之间的方差,比如对于2分类任务,采用2折交叉验证,即将原始数据集对半分,若此时训练集中都是A类别,验证集中都是B类别,则交叉验证效果会非常差。

对于一个二分类问题,我们定义超过阈值t的判定为正例,否则判定为负例。现在若将t增大,则准确率和召回率会如何变化?

准确率 = TP / (TP + FP),召回率 = TP / (TP + FN),其中TP表示将正例正确分类为正例的数量,FP表示将负例错误分类为正例的数量,FN表示将正例错误分类为负例的数量。

准确率可以理解为在所有分类为正例的样品中,分类正确的样本所占比例;召回率可以理解为在所有原始数据集中的正例样品中,正确挑出的正例样本的比例。

因此若增大阈值t,更多不确定(分类概率较小)的样本将会被分为负例,剩余确定(分类概率较大)的样本所占比例将会增大(或不变),即正确率会增大(或不变);若增大阈值t,则可能将部分不确定(分类概率较小)的正例样品误分类为负例,即召回率会减小(或不变)。

以下关于神经网络的说法中,正确的是( )?

A.增加网络层数,总能减小训练集错误率

B.减小网络层数,总能减小测试集错误率

C.增加网络层数,可能增加测试集错误率

答案:C。增加神经网络层数,确实可能提高模型的泛化性能,但不能绝对地说更深的网络能带来更小的错误率,还是要根据实际应用来判断,比如会导致过拟合等问题,因此只能选C。

说明Lp范数间的区别

L1范数:向量中各个元素绝对值之和

L2范数:向量中各个元素平方和的开二次方根

Lp范数:向量中各个元素绝对值的p次方和的开p次方根

用梯度下降训练神经网络的参数,为什么参数有时会被训练为nan值?

输入数据本身存在nan值,或者梯度爆炸了(可以降低学习率、或者设置梯度的阈值)

卷积神经网络CNN中池化层有什么作用?

减小图像尺寸即数据降维,缓解过拟合,保持一定程度的旋转和平移不变性。

请列举几种常见的激活函数。激活函数有什么作用?

sigmoid,relu,tanh。非线性化

神经网络中Dropout的作用?具体是怎么实现的?

防止过拟合。每次训练,都对每个神经网络单元,按一定概率临时丢弃。

利用梯度下降法训练神经网络,发现模型loss不变,可能有哪些问题?怎么解决?

很有可能是梯度消失了,它表示神经网络迭代更新时,有些权值不更新的现象。改变激活函数,改变权值的初始化等。

如何解决不平衡数据集的分类问题?

可以扩充数据集,对数据重新采样,改变评价指标等。

残差网络为什么能做到很深层?

神经网络在反向传播过程中要不断地传播梯度,而当网络层数加深时,梯度在逐层传播过程中会逐渐衰减,导致无法对前面网络层的权重进行有

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值