Warum ist endliche Präzision ein Problem beim maschinellen Lernen?


Antworten:


4

Endliche Genauigkeit ist die Dezimaldarstellung einer Zahl, die gerundet oder abgeschnitten wurde. Es gibt viele Fälle, in denen dies notwendig oder angemessen sein kann. Zum Beispiel haben 1/3 und die transzendentalen Zahlen und π alle unendliche Dezimaldarstellungen. In der Programmiersprache C ist ein Doppelwert 8 Bit und auf ungefähr 16 Stellen genau. Siehe hier.eπ

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

Um eine dieser Zahlen konkret auf einem (endlichen) Computer darzustellen, muss es einen Kompromiss geben. Wir könnten 1/3 bis 9 Stellen als .333333333 schreiben, was weniger als 1/3 ist.

Diese Kompromisse werden mit arithmetischen Operationen kombiniert. Instabile Algorithmen sind anfällig für Rechenfehler. Aus diesem Grund wird SVD häufig zur Berechnung der PCA (Instabilität der Kovarianzmatrix) verwendet.

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

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

Im naiven Bayes-Klassifikator wird die Multiplikation häufig in eine Summe von Logarithmen umgewandelt, die weniger anfällig für Rundungsfehler ist.

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


Vielen Dank. Können Sie bitte erklären, wie svd das Problem in PCA löst und wie die Summe der Protokolle das Problem reduziert? Wo wird diese Summe von Protokollen im naiven Bayes-Klassifikator verwendet?
GeorgeOfTheRF

Dies sind ausführlichere Fragen, aber ich kann einige Hinweise geben. es "löst" es, weil Sie PCA von SVD erhalten können. Einen ausgezeichneten Artikel finden Sie hier: arxiv.org/pdf/1404.1100.pdf . SVD wird wegen des Fehlens der Kovarianzmatrix bei ihrer Berechnung bevorzugt. Summe der Protokolle in naiven Bayes: blog.datumbox.com/…

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.