1.A+B∗(C−D)/E的后缀表达式?
2.HMM隐马尔可夫模型的参数估计方法是?
EM算法(Baum-Weich)
3.朴素贝叶斯(naive Bayes)法的要求是?
特征条件独立。
4.训练集中类别不均衡,哪个参数最不准确?
准确度(Accuracy)。
eg.训练集中class 1的样本数比class 2的样本数是60:1。使用逻辑回归进行分类,最后结果是其忽略了class 2,即其将所有的训练样本都分类为class 1。
5.Bootstrap方法是什么?
一种非参数的推断方法,依靠的是对观测到的样本的重新抽样(resampling)
斯坦福统计系主任的Bradley Efron在70年代提出。中心思想是通过从样本中重抽样(resample是这么翻的么?),构建某个估计的置信区间。
一个容量为n的来自分布F的数据样本,自这一样本按放回抽样的方法抽取一个容量为n的样本,这种样本称为bootstrap样本。
如果将由原始数据集计算所得的统计量称为观察统计量(observed statistic)的话,那么由再抽样样本计算所得的统计量称为自助统计量(bootstrap statistic)。
例子:我要统计鱼塘里面的鱼的条数,怎么统计呢?假设鱼塘总共有鱼1000条,我是开了上帝视角的,但是你是不知道里面有多少。
步骤:
1. 承包鱼塘,不让别人捞鱼(规定总体分布不变)。
2. 自己捞鱼,捞100条,都打上标签(构造样本)
3. 把鱼放回鱼塘,休息一晚(使之混入整个鱼群,确保之后抽样随机)
4. 开始捞鱼,每次捞100条,数一下,自己昨天标记的鱼有多少条,占比多少(一次重采样取分布)。
5. 重复3,4步骤n次。建立分布。
6.对应时间序列的数据集如何进行交叉验证?
交叉验证:将原始数据(dataset)进行分组,一部分做为训练集(train set),另一部分做为验证集(validation set),首先用训练集对分类器进行训练,再利用验证集来测试训练得到的模型(model),以此来做为评价分类器的性能指标。
sklearn官方文档解释:传统的交叉验证技术,例如 KFold 和 ShuffleSplit 假设样本是独立的且分布相同的,并且在时间序列数据上会导致训练和测试实例之间不合理的相关性(产生广义误差的估计较差)。 因此,对 “future(未来)” 观测的时间序列数据模型的评估至少与用于训练模型的观测模型非常重要。为了达到这个目的,一个解决方案是由 TimeSeriesSplit 提供的。
7.正负样本极不平衡的问题?哪个评判指标最不具备参考价值?
解决方法:现有技术大体上有三类做法:
(1)直接对训练集里的反例进行“欠采样”,即去除一些反例使得正、反例数目接近,然后再进行学习;
(2)对训练集里的正例进行“过采样”,即增加一些正例使得正、反例数目接近,然后再进行学习;
(3)直接基于原始训练集进行学习,但在用训练好的分类器进行预测时,将式子嵌入到其决策过程中,称为“阈值移动”
评价:欠采样法的时间开销远小于过采样法,因为前者丢弃了很多反例,使得分类器训练集远小于初始训练集,而过采样法增加了很多正例,其训练集大于初始训练集。
需要注意的是,过采样法不能简单地对初始正例样本进行重复采样,否则会招致严重的过拟合;采样法的代表性算法SMOTE是通过对训练集里的正例进行插值来产生额外的正例
另一方面,欠采样法若随机丢弃反例,可能丢失一些重要信息;欠采样法的代表性算法EasyEnsemble利用集成学习机制,将反例划分为若干个集合供不同学习器使用,这样对每个学习器来看都进行了欠采样,但在全局来看就不会丢失重要信息。
好的指标:ROC和AUC、F值、G-Mean
不好的指标:Precision、Recall
8.神经网络中权重共享的是?
卷积神经网络
9.神经网络激活函数?
10.如何防止过拟合?
11.在深度学习中,通常会finetuning已有的成熟模型,再基于新数据,修改最后几层神经网络权值,为什么?
因为便宜好用
12.某大公司有这么一个规定:只要有一个员工过生日,当天所有员工全部放假一天。但在其余时候,所有员工都没有假期,必须正常上班。这个公司需要雇用多少员工,才能让公司一年内所有员工的总工作时间期望值最大?
假设一年有 365 天,每个员工的生日都概率均等地分布在这 365 天里。
E=n * (1-1/365)^n
n=365
13.你用的模型,最有挑战性的项目
14.Loss Function有哪些,怎么用?