チーム統計、天気、サイコロ、複雑な数値タイプなどのより複雑なデータセットを行う方法を誰か説明してもらえますか
私はすべての数学とすべてがどのように機能するかを理解していますが、より複雑なデータを入力する方法と、それが吐き出すデータを読み取る方法がわからないだけです
誰かがPythonで例を提供できれば、それは大きな助けになります
チーム統計、天気、サイコロ、複雑な数値タイプなどのより複雑なデータセットを行う方法を誰か説明してもらえますか
私はすべての数学とすべてがどのように機能するかを理解していますが、より複雑なデータを入力する方法と、それが吐き出すデータを読み取る方法がわからないだけです
誰かがPythonで例を提供できれば、それは大きな助けになります
入力と出力をニューラルネットワークユニットで表現できるものにエンコードする必要があります。(たとえば、ユニットの範囲が[-1、1]の場合、「xには特定のプロパティpがあります」の場合は1、「xにはプロパティpがありません」の場合は-1)
入力をエンコードする方法と出力をデコードする方法は、ニューラルネットワークをトレーニングする目的によって異なります。
さらに、さまざまなタスク(バックプロパゲーション、ボルツマンマシン、自己組織化マップ)用の多くの「ニューラルネットワーク」アルゴリズムと学習ルールがあります。
特徴は、実数として表現できる部分に分解する必要があります。ニューラル ネットの魔法は、それがブラック ボックスであることです。トレーニング中に正しい関連付けが (内部重みで) 行われます。
入力
状況を正確に説明するために必要な数の特徴を選択し、それぞれを実数値のセットに分解します。
* 離散値の特徴は扱いにくいですが、それでも (0.0,1.0) としてエンコードできます。問題は、しきい値を学習するための勾配を提供しないことです。
出力
出力の意味を決定し、トレーニング例をその形式でエンコードします。出力値が少ないほど、トレーニングが容易になります。
** ここで、トレーニングベクトルは次のようになります: 翌日雨が降った場合は 1.0、降らなかった場合は 0.0
もちろん、問題が実際にニューラル ネットワークによってモデル化できるかどうかは別の問題です。
問題に必要な入力と出力のユニット数を追加する必要があります。近似する未知の関数がnパラメータに依存する場合、入力単位は n になります。出力ユニットの数は、関数の性質によって異なります。n 実数パラメータを持つ実数関数の場合、出力ユニットは 1 つになります。
時系列の予測など、一部の問題では、関数の m 個の連続する値に対して m 個の出力ユニットが存在します。エンコーディングは重要であり、選択したアルゴリズムに依存します。たとえば、フィードフォワード ネットのバックプロパゲーションでは、分類タスクの場合と同様に、可能であれば、離散入力のより多くの特徴を変換することをお勧めします。
エンコーディングの他の側面は、データ量の関数で入力ユニットと隠れユニットの数を評価する必要があることです。データに関連する単位が多すぎると、コース ff の次元の問題により、近似が不十分になる可能性があります。場合によっては、その問題を回避するために何らかの方法で入力データの一部を集計するか、PCA として何らかの削減メカニズムを使用することがあります。
通常、より複雑なデータは、入力層と出力層にニューロンを追加することを意味します。
レジスタの各「フィールド」を入力ニューロンに実数値 (正規化など) として適切にエンコードするか、さらにビット フィールドに分解して、1 または 0 の飽和入力をニューロンに割り当てることもできます。 ...出力については、ニューラルネットワークのトレーニング方法に依存し、トレーニングセットの出力を模倣しようとします。