Você pode explicar o que é precisão finita? Por que a precisão finita é um problema no aprendizado de máquina?
Você pode explicar o que é precisão finita? Por que a precisão finita é um problema no aprendizado de máquina?
Respostas:
Precisão finita é a representação decimal de um número que foi arredondado ou truncado. Existem muitos casos em que isso pode ser necessário ou apropriado. Por exemplo 1/3 e os números transcendentais e têm representações decimais infinitas. Na linguagem de programação C, um valor duplo é 8 bits e preciso para aproximadamente 16 dígitos. Veja aqui.
http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/
Para representar concretamente um desses números em um computador (finito), deve haver algum tipo de compromisso. Poderíamos escrever 1/3 a 9 dígitos como .333333333, que é menor que 1/3.
Esses compromissos são compostos por operações aritméticas. Algoritmos instáveis são propensos a erros aritméticos. É por isso que o SVD é frequentemente usado para calcular o PCA (instabilidade da matriz de covariância).
http://www.sandia.gov/~smartin/presentations/SMartin_Stability.pdf
https://en.wikipedia.org/wiki/Numerical_stability
No classificador ingênuo de bayes, você verá frequentemente a multiplicação transformada em uma soma de logaritmos, menos propensa a erros de arredondamento.
https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Multinomial_naive_Bayes
Um exemplo simples e simples: Problema no gradiente de fuga no Deep Learning. Não é principalmente um problema de precisão finita, mas isso também faz parte do problema.