0

0 から 1 の間の値に正規化された入力データセット (行列 25x1575) があります。また、0 0 0 0 0 0 0 0 1、1 0 0 1 1 1 0 0 1 のようなバイナリ形式の出力行列 (9x1575) もあります。 ...

両方のファイルを matlab nntool にインポートすると、必要に応じて 25 個の入力ノードと 9 個の出力ノードを持つネットワークが自動的に作成されました。

フィードフォワード backProp を使用してこのネットワークをトレーニングした後、トレーニング データでモデルをテストすると、各出力ノードは (-0.1978 0.45913 0.12748 0.25072 0.45199 0.59368 0.38359 0.31435 1.0604) のような 10 進数値を返します。

1 0 0 1 1 1 0 0 1 のような離散値を返さないのはなぜですか? そのような値を取得するために nntool に設定しなければならないものはありますか?

4

1 に答える 1

1

ニューロンの性質に応じて、出力は何でもかまいません。最も一般的なニューロンは、線形のシグモイド曲線(範囲 [0, 1]) と双曲線正接(範囲 [-1, 1]) です。最初のものは任意の値を出力できます。後者の 2 つの近似ステップ関数 (つまり、バイナリ動作) ですが、その変換のカットオフ値を定義するのはエンド ユーザー (あなた) 次第です。

どのニューロンを使用するかについては言及されていませんが、ニューラル ネットワークの実装方法と機能について詳しく読む必要があります。このビデオから始めて、C Gershenson による初心者向けの人工ニューラル ネットワークを読んでください。

更新あなたは tanh-sigmoid ニューロンを使用していると言い、なぜ -1 または 1 に非常に近い値が得られないのか疑問に思います.

tanh ニューロンの出力は、すべての入力の合計の双曲線正接です。-1 から 1 までのすべての値が可能です。出力の「急峻さ」(つまり、中間値の比率) を決定するのは、前のニューロンの出力値とその重みです。これらは、前のニューロンの出力とその重みなどに依存します。特定の入力が与えられた場合に、定義済みのスコアリング関数を最小化する一連の重みを見つけるのは、学習アルゴリズム次第です。典型的な設定では、スコアリング関数は、ニューラル ネットワークの出力を一連の目的の結果と比較し、実際の出力と目的の出力がどの程度異なるかを示す単一の数値を返す関数です。

NN を使用する前に、宿題をする必要があります。少なくとも、目標、NN 出力の解釈方法、NN パフォーマンスの測定方法、および重みの更新方法を決定する必要があります。

于 2014-02-24T11:03:54.083 に答える