1. 方差与均方误差
方差(Variance)和均方误差(Mean Squared Error, MSE)都是衡量数据分散程度的统计指标,但它们的应用和意义有所不同。以下是它们的区别:
1.1 方差(Variance)
定义:方差是描述数据集分散程度的一个指标。具体来说,它是数据集中每个数据点与均值之间差值的平方的平均值。对于样本数据,方差公式为:
V
a
r
(
X
)
=
1
N
−
1
∑
i
=
1
N
(
X
i
−
X
ˉ
)
2
\mathrm{Var}(X)=\frac1{N-1}\sum_{i=1}^N(X_i-\bar{X})^2
Var(X)=N−11∑i=1N(Xi−Xˉ)2
其中,
X
i
X_i
Xi表示第
i
i
i个数据点,
X
ˉ
\bar{X}
Xˉ表示样本均值,
N
N
N是样本数量。
用途:方差主要用于描述一个数据集的分散程度。如果方差较大,说明数据点分布得比较分散;如果方差较小,说明数据点分布得比较集中。
1.2 均方误差(Mean Squared Error, MSE)
**定义:**均方误差是评估预测模型精度的一个指标。它是预测值与实际值之间差异的平方的平均值。公式为:
均方误差(Mean Squared Error,MSE)是评估预测模型精度的一个指标。它是预测值与实际值之间差异的平方的平均值。公式为:
M
S
E
=
1
N
∑
i
=
1
N
(
Y
i
−
Y
^
i
)
2
\mathrm{MSE}=\frac1N\sum_{i=1}^N(Y_i-\hat{Y}_i)^2
MSE=N1∑i=1N(Yi−Y^i)2
其中,
Y
i
Y_i
Yi 是实际值,
Y
^
i
\hat{Y}_i
Y^i 是预测值,
N
N
N 是数据点的数量。
均方误差主要用于衡量模型的预测效果。它反映了模型预测值与实际值之间差异的大小。MSE 越小,说明模型的预测效果越好。
2. 混淆矩阵
在机器学习领域,混淆矩阵(Confusion Matrix),又称为可能性矩阵或错误矩阵。混淆矩阵是可视化工具,特别用于监督学习,在无监督学习一般叫做匹配矩阵。在图像精度评价中,主要用于比较分类结果和实际测得值,可以把分类结果的精度显示在一个混淆矩阵里面。
混淆矩阵的每一列代表了预测类别,所有列的总数表示预测的数目;
每一行代表了数据的真实归属类别,所有行的总数表示真实值的数目
因此,研究人员对此进行如下四个方面的划分:
True Positive(TP):真正类。样本的真实类别是正类,并且模型识别的结果也是正类。
False Negative(FN):假负类。样本的真实类别是正类,但是模型将其识别为负类。
False Positive(FP):假正类。样本的真实类别是负类,但是模型将其识别为正类。
True Negative(TN):真负类。样本的真实类别是负类,并且模型将其识别为负类。
2.1 混淆矩阵示例
假设我们已经训练好了一个分类模型,并用测试数据集进行了测试。测试集共有100个样本,结果如下:
- 模型将60封实际是垃圾邮件的邮件预测为垃圾邮件(True Positive, TP = 60)。
- 模型将10封实际是垃圾邮件的邮件错误地预测为非垃圾邮件(False Negative, FN = 10)。
- 模型将5封实际上不是垃圾邮件的邮件错误地预测为垃圾邮件(False Positive, FP = 5)。
- 模型将25封实际上不是垃圾邮件的邮件正确预测为非垃圾邮件(True Negative, TN = 25)。
基于这些结果,我们可以构建混淆矩阵:
预测为垃圾邮件 | 预测为非垃圾邮件 | |
---|---|---|
实际是垃圾邮件 | 60(TP) | 10(FN) |
实际非垃圾邮件 | 5(FP) | 25(TN) |
混淆矩阵为我们提供了对分类模型性能的详细视图,有助于我们理解模型在不同类别上的表现。
2.2 从混淆矩阵得到分类指标
从混淆矩阵当中,可以得到更高级的分类指标:Accuracy(精确率),Precision(正确率或者准确率),Recall(召回率),Specificity(特异性),Sensitivity(灵敏度)。
- 样例总数:TP + FP + TN + FN
- 准确率(Accuracy):用来表示模型的精度,即模型识别正确的个数/样本的总个数。一般情况下,模型的精度越高,说明模型的效果越好。公式如下:
A c c u r a c y = T P + T N ( T P + F N + F P + T N ) Accuracy = \frac{TP+TN}{(TP+FN+FP+TN)} Accuracy=(TP+FN+FP+TN)TP+TN - 精确率(Precision):
精确率表示模型预测为正类别的样本中有多少是真正的正类别,计算方式为:
P r e c i s i o n = T P ( T P + F P ) Precision=\frac{ TP}{(TP+FP)} Precision=(TP+FP)TP - 召回率(Recall)/灵敏度(TPR):
又称为查全率,召回率表现出在实际正样本中,分类器能预测出多少。
R e c a l l = T P ( T P + F N ) Recall =\frac{ TP}{(TP+FN)} Recall=(TP+FN)TP - 特异度
是指在所有实际为负类别的样本中,模型能够正确预测为负类别的比例
P R = F P ( T N + F P ) PR=\frac{FP}{(TN+FP)} PR=(TN+FP)FP - False Positive Rate (FPR)
在所有实际为负类别的样本中,模型错误预测为正类别的比例。其计算方式为:
F N R = F N T P + F N FNR=\frac{FN}{TP+FN} FNR=TP+FNFN
-F1 分数(F1-score)
F1 分数是精确率和召回率的调和平均数,它综合了两者的性能,计算方式为:
F 1 = 2 × ( P r e c i s i o n × R e c a l l ) P r e c i s i o n + R e c a l l F1=\frac{2\times(Precision\times Recall)}{Precision+Recall} F1=Precision+Recall2×(Precision×Recall)
F1 分数的取值范围是 [0, 1],越接近 1 表示模型的性能越好,同时考虑到了模型在查准率和查全率之间的平衡。F1 分数对于二元分类问题非常有用,特别是当我们希望在精确率和召回率之间取得平衡时。高 F1 分数意味着模型在查准率和查全率之间取得了良好的平衡。