問題タブ [numerical-analysis]

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.

0 投票する
1 に答える
848 参照

r - Rで主成分分析を行うときに、最初にデータマトリックスを標準化する方がよいかどうかをどのように判断しますか?

Rで主成分分析を行おうとしています。それを行うには2つの方法があると私は信じています。1つは、主成分分析をすぐに実行する方法です。もう1つは、最初にs = scale(m)を使用してマトリックスを標準化し、次に主成分分析を適用することです。
どの結果が優れているかをどのように判断できますか?特にどのような値を見る必要がありますか。私はすでに、両方の方法を使用して、固有値と固有ベクトル、各固有ベクトルの分散の比率を見つけることができました。

標準化されていない最初の主成分分析の分散の比率の値が大きいことに気づきました。意味はありますか?これは常にそうではありませんか?

最後に、変数、つまり重みを予測することになっている場合、主成分分析を行うときに、変数、つまり重みをデータマトリックスから削除する必要がありますか?

0 投票する
6 に答える
1565 参照

data-mining - ノイズの多いデータの分析

私は最近、約 10 フィート (飛行中に取得したデータから計算) の精度を持つ気圧高度計を搭載したロケットを打ち上げました。記録されたデータはサンプルごとに 0.05 秒の時間単位であり、飛行全体をズームアウトすると、高度と時間のグラフはほぼ同じように見えます。

問題は、データから速度や加速度などの他の値を計算しようとすると、測定値の精度が計算値をほとんど価値のないものにすることです。速度と加速度の妥当な値を計算 (または概算) できるように、データを平滑化するにはどのような手法を使用できますか? 主要なイベントが時間内に残っていることが重要です。最も顕著なのは、最初のエントリの 0 と飛行中の最高点 (2707) です。

高度データが続き、地表からのフィートで測定されます。最初の時間は 0.00 で、各サンプルは前のサンプルから 0.05 秒後です。飛行開始時のスパイクは、リフトオフ中に発生した技術的な問題によるものであり、スパイクを取り除くことが最適です。

私は当初、近くのデータポイントを平均化する線形補間を使用しようとしましたが、統合に十分なほどデータを平滑化するのに多くの反復が必要でした.曲線の平坦化により、重要な遠地点と地上レベルのイベントが削除されました.

すべてのヘルプは大歓迎です。これは完全なデータ セットではないことに注意してください。データを分析するためのより良い方法についての提案を探しています。変換されたデータ セットで誰かが返信するのではありません。必須ではありませんが、完全な飛行データを知らなくても現在の高度/速度/加速度を予測できるアルゴリズムを将来のロケットに搭載するとよいでしょう。

0 投票する
2 に答える
224 参照

numerical-analysis - 混合精度数値アルゴリズムの解析に関する記事はありますか?

多くの数値アルゴリズムは、32/64 ビット浮動小数点で実行される傾向があります。

しかし、精度の低い (そして消費電力の少ない) コプロセッサにアクセスできたらどうでしょうか? では、数値アルゴリズムでどのように利用できるでしょうか?

これらの問題に対処する優れた本/記事を知っている人はいますか?

ありがとう!

0 投票する
1 に答える
291 参照

numerical-analysis - GNU Scientific Library の実装?

GNU Scientific Library の実装について説明している一連の記事や書籍を知っている人はいますか?

この質問は GSL の使用に関するものではありません。それは、GSL がどのように実装されるか、その設計上の決定/トレードオフについてです。

ありがとう!

0 投票する
3 に答える
407 参照

algorithm - 凸過パラメータ化問題に対する BFGS の収束

BFGS 最適化アルゴリズムが厳密に凸の問題に対して超線形に収束することは「よく知られています」が、厳密に凸ではない問題に対する分析はありますか。たとえば、あるスカラー x に対して f(x) が凸であるとします。次に、g(x1,x2)=f(x1+x2) を最適化するとします。これでも常に超線形収束しますか?

0 投票する
2 に答える
12872 参照

c++ - DBL_EPSILON/epsilonを使用する場合

DBL_EPSILON / std :: neuro_limits :: epsilonは、1を追加したときに違いを生む最小値を提供します。

この知識を何か役に立つものに適用する方法を理解するのに苦労しています。

イプシロンは、コンピューターが処理できる最小値よりもはるかに大きいため、イプシロンよりも小さい値を使用しても安全であるという正しい仮定のように思われますか?

使用している値の比率を1/イプシロンより小さくする必要がありますか?

0 投票する
2 に答える
994 参照

matrix - 機械学習アルゴリズムのトレーニングに使用するためのコレスキー分解の並列化

機械学習アルゴリズムのトレーニングの側面を並列化できるかどうかを調べようとしています。トレーニングの計算コストの高い部分には、正定値行列 (共分散行列) のコレスキー分解が含まれます。純粋に行列代数の観点から問題を組み立ててみます。さらに情報が必要な場合はお知らせください。

