为什么有限精度是机器学习中的一个问题?

数据挖掘 机器学习 术语 定义 有限精度
2021-09-27 15:41:39

你能解释一下什么是有限精度吗?为什么有限精度是机器学习中的一个问题?

2个回答

有限精度是已舍入或截断的数字的十进制表示。在许多情况下,这可能是必要的或适当的。例如 1/3 和超越数eπ都有无限的十进制表示。在编程语言 C 中,双精度值是 8 位,精确到大约 16 位。看这里。

http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/

要在(有限)计算机上具体表示其中一个数字,必须进行某种妥协。我们可以将 1/3 到 9 位数字写为 .333333333,它小于 1/3。

这些妥协与算术运算相结合。不稳定的算法容易出现算术错误。这就是为什么 SVD 经常用于计算 PCA(协方差矩阵的不稳定性)的原因。

http://www.sandia.gov/~smartin/presentations/SMartin_Stability.pdf

https://en.wikipedia.org/wiki/Numerical_stability

在朴素贝叶斯分类器中,您经常会看到乘法转换为对数之和,这样不太容易出现舍入错误。

https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Multinomial_naive_Bayes

一个简单的例子:深度学习中的梯度消失问题这主要不是有限精度问题,但这也是问题的一部分。