質問

チームの統計情報、天気、サイコロ、複素数型など、より複雑なデータセットを実行する方法を説明できる人はいますか

私はすべての数学とすべてがどのように機能するかを理解していますが、より複雑なデータを入力する方法、そしてそれが吐き出すデータを読み取る方法を知りません

誰かがpythonで例を提供できれば、大きな助けになるでしょう

役に立ちましたか?

解決

入力と出力を、ニューラルネットワークユニットで表現できるものにエンコードする必要があります。 (たとえば、ユニットの範囲が[-1、1]にある場合、" xは特定のプロパティp" -1は" xはプロパティp&quotを持たない)

入力をエンコードする方法と出力をデコードする方法は、ニューラルネットワークをトレーニングする対象によって異なります。

さらに、多くの「ニューラルネットワーク」があります。さまざまなタスク(逆伝播、ボルトマンマシン、自己組織化マップ)のアルゴリズムと学習ルール。

他のヒント

フィーチャは、実数として表現できる部分に分解する必要があります。ニューラルネットの魅力は、ブラックボックスであり、トレーニング中に(内部ウェイトを使用して)正しい関連付けが行われることです


入力

状況を正確に説明するために必要な数の機能を選択し、それぞれを実数値のセットに分解します。

  • 天気:[今日の気温、今日の湿度、昨日の気温、昨日の湿度...] 今日の気温と今日の湿度との関連付けは内部で行われます
  • チームの統計:[身長、平均体重、最大身長、最高得点など]
  • サイコロ:これを理解できません。離散値をエンコードする方法を意味しますか?
  • 複雑な番号:[a、 ai 、b、 bi 、...]

*離散値の機能は注意が必要ですが、それでも(0.0,1.0)としてエンコードできます。問題は、しきい値を学習するための勾配を提供していないことです。


出力

出力の意味を決定し、トレーニング形式をその形式でエンコードします。出力値が少ないほど、トレーニングが容易になります。

  • 天気:[明日の雨の可能性、明日の気温、...] **
  • チームの統計:[勝つ可能性、20以上勝つ可能性がある...]
  • 複素数:[x、 xi 、...]

**ここで、トレーニングベクトルは次のようになります:翌日雨が降った場合は1.0、雨が降らなかった場合は0.0


もちろん、問題が実際にニューラルネットによってモデル化できるかどうかは別の質問です。

通常、より複雑なデータは、入力層と出力層にニューロンを追加することを意味します。

各「フィールド」にフィードすることができます;実際の値(正規化など)として各入力ニューロンに適切にエンコードされたレジスタの値。または、ビットフィールドにさらに分解して、1または0の飽和入力をニューロンに割り当てることもできます。ニューラルネットワークをどのようにトレーニングするかに依存し、トレーニングセットの出力を模倣しようとします。

問題に必要な入力と出力の単位数を追加する必要があります。近似する未知の関数が n パラメーターに依存する場合、n個の入力ユニットがあります。出力ユニットの数は、関数の性質に依存します。 n個の実パラメーターを持つ実関数の場合、出力ユニットは1つになります。

時系列の予測など、いくつかの問題では、関数のm個の連続値に対してm個の出力単位があります。エンコードは重要であり、選択したアルゴリズムに依存します。たとえば、フィードフォワードネットのバックプロパゲーションでは、可能であれば、分類タスクのように、離散入力のより多くのフィーチャを変換することをお勧めします。

エンコードのその他の側面は、データ量に応じて入力ユニットと非表示ユニットの数を評価する必要があることです。データに関連する単位が多すぎると、コースのff次元の問題のために近似が不十分になる可能性があります。場合によっては、その問題を回避するために何らかの方法で入力データの一部を集約するか、PCAとして何らかの削減メカニズムを使用することができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top