問題タブ [natural-logarithm]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
math - 成分対数項から対数(項の和)を計算する方法
(1) 問題の単純なバージョン:
log(P1)、log(P2)、...、log(Pn) を指定して、元の Pi を取得するために項の式を使用せずに log(P1+P2+...+Pn) を計算する方法。元のPiは非常に小さく、数値計算のアンダーフローを引き起こす可能性があるため、取得したくありません。
(2) 問題の長いバージョン:
ベイズの定理を使用して、条件付き確率 P(Y|E) を計算しています。
1000 倍の確率があります。
コンピュータ数値のアンダーフローを避けるために、log(p) を使用して、1000 p の積を計算する代わりに 1000 log(p) の合計を計算しました。
ただし、P(E) も計算する必要があります。
log(P(E))
log の合計と等しくありません(P(E|Y)*P(Y))
。(非常に小さい数値です) をlog(P(E))
解いて足し算せずにどうすればよいでしょうか。P(E|Y)*P(Y)
math - 変数の対数が与えられた場合の式の対数の評価
式の値をプログラムで決定する必要があります。
次の値のみを使用します。
lx iとly iのそれぞれの逆対数を計算することはおそらく非現実的であり、望ましくありません ...
この評価を単純な合計に分解できる方法はありますか?
編集
単純な合計で計算を行う C 関数をどこかで見ました。
値のペアごとに戻り値が追加され、これが正しい答えを与えているようです。しかし、私はそれがどのように、そしてなぜ機能しているのか理解できません!
python - Pythonで指数を扱う - 無限大とオーバーフロー
私が使用している機械学習アルゴリズムでは、ステップの 1 つで何かの指数値を取得する必要があります。
これは私が今扱っているステップです:
私はすでにすべての 1+g_j(X_i) などを計算しましたが、問題はありません。と呼びましょうcalculated_value
。そこは問題ありません。問題は、を使用するmath.exp(calculated_value)
とオーバーフローが発生することです。次に、使用することにしましnp.exp(calculated_value)
た。私はまだオーバーフローしました。また、オーバーフローを取得する以外に、無限大になることもあります。
例は次のとおりです。次の数値を のべき乗にする必要がありますe
。これは ですDecimal
。
これに対する解決策は何ですか?これに対する直接のPythonソリューションがない場合、同じ関数の対数バージョンは、以下の関数の代わりに使用できますか?
β は、いくつかの変数の係数として使用されます。
r - R: nls の自然対数を使用した方程式の使用
良い一日、
R と自然対数 (ln) に苦労しています。まず、R で ln(x) 関数が見つかりません。log(x) が ln(x) と同じであることに気付きました (電卓で ln(x) を使用する場合)。
Rで:
そして電卓で:
私はRに方程式を当てはめようとしています(これはまさに3つの参考文献で見つけた方法です):
y = a + b( x / 305 ) + c( x / 305 ) 2 + d ln ( 305 / x ) + f ln 2 ( 305 / x )
式を使用するために R で次の構文を使用するのは正しいですか?
アイデアは、R の nls() でこの関数を使用することです。よろしくお願いします!
matlab - MATLABでdoubleの自然対数を取得するにはどうすればよいですか?
数値の自然対数を取得しようとすると、次のメッセージが表示されます。
したがって、ドキュメントが受け入れると主張する浮動小数点数として数値をキャストしようとしますが、エラーメッセージが表示されます:
それで、ダブルをシングルとしてキャストしようとすると、同じエラーが発生しますが、次のように表示されます:
c++ - 数のlnまたは自然対数を見つけようとしています
loge(a) はゼロ以外の正の実数である a を取ります。
関数では、x = a/3 です。y = x-1+a*exp(-x)。それらを互いに減算し続け (絶対差を取得)、差が 0.000001 未満になるまで続けます。私の友人は、私がやっていることは正しいと言っていますが、loge(2) を試してみると、0.678 という結果になりました。それ以上の値を指定すると、セグメント フォールトが発生します。任意のヒント?ありがとう。
python - scipy logsumexp() はアンダーフローの課題を処理しますか?
scipy のlogsumexp()
実装には、配列内で見つかった最大値を各要素から減算することによってアンダーフローを防止するハックが含まれていますか?
ここで説明するものは次のとおりですm = maxval
。
performance - log* (log n) とはどういう意味ですか?
log* (log n) とはどういう意味ですか? * は何を表していますか? log(log n) のような他の対数関数と比較するための拡張は?? log* (log n) と (log(log n)^log n) のどちらが大きいか
どちらが優れているかを解決するための私のアプローチ: 両側にログを適用しましたが、log(log* (log n)) がどうなるかわかりません