1

私は機械学習で全く新しいです。私はいくつかのAIなどを使って解決したいという問題があります。あなたが私にいくつかの具体的なアルゴリズム、ニューラルネットワークアーキテクチャ、またはいくつかの関連する読書をお勧めするなら、私は感謝します。小さなシーケンスに基づく次のシーケンスの予測

私はマウスの動きに基づいてユーザーの意図を予測するための研究を行っています。現在、私は具体的なデータセットのない段階にあります。目標は、マウス軌跡を予測することによって、ユーザの意図(例えば、ユーザがクリックするボタン)のターゲットを予測することである。

は私がシーケンスの多くを持って問題

をご紹介しましょう。各配列の長さは変わることがあります。入力として私はいくつかの小さなシーケンスを渡します。そのために次に予測するのはxの値です。ですから、私は次の可能な配列(またはもっと可能な配列)を知りたいです。出力シーケンス(x)の長さも可変である。多分シーケンスはここで終わるでしょうか?予測は「リアルタイム」で行う必要があります。

これらの配列は何ですか?

シーケンスは、いくつかの前処理後の2次元空間における動きの方向を表します。各値は、間隔< 0,8>の整数です。アルゴリズムは、区間の上限(16,32、...)を増やすことができなければならない。実際には、値は補間された角度です。

Example how sequences may look like but will be much bigger.

三例のシーケンス。実際の配列ははるかに大きくなります。

解決方法はどう思いますか?

シーケンスはいくつかの類似点に基づいてクラスタ化されます。シーケンスのデータセットが作成されると、一部のニューラルネットワークは、入力シーケンスをサブシーケンスとして含むシーケンスをできるだけ早く検索するように訓練されます。

クラスタリング

マッチングサブシーケンスは、いくつかの耐性を持っている必要があります。シーケンス[3,3,3,3,2]は、[3,3,4,3,2] =偏差許容値*と同様です。また、シーケンス[4,3,3,2]は、[4,3,3,3,3,2] =連続して繰り返される値の許容値に似ています。

*私は、2つの値の違いを相対的な数字として - 0%同じ方向=> 100%反対方向に伝えることができます。

matching example

入力された場合、[1,2,2,2-] - 赤 - 出力は、[4,3,2,2]であるべきです。

入力が[3,3,3,2] - 青の場合、出力は[2]になります。

ニューラルネットワーク

いくつかの研究の後、私は最も類似した配列を与えるべきホップフィールドネットワークを、見つけました。しかし、私はシーケンスの長さが可変であり、Hopfieldネットワークアーキテクチャはバイナリ値を期待していることに気付きました。

私は何とかシーケンスのバイナリ表現を作成することができましたが、どのように長さを変更するかはわかりません。

はのは、Dは方向とsの速度がである別のレベルのシーケンス内のすべての値がスカラーが、速度ベクトル(D、S)でない場合はどうすれば

、それを作ってみましょうか?

関連質問

  1. は、ニューラルネットワークは、「オンライン」に訓練することはできますか?したがって、以前の電車のデータセットを知る必要はなく、新しいデータセットを提供するだけです。
  2. ニューラルネットワークはサーバー側(例:Python)でトレーニングすることはできますが、クライアント側(javascript)の予測に使用できますか?
  3. ニューラルネットワークには、「短期記憶」という種類のものがありますか?予測には2-3予測が影響しますか?
  4. - 私はニューラルネットワークまたは別のアプローチを使用する必要がありますか?

ありがとうございました。

英語を自由に修正できます。

答えて

2

ニューラルネットワークを "オンライン"で訓練することはできますか?だから前に 列車のデータセットを知る必要はなく、ただ新しいデータセットを与えるだけです。

通常、ANNを継続的にトレーニングしません。エラーが許容範囲内になるまでトレーニングを行い、そのモデルを使って予測を行います。定期的にモデルを調整したい場合は、情報を保存して毎晩ネットワークを再訓練することができますが、それはあまり改善されない可能性があり、モデルを歪曲させる長期の悪いデータのリスクを冒すことになります。

ニューラルネットワークはサーバー側(例:Python)でトレーニングすることはできますが、クライアント側(javascript)の予測には を使用できますか?

によって異なります。クライアントの予測に訓練されたモデルを使用する予定ですか、または予測ですぐに使用されるモデルをライブトレーニングするユーザーの操作を意図していますか? モデルがすでに訓練されている場合は、それを使用してユーザーイベントの予測に使用できます。 モデルが訓練されていない場合、悪いデータがモデルを壊す危険があります。 このようなライブトレーニングでは、クライアント側のモデル設定をサーバーによって生成された新しいモデルで絶えず更新する必要があります。

ニューラルネットワークには、「短期間のメモリ」という種類のものがありますか?予測 は、2-3回前の予測の影響を受けますか?

以前の予測を入力として使用することはお勧めしません。エントロピーをシステムに導入することで、モデルが信頼性の高い予測から大幅に逸脱することがあります。試してみてください。その場合は、入力レイヤーにn * k個の追加ノードが必要です。ここでnは、使用する前の予測の数であり、kは予測の出力値の数です。

最も重要なのは、神経ネットワークや別のアプローチを使用する必要がありますか?

ANNは物事を予測するのに非常に便利です。最大の問題は、予測を行うために必要な範囲と信頼性の高いデータを定義することです。私は何千もの入力値でビデオゲームの市場のボラティリティを予測するANNを作成しましたが、マウスの動きを予測することは難しいでしょう。ユーザーが何時間もマウスを円で動かしたり、カーソルを1つの場所に置いたりすることを止めることはありません。このようなアクションをサンプリングするたびに、モデルがそのタイプの動作を予測する可能性が高くなります。優れたトレーニングデータと管理された環境が不可欠です。ビデオゲームは、ユーザの行動が以前のマウスの動き以上に依存するため、マウスの動きを予測するための悪い環境になります。セッション中、ユーザが有限の空間を通って予測可能な方法でナビゲートするが、ウェブサイトは好都合な環境である。

関連する問題