11.1面试相关

自我介绍

简单介绍一下你的项目

任务是基于患者的病情描述,自动识别出患者应该去哪个门诊科室,标签就是医院的各个科室;整个项目的流程分为数据预处理,文本特征工程,建模和调参,以及模型评估。
首先数据预处理主要是对文本进行分词和去停用词;
特征工程提取了文本的tf-idf特征,word2vec词向量,n-gram特征等
选择了xgboost多标签分类模型
调参部分选择了网格搜索和贝叶斯优化搜索算法。
最后选择了F1 score作为评价指标
特征工程是怎么做的?
计算出所有样本中每个单词的tf-idf值,基于word2vec或fasttext的词向量是求出每个词向量的最大值或者平均值作为新的样本特征,(word2vec比tfidf高一维)使用大小不同的滑动窗口来捕捉短句和词组的特征。

数据是怎么放到Xgboost中的

介绍下贝叶斯优化

贝叶斯搜索策略是建立在高斯回归的基础之上,属于一类优化算法,该算法使用先前对损失函数f的观察结果,用来确定下一个最优点,也就是更新目标函数的后验分布,直到后验分布基本接近真实分布,

偏差和方差

dropout

dropout可以有效减小过拟合的风险,增强模型的泛化能力。它的工作原理是在每次迭代过程中以一定的概率随机关闭一些神经元,使得模型不会太过依赖某些局部特征,这种方式类似于模型集成的bagging思想。
dropout在测试阶段需要将每个神经元的参数乘以概率系数p,以恢复在训练过程中该神经元只有p的概率被激活。

tf-idf word2vec及其优化方案

Balance Bagging Classifier

类似于bagging思想,每个基学习器取一部分类别多的数据,取所有的类别少的数据,类似于过采样和欠采样。

解决样本不平衡

样本不平衡怎么选评价指标呢

batch Normlization

批量归一化是针对每一批数据,在网络的每一层输入之前增加归一化处理,将所有的批数据强制在正态分布下,多用于图像领域。BN的作用是可以缓解梯度消失的现象,减小过拟合的风险,增强模型的而泛化能力。
怎么减小过拟合风险的
批量归一化可以看作在上一层的输出和该层的输入之间加的计算层,将数据的分布进行额外的约束,可以增强模型的泛化能力。

梯度消失现象,LSTM是怎么解决梯度消失

优化器 Adam

动量:在参数更新时一定程度上保留之前的参数方向,一方面保留之前的梯度方向,另一方面计算新的梯度方向;加速收敛,抑制震荡。
Adam是对随机梯度下降的拓展,结合了动量和可适应学习率来加快收敛速度,通过, 计算不同参数的自适应学习率。
Adam 算法和传统的随机梯度下降不同。随机梯度下降保持单一的学习率(即 alpha)更新所有的权重,学习率在训练过程中并不会改变。而 Adam 通过计算梯度的一阶矩估计和二阶矩估计而为不同的参数设计独立的自适应性学习率。

介绍一下指针网络

指针网络就是生成一个指向输入中单词的概率分布,decoder端每个时刻的输入作为query,encoder端提供key,value,然后计算关于输入中每个单词的注意力权重,并将这个注意力权重作为概率分布;然后学习一个0-1之间的权重,将这个概率分布和指向词表的概率分布进行相加
这使得模型更加倾向于选择输入中的词。

seq2seq是怎么做的,训练和预测有什么不

seq2seq的训练阶段有teacher forcing机制来保证输出不会发散。

Coverage 机制

seq2seq模型很大的一个问题是输出重复现象,这可能是因为模型过多的关注输入中的某个词我们不希望模型过度的依赖输入中的某个词,希望模型在不同的时间步关注不同位置的词,然后我们加一个正则项,来期望输入中每个单词的注意力权重尽量平均起来。

累加之前时刻的注意力权重,然后和当前时刻的注意力权重取一个最小值作为覆盖loss。

面试官评价:

说的挺多,但不够精炼,概念没有说的很清楚,逻辑性差一些

你可能感兴趣的:(NLP,NLP面经,深度学习,人工智能)