ブロック行列があるとしましょう(共分散行列ですが、それは問題には関係ありません)

ここで、A と C は 2 つの異なるセットからのトレーニング データに関連しています。A と B は両方とも正定です。簡単にするために、A と C のサイズが nxn であると仮定します。

ブロックコレスキー分解を行う式があります。http://en.wikipedia.org/wiki/Block_LU_decompositionを参照してください。要約すると、次の結果が得られます。

ここで (* は転置を示します)

どこ

ここで、行列 A と C に関連するトレーニングが既に実行されているとしましょう。したがって、A のコレスキー分解を実行し、C は A^{1/2} と C^{1/2} を与えます (したがって、前方置換を使用して、逆数 A^{-1/2} および C^{-1/2} を簡単に計算できます)。

Q をこれらの量で書き直します。

私の質問は次のとおりです。この設定を考えると、コレスキー分解を Q に適用することなく、代数的に Q^{1/2} を計算することが可能です。つまり、C^{1/2} を使用してQ^{1/2}の計算。これが可能であれば、トレーニングを簡単に並列化できます。

返信ありがとうございます。マトリックスの組版について申し訳ありません。特に数学や行列をタイプセットする賢明な方法はありますか?

マット。

0 投票する
7 に答える
3895 参照

c# - C# で sin/cos 曲線の最小値と最大値を見つける最も効率的な方法

背景:私のプログラムには、一連の点を取り、それらの点によって生成された曲線の最小値と最大値を見つける関数があります。問題は、while ループを使用して近似誤差に基づいて最小/最大を計算するため、信じられないほど遅いことです。私は自分で書いたわけではないので、これがどの正式な方法なのか完全にはわかりませんが、新しいより効率的な方法が必要であることはわかっています。

質問:私の質問は、C# を使用して曲線上の最小最大ポイントを見つけるための最良かつ最も効率的な方法/アルゴリズムは何ですか?これも非常に正確ですか?

曲線について:近くに大学の数値解析の本があるので、必要なのはメソッド名と正しい方向への微調整だけです。曲線を近似するために選択した数のポイントを生成できますが、ポイントの数を効率的な最小値に維持したいと考えています。曲線は常に Sin/Cos 曲線の 1 つのセグメントの形をしていますが、常に同じ曲線であるとは限らず、常に 1 周期未満になります。Theta の範囲は 0° から 359.999...° です。位相と振幅のシフトがあり、Y が負になることはありません。この関数/アルゴリズムは、曲線が変化するにつれて数百ミリ秒ごとに実行されるため、高速に実行する必要があります。

任意の提案をいただければ幸いです。

編集

曲線の詳細:ポイントはマウスの移動で生成されます。ポイントは、車のサーペンタイン ベルトのようなアイドラーを備えたドライブ デザインのゴム ベルトの長さに基づくポイントのセットです。アイドラーの位置によってベルトの長さが決まり、曲線 [ベルトの長さ (y) 対 アイドラーの位置 (x)] が得られます。この場合のアイドラーは旋回アイドラーであり、一定の円運動をします。ドライブの設計が変わると、長さのポイントが変わるか、アイドラーの可動範囲が制限されるため、曲線が変わります。アイドラーの可動範囲は、潜在的に 0° から 359.999...° であり、上記のようにシータです。スロット付きアイドラーの場合、最大範囲は曲線の周期の 1/2 です (より簡単な問題)。

私が必要としているのは、両方のタイプのアイドラーの一般的なソルバーだと思いますが、実際の問題はピボット アイドラーにあります。

0 投票する
3 に答える
1809 参照

algorithm - アルゴリズムの正確な複雑さを計算する方法は?

漸近表記に頼ることなく、アルゴリズムの時間計算量を取得する唯一の方法を数える退屈なステップですか?そして、コードの各行のステップ数がなければ、任意のプログラムのビッグO表現に到達できますか?

詳細:特定の問題を解決するのに最適なアルゴリズムを決定するために、いくつかの数値解析アルゴリズムの複雑さを見つけようとしています。たとえば、eqnsを解くためのRegula-Falsi法またはNewton-Rhapson法の中から、各方法の正確な複雑さを評価してから、どちらの方法がそれほど複雑でないかを決定します('n'の値または任意の引数を入れます)。

0 投票する
2 に答える
2419 参照

floating-point - 浮動小数点を使用した意味の損失における加算と減算

浮動小数点演算の精度とそれを回避するためのさまざまな方法 (共役、テイラー級数などを使用) について学習しているときに、よく似た 2 つの数値または大きな数値と小さな数値の減算がエラーの最大の原因として言及されています。足し算ではなく引き算だけが原因なのですか?私が見ているように、シフト中に重要なビットを失うことはありません。