2017-06-27 4 views
-3

私の問題の場合、4変数に依存する関数を持つデータセットがあります。データセットは、列が5つの列を持つ配列の形式です。列0,1,2,3は入力値で、列4は出力を含みます。私は、入力値によって定義された多様体の全体的な最大値の位置と値を探したい。特に、このデータセットは、関心のないいくつかの極大値を有する。Pythonを使用して変数と関数値の配列からグローバルな最大値を見つける

特にscipyのようなライブラリを使用するときは、ランダムな値を投げてminima/maximaの検索を開始する前に関数形式を定義する必要があるため、Pythonを使用するのは少し難しいです。誰かがライブラリや、私が使うことができる特定のテクニックのアイデアを持っているなら、私は大いに助けていただければ幸いです。 datasetは(nは、4)、

import numpy as np 
global_maxima = dataset[np.argmax(dataset[:,-1])][:-1] 

は、私がよく理解場合は、最初の3つの列の上にあなたのグローバル最大値を与える形状のnumpyのndarrayで考えると

+0

これまでに試したことをお見せできますか?それは数が少ない配列ですか? – rodgdor

+0

"マニホールド"とは何ですか? 4列目のグローバル最大値にしたいですか? –

+0

@ RodrigoDorantes-Gilardiはい、数が少ない配列です。私は機能的な形が分からないので、正直に言うのは難しいです。具体的には、私は、フォームを知らないと仮定して、通常の最大化技法のために推測値などをスローする方法について頭を落としていません。 – dnninja

答えて

0

は、あなたの入力欄です。グローバル最小値を指定する場合は、np.argmaxnp.argminに置き換えてください。

+0

こんにちは@Rodrigo!これは、それらの列に見られる座標の最大値のみを返します。前のコメントで述べたように私が探しているのは、関数のグローバルな最大値の位置に対応する4つの座標を吐き出す最大化ルーチンです。 – dnninja

+0

@dnninja ok、これは編集のようなものですか? – rodgdor

+0

はい!これは速く、それが出している値が最大のために私のクロスチェックを満足するので理にかなっています。 多変量関数の座標のn次元セットを提供するグローバルな最大値の座標を抽出するように構成できる最適化手法(SGDなどの線に沿って)があるかどうかは疑問です。それとも、あまりにも過剰ですか? そしてshoudl私は元の質問をどのようにしてもそれをより明確にするために再構築しますか? – dnninja

関連する問題