知乎NLP算法工程师面试题7道|含解析
10本电子书放文末,自取~
1、生成式模型与判别式模型的区别?
生成式模型先对数据的联合分布 进行建模,然后再通过贝叶斯公式计算样本属于各类别的后验概率 。
判别式模型直接进行条件概率建模,由数据直接学习决策函数 或条件概率分布作为预测的模型。判别方法不关心背后的数据分布,关心的是对于给定的输入,应该预测什么样的输出。
用一句话总结就是生成模型估计的是联合概率分布,判别式模型估计的是条件概率分布。
2、模型的方差和偏差是指什么?
偏差(Bias):表示模型的预测值和真实值之间的差异程度。用所有可能的训练数据集 训练出的所有模型的输出的平均值与真实模型的输出值之间的差异。如果模型的偏差很高,说明模型无法捕捉到数据中的所有信息,因此模型的预测值和真实值之间的差异会很大。例如,在房屋预测的例子中,如果模型只考虑了房屋的面积这一个特征,那么模型的偏差就会很高,因为模型无法考虑到其他特征(比如卧室数量、浴室数量等)对房价的影响。
方差(Variance):表示模型对于不同的训练集的预测结果分散程度。如果模型的方差很高,说明模型对于不同的训练集的预测结果差异很大,也就是说,模型无法捕捉到数据中的一般规律,而过度拟合了训练数据。例如,在房屋预测的例子中,如果我们使用非常复杂的模型(比如高阶多项式回归),那么模型的方差就会很高,因为模型过度拟合了训练数据,而无法捕捉到一般规律。
3、二分类模型的评估指标有哪些?
在二分类模型中,我们通常将样本分为两类:正例和反例。在评估模型性能时,我们需要考虑以下四个指标:
准确率(Accuracy):预测正确的样本占总样本数的比例。
精确率(Precision):预测为正例的样本中,真正为正例的比例。
召回率(Recall):真正为正例的样本中,被预测为正例的比例。
F1值:精确率和召回率的调和平均数,常用于综合评估模型性能。
此外,我们还可以使用ROC曲线和AUC来评估模型的性能。ROC曲线是以假正率(False Positive Rate, FPR)为横坐标,真正率(True Positive Rate, TPR)为纵坐标绘制的曲线,用于衡量模型在不同阈值下的性能。AUC则是ROC曲线下的面积,用于综合评估模型的性能。AUC的取值范围为0.5到1,值越大,模型性能越好。
4、AUC刻画的什么?说明了什么意思?
AUC(Area Under the ROC Curve)是机器学习领域中常用的一个性能度量指标,用于衡量分类器对样本的分类能力。ROC(Receiver Operating Characteristic)曲线是以假正率(False Positive Rate, FPR)为横坐标,真正率(True Positive Rate, TPR)为纵坐标绘制的曲线,用于衡量模型在不同阈值下的性能。AUC则是ROC曲线下的面积,用于综合评估模型的性能。AUC的取值范围在0.5到1之间,值越大,分类器性能越好。
具体来讲,AUC刻画了分类器对正负样本的分类能力,即对于一个随机的正负样本对,分类器给出正样本的预测值高于负样本的概率。AUC越高,说明分类器在区分正负样本时具有更好的能力。在实际场景中,例如医学诊断、金融风控等领域,AUC是评估分类器性能的重要指标之一。
需要注意的是,AUC并不是一个完美的指标,因为它并不能告诉我们分类器在不同的阈值下的表现,而且对于类别不平衡的数据集,AUC可能会给出误导性的结果。因此,在实际应用中,我们需要综合考虑多个性能度量指标来评估分类器的性能。
5、交叉熵函数刻画的什么?
交叉熵函数是机器学习中常用的一种损失函数。它常用于评估两个概率分布之间的差异,尤其是在神经网络中用于度量模型输出与真实标签之间的差距。交叉熵函数的基本思想是将模型的输出概率与真实标签的概率进行比较,通过计算两个概率分布之间的交叉熵(cross-entropy)来衡量它们的相似程度。在分类任务中,我们通常将标签表示为一个one-hot向量,即只有一个元素为1,其余元素都为0。
6、对于非常大的分类类别,对于softmax有哪些优化方法?
当分类类别非常大时,计算softmax的复杂度会变得非常高,因为softmax的计算复杂度是与类别数成正比的。因此,需要采用一些优化方法来加速softmax的计算。
一种常见的优化方法是基于交叉熵的方法,这包括hierarchical softmax和noise-contrastive estimation(NCE)。hierarchical softmax通过将所有的类别组织成一棵二叉树,并对每个节点定义一个概率值,从而将原问题转化为对一系列二分类问题的求解。这样就可以减少softmax计算的次数,从而提高运行速度。NCE是一种用于训练softmax模型的替代方法,它通过最大化正确标签和噪声标签之间的差异来训练模型。与传统的softmax方法不同,NCE不需要计算所有类别的概率,因此在类别数非常大时可以大大提高运行速度。
另一种优化softmax的方法是采用近似softmax方法,例如采用采样的方法进行训练。这包括采样自适应重要性抽样(sampled softmax)、target sampling和sparsemax等。sampled softmax通过随机采样一小部分类别来近似计算softmax概率,从而减少计算量。target sampling是一种基于重要性采样的方法,它根据类别的频率对类别进行采样,从而减少少数类别的影响。sparsemax是一种类似于softmax的激活函数,但是它产生的分布更加稀疏,因此可以减少计算量。
总之,当我们需要处理非常大的分类问题时,需要采用一些优化方法来加速softmax的计算,从而提高运行速度和效率。不同的优化方法有不同的适用场景,需要根据具体情况进行选择。
7、softmax除了作为激活函数,在深度学习中还有哪些用途?
除了作为激活函数,还可以使用softmax进行软归一化,而且在transformer中,softmax在注意力机制中计算注意力,主要是软最大化。
看完本篇如果对你有用请三连,你的支持是我持续输出的动力,感谢,笔芯~
↓ ↓ ↓以下10本书电子版免费领,直接送 ,想要哪本私我下说声,我发你↓ ↓ ↓


以上8本+《2022年Q3最新大厂面试题》+《2022年Q4最新大厂面试题》电子书,部分截图如下:
