問題タブ [alglib]

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 に答える
4133 参照

random - C# によるランダム デシジョン フォレストの実装

こんにちは、ALGLIB を使用して rdf を計算しようとしています。残念ながら、各トレーニング サンプルには 2 つよりも多くの変数があります。以下の関数を使用する必要がありますが、トレーニング データには 7 つの変数があります。ALGLIB の実装は、たった 2 つの変数に対して実装されていると思います。7つの可変トレーニングサンプルに使用するにはどうすればよいですか?

前もって感謝します。私のトレーニングセットに適した別のライブラリがあり、それを使用できるランダムデシジョンフォレストが実装されている場合、ALGLIBの使用を主張していません。

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

c++ - 毎回コンパイルせずに alglib を使用する

私は c++ AlgLib ライブラリのいくつかのメソッドを使用しています。私が使用した他のライブラリには、インストールの手順がいくつかありました。その後、.h ファイルをインクルードして -l でコンパイルできました (たとえば、GMP ライブラリを使用して -lgmp でコンパイル)。ただし、alglib を使用して実行できるのは、プログラムをコンパイルするたびに、makefile を使用して必要なすべての .cpp ファイルをコンパイルすることだけです。メイクファイルの例を次に示します。

これらすべてのファイルを毎回コンパイルするのは比較的時間がかかるため、回避する方法はありますか?

0 投票する
0 に答える
844 参照

c++ - C ++での境界制約付き最小二乗最適化の関数?

私は Visual C++ 2010 Express を使用するのはかなり初めてですが、基本は初めてではなく、外部ライブラリを使用して境界制約付き最小二乗最適化を実行する方法を理解しようとしています。

問題を簡単に言えば、線形最小二乗法を使用して、次の行列 W を見つけたいと考えています。

どこ

制約は W の要素の値にあります。要素を「w」と呼びましょう。

MATLAB でこれを行うのはかなり簡単ですが、これを C++ で実装する必要があります。行列 X と T を定式化するために、コードの最初のビットを実装しました。

Visual C++ 2010 Express で境界制約付き最小二乗法最適化を達成するために使用できるライブラリ/関数はありますか? ALGLIB、LEVMAR、および NLOPT を使用してみました。

ALGLIB では、配列を独自のデータ型で定義する必要があります。

LEVMAR には、インストールと使用する必要がある機能に関する情報がほとんどありません。

NLOPT にはこれに対する機能がないようです。また、ここに記載されている手順を使用して lib ファイルを生成し、VC++ で lib ファイルとソース ファイルをリンクした後でも、動作しないようです。

誰でも提案を手伝ってもらえますか? これは MATLAB で簡単に実装できますが、残念ながら C++ を使用する必要があります。

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

math - 加重線形最小二乗線形フィット。ライン上の最初のポイントを強制的に通過させる方法は?

次のように、alglib を使用して、最小二乗線形近似式を使用して勾配と切片の値を計算しています。

「fmatrix」には、x 軸の値が含まれています (各ペアの 2 番目:- 0、0.05、0.1、0.2)。「y」は明らかに私のy軸の値を保持しています。「w」は重みです。この場合はすべて 1 なので、この例では重みは適用されません。

ここで、いくつかの異なる「強制」を適用する必要があります。各 fmatrix ペアの最初の値を「1」から「0」に変更することで、「原点を強制的に通過させる」方法を見つけることができました。

ただし、最初のポイント (x=0、y=32046) も通過する必要があります。これを達成する方法はありますか?数学は私の得意分野ではなく、関数のドキュメントをよく理解していません: http://www.alglib.net/translator/man/manual.csharp.html#sub_lsfitlinearw

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

interpolation - 散布データを含む 2D バイキュービック スプライン

2D 散乱データを補間できるライブラリ (DLL) または c# コードはありますか? Algib はかなり優れていますが、通常のグリッドで動作します

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

c++ - Alglib: 最小二乗法で A * x = b を解く

