大家好,今天给大家分享一套某车企的NLP算法面试题!以下是面试题目。
问题1、CNN原理及优缺点
CNN是一种前馈神经网络,通常包含5层,输入层,卷积层,激活层,池化层,全连接FC层,其中核心部分是卷积层和池化层。
优点:共享卷积核,对高维数据处理无压力;无需手动选取特征。
缺点:需要调参;需要大量样本。
问题2、word2vec的两种优化方式
第一种改进为基于层序 softmax 的模型。
首先构建哈夫曼树,即以词频作为 n 个词的节点权重,不断将最小权重的节点进行合并,最终形成一棵树,权重越大的叶子结点越靠近根节点,权重越小的叶子结点离根节点越远。
然后进行哈夫曼编码,即对于除根节点外的节点,左子树编码为1,右子树编码为0。
最后采用二元逻辑回归方法,沿着左子树走就是负类,沿着右子树走就是正类,从训练样本中学习逻辑回归的模型参数。
优点:计算量由V(单词总数)减小为 log2V;高频词靠近根节点,所需步数小,低频词远离根节点。
第二种改进为基于负采样的模型。
通过采样得到少部分的负样本,对正样本和少部分的负样本,利用二元逻辑回归模型,通过梯度上升法,来得到每个词对应的模型参数。具体负采样的方法为:根据词频进行采样,也就是词频越大的词被采到的概率也越大。
问题3、描述下CRF模型及应用
给定一组输入随机变量的条件下另一组输出随机变量的条件概率分布密度。条件随机场假设输出变量构成马尔科夫随机场,而我们平时看到的大多是线性链条随机场,也就是由输入对输出进行预测的判别模型。求解方法为极大似然估计或正则化的极大似然估计。
CRF模型通常应用于优化命名实体识别任务。
问题4、CNN的卷积公式
卷积层计算公式如下:
其中,W为输入大小,K为卷积核大小,P为 padding大小,S为步幅。
如果,想保持卷积前后的特征图大小相同,通常会设定padding为:
问题5、逻辑回归用的什么损失函数
逻辑回归是在数据服从伯努利分布的假设下,通过极大似然的方法,运用梯度下降法来求解参数,从而达到将数据二分类的目的。
逻辑回归中使用的损失函数为对数损失,损失函数具体如下:
问题6、transformer结构
Transformer本身是一个典型的encoder-decoder模型,Encoder端和Decoder端均有6个Block,Encoder端的Block包括两个模块,多头self-attention模块以及一个前馈神经网络模块;Decoder端的Block包括三个模块,多头self-attention模块,多头Encoder-Decoder attention交互模块,以及一个前馈神经网络模块;需要注意:Encoder端和Decoder端中的每个模块都有残差层和Layer Normalization层。
问题7、elmo 和 Bert的区别
BERT采用的是Transformer架构中的Encoder模块;
GPT采用的是Transformer架构中的Decoder模块;
ELMo采用的双层双向LSTM模块。
问题8、elmo 和 word2vec 的区别
elmo 词向量是包含上下文信息的,不是一成不变的,而是根据上下文而随时变化。
问题9、lstm 与 GRU区别
(1)LSTM和GRU的性能在很多任务上不分伯仲;
(2)GRU参数更少,因此更容易收敛,但是在大数据集的情况下,LSTM性能表现更好;
(3)GRU 只有两个门(update和reset),LSTM 有三个门(forget,input,output),GRU 直接将hidden state 传给下一个单元,而 LSTM 用memory cell 把hidden state 包装起来。
问题10、Xgboost的分裂依据、loss函数
xgboost目标函数:
Xgboost的分裂是根据划分前后目标函数的增益值进行决定,找到所有特征增益最大的点进行分裂。
关注成都CDA数据分析师
获取数据分析的干货分享和岗位内推机会