Q1:偏差和方差
偏差:预测值与真实值的偏差
方差:预测值的离散程度
关系:此消彼涨
- 偏差大: 欠拟合,
- 问题:模型过于复杂或者过于简单;算法不使用于某些特定的数据结构;
- 解决方案:加大模型复杂度;选择合适的算法;增加数据量
- 方差大,偏差大:过拟合
- 解决方案:正则化;增大数据集;添加dropout;提前停止训练;减小模型复杂度
Q2: 监督学习(supervised learning)和无监督学习(unsurpervised learning)的区别?
是否有响应变量(response y)或者标签(label)
Q3: KNN和K-means聚类有什么不同?
KNN是有监督学习,K-means是无监督学习
KNN是根据相邻K个点的y进行计算:分类(majority vote);回归(加权)
K-means则根据数据点与质心的距离进行划分,需要事先制定k
Q4: 解释一下ROC曲线?
是sensitivity与1-Specificity构成的二维曲线。可以用来权衡两者的大小,一般来说,选取与(0,1)最近的点。
Q4.1: 评估指标
Confusion Matrix:
Samples | Positive | Negative |
---|---|---|
Predict P | TP | FP |
Predict N | FN | TN |
描述整体情况,但对非常不平衡的数据没有参考意义。
与accurary相反
正例召回率
预测为正例中真实为正的比例
负例正确预测比例
综合指标:
F-score , 综合了Precison和Recall
当 , F1-score =
ROC curve 越靠近1,越好
Q6: 什么是贝叶斯定理,它如何使用在机器学习中?
贝叶斯定理根据一件事情发生的先验知识告诉你它后验概率。
公式为:
Q7: 朴素贝叶斯原理?
Q8: L1, L2正则之间的不同?
正则主要目的是控制模型复杂度,控制过拟合。
L1正则使用L1范数,可以产生稀疏解,达到筛选特征的效果;
L2正则使用L2范数,能不重要的特征权重衰减到0
Q9: 你最喜欢的算法是什么?
Q10:第一类错误和第二类错误有什么区别?
- Type I error弃真: 当原假设为真时,拒绝原假设。 置信水平
- Type II error存伪: 当备择假设为真时,接受了原假设。 增大, 减小; 减小, 增大。
两者同时减小,只能增大样本
Q11: 生成模型和判别模型有什么区别?具体应用的算法有?
判别模型是根据样本直接估计,比如KNN,Tree-based, SVM
生成模型是估计联合密度函数来间接估计 ,比如朴素贝叶斯
Q12:交叉验证是什么?
Q13:如何对决策树进行剪枝?
当树深度足够大时,决策树会过拟合。一般根据CCP进行剪枝。
Q14: 如何处理一个不平衡对数据?
采样:上采样(Oversampling)、下采样(Undersampling)
数据合成:SMOTE,为数据量小对数据生成样本
一分类:对于极其不平衡来说,可以看作异常检测来做
Q15: 分类与回归对区别?
分类用于离散值
回归用于连续值
Q16: 集成学习例子?
Bagging
RF
Boosting
GBDT
XGBoost
Stacking
Q17: 数据预处理过程有哪些?
处理缺失值:直接删去(Missing rate > 70%), 根据实际意义补充(0,mean,median)
异常值处理
极值
数值化变量
区别离散变量是有序还是无序的:onehot
标准化/归一化