省流:
本文的内容主要介绍机器学习面试中常见的基础但不那么“基础”的概念,小到组会、大到实习和保研考研面试都有可能会出现。下一篇我会更新机器学习常用的统计知识。
基本知识点
过拟合
-
定义:过拟合是指模型过于贴合训练集,导致损失函数在验证集上很大,泛化性能很差
-
原因:
-
解决:
- 增加数据量(把原本弯曲的拟合曲线拉直)
- 正则化
正则化
-
定义:在损失函数中加入正则项,达到控制过拟合的目的。
-
方法:通过设置惩罚系数λ,使得影响较小的特征的系数衰减到0,只保留重要的特征,从而减少模型复杂度,进而达到规避过拟合的目的。常用的有L1和L2正则化。
-
目的:
- 模型可能考虑到很多没必要的特征,这些特征对于模型来说就是噪声,正则化可以通过消除噪声从而减少模型复杂度
- 模型特征存在多重共线性(变量之间相互关联)的话可能导致模型多解,而多解模型的一个解往往不能反映模型的真实情况,正则化可以消除关联的特征提高模型稳定性
-
L1正则化和L2正则化的区别
| L1 | L2 | |||
|---|---|---|---|---|
| 惩罚项 | λ*Σ | βi | ||
| 对参数的影响 | 会将不重要参数缩减到0,产生稀疏解(很多参数是0) | 只缩小参数,不缩减参数,让解更平滑,减少参数之间的差异 | ||
| 是否选择特征 | 是 | 否 | ||
| 鲁棒性 | 受异常值和噪声影响更小 | 易受噪声影响,可以增大惩罚系数λ来解决 |
样本不均衡
-
定义: 在一个分类问题中,不同类别的样本数量差异较大,其中一些类别的样本数量明显少于其他类别。这种情况在实际的数据集中是非常常见的,*例如在医疗诊断、信用评分、欺诈检测等领域中,正例(少数类别)通常会比负例(多数类别)更为稀少。 *样本不均衡可能会导致机器学习模型倾向于预测出现频率较高的类别,而忽略了出现频率较低的类别。这可能会导致对少数类别的识别和分类效果不佳,影响模型的预测性能和泛化能力。
-
解决方法
-
欠采样:减少多数类的采样数量
-
过采样:尽量多地增加少数类的的样本数量
-
数据增强:是在不实质性的增加数据的情况下,从原始数据加工出更多数据的表示,提高原数据的数量及质量,以接近于更多数据量产生的价值,从而提高模型的学习效果。
-
改进损失函数:代价敏感学习(为不同的分类错误给予不同惩罚力度(权重),在调节类别平衡的同时,也不会增加计算复杂度)。如sklearn的class weight参数。
例:clf = LogisticRegression(class_weight='balanced', random_state=42)其中
class_weight='balanced'将会根据训练集中每个类别的样本数量来自动计算权重,使得模型更加关注少数类别。在实际应用中,你也可以手动设置
class_weight参数为一个字典,指定每个类别的权重。
-
评价指标
- 混淆矩阵
| 预测为正例(Positive) | 预测为负例(Negative) | |
|---|---|---|
| 实际为正例(Positive) | True Positive (TP) | False Negative (FN) |
| 实际为负例(Negative) | False Positive (FP) | True Negative (TN) |
在混淆矩阵中,各项含义解释如下:
- True Positive (TP):模型将正例正确地预测为正例的数量。
- True Negative (TN):模型将负例正确地预测为负例的数量。
- False Positive (FP):模型将负例错误地预测为正例的数量(误报)。
- False Negative (FN):模型将正例错误地预测为负例的数量(漏报)。
2. 准确率(Accuracy): 模型预测正确的样本数与总样本数的比率,可通过混淆矩阵的对角线元素之和除以总样本数来计算
3. 精确率(Precision): 精确率是指模型在预测为正类的样本中,预测正确的比例,可通过混淆矩阵中正类预测正确的样本数除以所有预测为正类的样本数来计算。
4. 召回率(Recall): 召回率是指模型正确识别出的正类样本数占所有正类样本的比例,可通过混淆矩阵中正类预测正确的样本数除以所有真实正类的样本数来计算。
5. F1分数(F1 Score): 精确率和召回率的调和平均值,综合考虑了精确率和召回率。
6. ROC曲线和AUC(ROC Curve and AUC): 适用于二分类问题,ROC曲线是以假阳率(False Positive Rate)为横轴,真阳率(True Positive Rate)为纵轴的曲线,AUC表示ROC曲线下的面积,即模型将正类排在负类前面的概率。ROC曲线展示了不同阈值下真阳率与假阳率之间的权衡关系,AUC表示模型整体性能,AUC值越接近1,模型性能越好。(一般认为ROC曲线是评价模型性能的最好指标)
总结
今天的内容主要写了机器学习的一些基本概念知识。下一篇我会介绍机器学习中常用的统计学知识。如果你觉得文章对你有帮助,还请点赞收藏支持呀~文中部分内容来自大模型生成,更多机器学习和GPT使用教程可以参见这篇博客:GPT助力学习和工作
我了解到部分朋友还不清楚怎么开通正版GPT,下面把我和周边同事都在使用的一个平台分享给大家,可以免排队开通正版GPT4.0: 正版GPT升级渠道