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


Answers:


4

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

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://zh.wikipedia.org/wiki/数值稳定

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

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


谢谢。您能否解释svd如何解决PCA中的问题,以及如何将日志总和减少问题?天真的贝叶斯分类器中使用的这些日志的总和在哪里?
GeorgeOfTheRF 2015年

这些是更深入的问题,但我可以提供一些指导。它“解决”了它,因为您可以从SVD获得PCA。请参阅此处,以获得出色的文章:arxiv.org/pdf/1404.1100.pdf。首选SVD,因为在其计算中缺少协方差矩阵。在朴素贝叶斯日志的总和:blog.datumbox.com/...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.