Pouvez-vous expliquer ce qu'est la précision finie? Pourquoi la précision finie est-elle un problème dans l'apprentissage automatique?
Pouvez-vous expliquer ce qu'est la précision finie? Pourquoi la précision finie est-elle un problème dans l'apprentissage automatique?
Réponses:
La précision finie est la représentation décimale d'un nombre qui a été arrondi ou tronqué. Il existe de nombreux cas où cela peut être nécessaire ou approprié. Par exemple 1/3 et les nombres transcendantaux et π ont tous des représentations décimales infinies. Dans le langage de programmation C, une valeur double est 8 bits et précise à environ 16 chiffres. Vois ici.
http://www.learncpp.com/cpp-tutorial/25-floating-point-numbers/
Pour représenter concrètement l'un de ces nombres sur un ordinateur (fini), il doit y avoir une sorte de compromis. Nous pourrions écrire 1/3 à 9 chiffres comme .333333333, ce qui est inférieur à 1/3.
Ces compromis sont aggravés par des opérations arithmétiques. Les algorithmes instables sont sujets à des erreurs arithmétiques. C'est pourquoi SVD est souvent utilisé pour calculer PCA (instabilité de la matrice de covariance).
http://www.sandia.gov/~smartin/presentations/SMartin_Stability.pdf
https://en.wikipedia.org/wiki/Numerical_stability
Dans le classificateur naïf bayes, vous verrez souvent la multiplication transformée en une somme de logarithmes, ce qui est moins sujet aux erreurs d'arrondi.
https://en.wikipedia.org/wiki/Naive_Bayes_classifier#Multinomial_naive_Bayes
Un seul exemple simple: problème de gradient en voie de disparition dans le Deep Learning. Ce n'est pas principalement un problème de précision finie, mais cela fait également partie du problème.