Чому кінцева точність є проблемою в машинному навчанні?


Відповіді:


4

Кінцева точність - це десяткове представлення числа, яке було округленим або врізаним. Існує багато випадків, коли це може бути необхідним або доречним. Наприклад 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


Дякую. Чи можете ви пояснити, як svd вирішує проблему в PCA і як взяття суми журналів зменшує проблему? Де ця сума журналів використовується в класифікаторі наївних баєсів?
GeorgeOfTheRF

Це більш глибокі питання, але я можу навести деякі вказівки. він "вирішує" це, тому що ви можете отримати PCA від SVD. Дивіться тут чудову статтю: arxiv.org/pdf/1404.1100.pdf . SVD є кращим через відсутність матриці коваріації при його обчисленні. Сума журналів у наївних баях: blog.datumbox.com/…

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.