FunnyWii
FunnyWii
Published on 2022-10-20 / 62 Visits
0
0

机器学习八股文 - 基础概念

什么是Overfitting

算法在训练集上表现好,但在测试集上表现不好,泛化性能差。

引起过拟合的原因

模型本身过于复杂,以至于拟合了训练样本集中的噪声。

如何解决过拟合

  • 交叉验证。
  • 用更多的数据进行训练。
  • 数据增强。
  • 特征选择。
  • Early Stop。
  • 正则化 Regularization。

什么是Underfitting

模型复杂度低,模型在训练集上就表现很差,没法学习到数据背后的规律。

引起欠拟合的原因

通常,它发生在训练数据或时间不足的情况下。

如何解决欠拟合

  • 加入更多的特征
  • 减少正则化参数,正则化的目的是用来防止过拟合的,但是现在模型出现了欠拟合,则需要减少正则化参数。

Cross Validation

在交叉验证中,数据被分割为k个fold,其中一个被用作为验证集,其余的用来训练模型。一直重复这个步骤,直到每个fold都被用作验证集一次。

得到的结果的均值被用于评估模型性能,这种方法被称为k-fold。

L1 VS L2

L1的正则化项使用的是权重的绝对值之和,L2使用的则是平方和
L1正则化将不太重要的特征系数缩减为零,因此适合于特征选择。

直观地讲,L1试图估计数据的中位数,而L2试图估计数据的平均数。

为何 L1正则化比L2更容易导致稀疏性?

因为L1正则化使用的是L1范数,只要使L1范数尽可能地小,也就是有更多的0,就会让结果更为稀疏

为什么正则化可以减轻过拟合

在一个模型中,自由度,也就是可以调节的 weight - \theta 越多,越容易过拟合。因此需要约束这个模型,正则化通过惩罚权重系数为0来避免模型过于复杂。

给定数据集,模型预测的正样本总数?

TP+FP

数据集里真正的正样本总数有多少?

TP+FN

Precision & Recall

由Confusion Matrix的结果得来,用于描述分类性能:

Precision:

Precision = \frac{TP}{(TP+FP)}

注:以考试为例,5张卷子没做完,就做了3张。做的里面对了多少?

Recall:

Recall = \frac{TP}{TP+FN}

注:以安检为例,据线报,今天有5名恐怖分子将入境,能不能都给查出来?

Precision 提高,则Recall 下降;反之亦然。

扫盲:Precision, Recall, TPR, FPR - 知乎 (zhihu.com)

F1-Score

label不平衡时使用此metric

F1-Score 会均衡考虑 recall 以及 precision ,是他们的加权平均数。如果想在 recallprecision 取得平衡,就会用到 F1-Score

ROC和AUC

ROC 是一条概率曲线。横轴为FP rate,纵轴为TP rate。

真阳性:

TP rate = Recall = \frac{TP}{TP+FN}

假阳性:

FP rate = \frac{FP}{FP+TN}

AUC是ROC曲线在横轴投影的面积。

分类问题可以使用MSE(均方误差)作为损失函数吗

欧式距离不是凸函数;交叉熵是凸函数。

从损失函数的角度来说,假设一个3分模型中,输出结果为 (a,b,c),但是实际结果为 (1,0,0)
那么MSE为: (a-1)^2 + (b-0)^2 + (c-0)^2 = (a-1)^2 + b^2 +c^2

交叉熵为:-1 \log a - 0 \log b - 0 \log c = -\log a

由上,交叉熵的损失函数只和分类正确的预测结果有关系,而MSE的损失函数还和错误的分类有关系。

熵是啥

用于衡量随机性/混乱度的一个单位

Bias and Variance trade off

Bias代表模型预测值和数据间的差距,代表模型的误差精度

Variance表示模型在不同数据间Bias的差距,代表了模型的泛化性的好坏


Comment