参考文章:
机器学习:支持向量机SVM之核函数: https://zhuanlan.zhihu.com/p/30299603
1、GBDT 里用的是分类树还是回归树?
考官答案:回归树
答案:回归树。GBDT的核心在于累加所有树的结果作为最终结果,而分类树的结果显然是没办法累加的,所以GBDT中的树都是回归树,不是分类树,这点对理解GBDT相当重要(尽管GBDT调整后也可用于分类但不代表GBDT的树是分类树)
参考文章:
CART分类与回归树与GBDT(Gradient Boost Decision Tree):https://www.cnblogs.com/peizhe123/p/6105696.html
2、SVM 用的是什么核函数?
答案:SVM 的核函数有线性核、高斯核、径向基函数核和 sigmoid 核。核函数的公式分别为:
线性核:
高斯核:
径向基函数核:,可变换为高斯核
拉普拉斯核:
sigmoid 核:
多项式核:
3、随机森林对比决策树有什么优势?
考官答案:在对于不均衡的样本时,随机森林的效果更好
答案:在对于不均衡的样本时,随机森林的效果更好
4、bagging和boosting 有什么区别?
答案:
参考文章:
Bagging和Boosting的区别(面试准备):https://www.cnblogs.com/earendil/p/8872001.html
Bagging即套袋法,其算法过程如下:
从原始样本集中抽取训练集。每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次抽取到,而有些样本可能一次都没有被抽中)。共进行k轮抽取,得到k个训练集。(k个训练集之间是相互独立的)
每次使用一个训练集得到一个模型,k个训练集共得到k个模型。(注:这里并没有具体的分类算法或回归方法,我们可以根据具体问题采用不同的分类或回归方法,如决策树、感知器等)
对分类问题:将上步得到的k个模型采用投票的方式得到分类结果;对回归问题,计算上述模型的均值作为最后的结果。(所有模型的重要性相同)
Boosting:
AdaBoosting方式每次使用的是全部的样本,每轮训练改变样本的权重。下一轮训练的目标是找到一个函数f 来拟合上一轮的残差。当残差足够小或者达到设置的最大迭代次数则停止。Boosting会减小在上一轮训练正确的样本的权重,增大错误样本的权重。(对的残差小,错的残差大)
梯度提升的Boosting方式是使用代价函数对上一轮训练出的模型函数f的偏导来拟合残差。
Bagging和Boosting的区别:
1)样本选择上:
Bagging:训练集是在原始集中有放回选取的,从原始集中选出的各轮训练集之间是独立的。
Boosting:每一轮的训练集不变,只是训练集中每个样例在分类器中的权重发生变化。而权值是根据上一轮的分类结果进行调整。
2)样例权重:
Bagging:使用均匀取样,每个样例的权重相等
Boosting:根据错误率不断调整样例的权值,错误率越大则权重越大。
3)预测函数:
Bagging:所有预测函数的权重相等。
Boosting:每个弱分类器都有相应的权重,对于分类误差小的分类器会有更大的权重。
4)并行计算:
Bagging:各个预测函数可以并行生成
Boosting:各个预测函数只能顺序生成,因为后一个模型参数需要前一轮模型的结果。
5、jieba 分词的原理是什么?
答案:
基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图 (DAG)
采用了动态规划查找最大概率路径, 找出基于词频的最大切分组合
对于未登录词,采用了基于汉字成词能力的 HMM 模型,使用了 Viterbi 算法
6、未登录词有哪些解决方法?
答案:
① n-gram
7、LSTM 里是如何消除 padding 的影响的?
考官答案:通过 mask
8、LSTM 里的 mask 是具体是怎么做的?
答案:mask是补0后还让LSTM在遇到0的时候溯回到上一个非零的状态,这样就相当于既统一了输入的长度,又告诉了模型每个输入的真实长度,避免这些补的0参与到输入中
网友评论