ポイントのセットへの二次曲線のフィッティングを必要とするやや複雑なアルゴリズムがあります。この 2 次は、そのパラメータ化によって与えられます。(u, v, f(u,v))ここで、f(u,v) = au^2+bv^2+cuv+du+ev+fです。f(u,v)この関数が従わなければならない厳密に6つの制約のセットがあるため、関数の係数を見つける必要があります。問題は、この一連の制約は、 のような問題を引き起こしA*x = bますが、一意のソリューションを保証するために完全に適切に動作するわけではないことです。

したがって、簡単に言うと、 alglib の機能を使用して、 の疑似逆数を何らかの方法で決定するか、ベクトルAに最適なものを直接見つけたいと思います。x

SVD の計算とは別に、最小二乗法の意味でシステムを解くことができる、このライブラリに実装されたより直接的なアルゴリズムがありますかinv(transpose(A)*A)*transpose(A)*b?マトリックス?

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

c# - リストALGLIB の double[,] へ

私は C# の初心者で、AFM カンチレバーのキャリブレーション用のソフトウェアを作成するために使用したいと考えています。そのため、線形でないデータの最初のピークにかなり醜い関数を当てはめる必要があります。ALGLIB パッケージがこの目的に役立つのではないかと思いました。これは比較的簡単に適用できるようです。ホームページの例では、X 軸データに使用しています。

リストに X 値があり、それらを使用したいと考えています。それらをリストから取り出して double[,] に入れるにはどうすればよいですか? 私の最後のアプローチはこのようなものでした

後で関数に必須なので、 double[,] 配列にする必要があるようです

誰でもそれを手伝ってもらえますか?または、非線形フィットのためのより簡単なアプローチを推奨できる人はいますか?

事前にどうもありがとう

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

c++ - Alglib を使用したベクトルと行列の基本操作 (加算、乗算)

機能豊富なライブラリですが、Alglib は最も一般的で基本的な演算子 (行列/ベクトル代数に関係する) のサポートが不足しているようです。

ユーザーは自分で必要な演算子をオーバーロードすることになっていますか、または既存の Alglib インターフェイスを使用して乗算、加算、減算、除算 (スカラーによる) などを達成するためのよりパフォーマンスに適した/推奨される方法はありますか?

関連する質問として、提案され受け入れられた解決策にはかなり不満があります。通常、適切なライブラリが既にある場合、単純に別のライブラリに切り替えることはありません。これらの操作をより頻繁に実行する必要があり、別のより面倒な代替手段に切り替えることは最善ではないことがわかりました (MTL4 はブーストを使用し、それはかなりの負担です)。式テンプレートを使用するというアイデアはいいように思えますが、Alglib でこの手法を実装する価値があるかどうかはわかりません (つまり、単純な代数を処理するより良い方法が Alglib にある場合)。

0 投票する
0 に答える
208 参照

c# - ALGLIB Spline1dConvcubic がひどく間違っている

ALGLIB を使用して C# でスプライン補間を行う次のコードがあります。

入力値が誤って読み取られた場合に備えて、入力値を既に確認しましたが、正しい値です。うまくいかないのはalglib.spline1dconvcubic(..)の行だけです。計算がうまくいかないのか、それとも小数点が何らかの理由で非常に異なる場所にあるように書いているだけなのかはわかりません。

変数anzNeueWerte (ドイツ語) は、データセットの新しい x 値の数を決定します。変数xNeuyNeuは、新しい x 値と y 値を含む double 配列です。

最後の行であるCreateGraph()は、ZedGraph グラフを描画するためのメソッドを呼び出しているだけなので、問題はこの行にも呼び出されたメソッドにもありません。

先週はすでに動作していましたが、それ以来何も変更していないことはほぼ確実です。

どんな助けでも感謝します。

前もって感謝します。

編集: y 値は 0 ~ 8000 の範囲である必要がありますが、ゼロを少し超えてから約 -320.000.000.000.000 になります。

PS:この質問をトピック外、重複、またはその他のものとしてマークしないでください。このライブラリについて見つけた質問には、私の問題に役立つものは何も含まれていませ