0

入力オーディオ ファイルを取得して処理し、変更された出力オーディオ ファイルを吐き出すオーディオ処理アプリがあります。このオーディオ処理アプリには、オーディオの処理方法に影響を与える 10 ~ 15 のパラメーターがあり、出力オーディオ ファイルの内容に影響を与えます (たとえば、異なる周波数応答を持つ、音量を大きくする、小さくするなど)。これらすべてのパラメータには、制限された範囲があります (たとえば、x0 は < 1 かつ > -1 である必要があります)。

出力オーディオ ファイルは、スコアを与えるツールによって評価されます。このツールは、「理想的な」出力がどのように聞こえるかを認識しており、それに応じて出力ファイルにスコアを付けます。スコア 1.0 は、出力が理想的であることを意味します。つまり、入力ファイルが可能な限り最良のパラメーター セットで処理されたことを意味します。スコア 0 は、出力が完全に間違っていることを意味します。

したがって、有効な範囲を持つ 10 ~ 15 個のパラメーターを使用すると、組み合わせは無限大になります。最良の解決策が得られるまで、ここに座ってこれらのパラメーターを手動で微調整していました。いくつかの LP/MIP ソルバー (CBC、MS Solver Foundation、GKLP) を調べましたが、これらは目的関数として数式を使用しています... 私が見る限り、外部評価関数を「プラグイン」していません。 .

LP/MIP ソルバーは、パラメーターの調整を支援する適切なツールですか? 何か案は?

ありがとう、

アケバン

4

3 に答える 3

1

シミュレーテッドアニーリングや遺伝子アルゴリズムなどの一般的なヒューリスティックを使用できます。評価プロセスは、フィットネス/目的関数になります。

于 2011-08-05T17:33:58.723 に答える
0

目的関数があれば、はい LP が理想的なアプローチになります (そして理想的な答えが得られます)。解決策は純粋に分析的です。しかし、関数がない場合、問題が整数プログラミングの問題になることを正しく理解しているようです。私は整数計画法についてあまり知識がありませんが、それも目的関数を解くことを前提としていると思います。関数を使用しても、整数プログラムは NP 困難です。

したがって、ブルートフォースを使用して極大値を検出し、それを調整する必要があるようです。それはまさにあなたがやりたくないことだと思いますが、それが頭に浮かびます。

于 2011-08-05T17:30:13.310 に答える
0

SPOTパケット (R プログラミング言語)を使用できます。これにより、総当たりよりも大幅に少ない実行回数で (ほぼ) 最適なパラメーター設定を見つけることができます。フィットネス関数コードには任意のプログラミング言語を使用できます。SPOT にはそのためのアダプターがあり、デフォルト設定の自動モードを提供します (設計タイプと予測モデルについて心配する必要はありません)。学習曲線は急ですが、基本を理解すれば強力なツールになります。これがクイックガイドです。章 2.6 は具体的な例を提供します。SPOT パッケージには、いくつかの例が付属しています。

于 2012-11-29T20:22:58.900 に答える