我正在实现 PCA、LDA 和朴素贝叶斯,分别用于压缩和分类(实现 LDA 用于压缩和分类)。
我编写了代码,一切正常。对于报告,我需要知道的是重建误差的一般定义是什么。
我可以在文献中找到很多数学及其用法......但我真正需要的是鸟瞰图/简单的单词定义,因此我可以将其改编为报告。
我正在实现 PCA、LDA 和朴素贝叶斯,分别用于压缩和分类(实现 LDA 用于压缩和分类)。
我编写了代码,一切正常。对于报告,我需要知道的是重建误差的一般定义是什么。
我可以在文献中找到很多数学及其用法......但我真正需要的是鸟瞰图/简单的单词定义,因此我可以将其改编为报告。
重建误差的一般定义是原始数据点与其投影到低维子空间(其“估计”)之间的距离。
资料来源:伦敦帝国理工学院机器学习专业数学
我通常用作重构误差的度量(在 PCA 的上下文中,以及其他方法中)是确定系数和均方根误差(或归一化 RMSE)。这两个很容易计算,让您快速了解重建的作用。
假设是您的原始数据,是压缩数据。
变量的可以计算为:
由于为完美拟合,您可以通过与 1.0 的接近程度来判断重建。
变量的 RMSE可以计算为:
您也可以通过适合您的数量(规范)对其进行归一化,我经常通过平均值进行归一化,因此 NRMSE 为:
如果您使用的是 Python,您可以将这些计算为:
from sklearn.metrics import r2_score
from sklearn.metrics import mean_squared_error
from math import sqrt
import numpy as np
r2 = r2_score(X, f)
rmse = sqrt(mean_squared_error(X, f))
# RMSE normalised by mean:
nrmse = rmse/sqrt(np.mean(X**2))
其中X
是原始数据,f
是压缩数据。
如果进行一些敏感性分析对您有帮助,您可以在更改压缩参数时例如,在 PCA 的上下文中,当您想要比较具有越来越多的保留主成分的重建时,这可能会很方便。在下面,您会看到增加模式的数量使您的拟合更接近模型:
PCA 上下文中重构错误的鸟瞰图将是我们无法捕获的数据的可变性。
符号原理子空间 - 数据投影的低维子空间
在 PCA 重建中,错误或损失是被忽略子空间的特征值之和。假设您有 10 维数据,并且您正在选择前 4 个主成分,这意味着您的主子空间有 4 个维度并且对应于 4 个最大特征值和相应的向量,因此重建误差是被忽略的 6 个特征值的总和子空间,(最小的 6 个)。
最小化重建误差意味着最小化被忽略的特征值的贡献,这取决于数据的分布和我们选择的组件数量。
被忽略的子空间是主子空间的正交补充,因此重建误差可以看作是原始数据点与在另一个答案中共享的主子空间上的各个投影之间的平均平方距离。