機械学習で有限精度が問題になるのはなぜですか?


回答:


4

有限精度は、四捨五入または切り捨てられた数値の10進数表現です。これが必要または適切な場合が多くあります。たとえば、1/3と超越数πはすべて無限の10進数表現を持っています。プログラミング言語Cでは、double値は8ビットで、精度は約16桁です。こちらをご覧ください。eπ

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

(有限の)コンピュータでこれらの数値の1つを具体的に表すには、何らかの妥協が必要です。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

これらはより詳細な質問ですが、いくつかのアドバイスを提供できます。SVDからPCAを取得できるため、「解決」されます。優れた記事については、こちらを参照してください:arxiv.org/pdf/1404.1100.pdf。計算に共分散行列がないため、SVDが推奨されます。ナイーブベイズでのログの合計:blog.datumbox.com/...

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.