機械学習:単一の入力から可変数の出力


8

単一の入力を可変長の出力リストにマッピングする機械学習アルゴリズムはありますか?もしそうなら、公共使用のためのアルゴリズムの実装はありますか?そうでない場合、回避策として何をお勧めしますか?

私の場合、入力は単一のスカラーで、出力は可変長のスカラーのリストです。たとえば、リストの長さを入力として、1のリストを出力したいとします。次に、<input、output>は<1、[1]>、<2、[1、1]>などになります。小さな調整を行うと、長さの平方根が得られます。この場合、<2、[1、1 、1、1]>が答えになります。注:入力を出力に直接接続する必要はありません。


より複雑な例として、見た目と順序のシーケンスを学びたいとしましょう。有効な<input、output>ペアは、<1、[1]>、<2、[1、1]>、<3、[2、1]>、<4、[1、2、1、1]です。 >、<5、[1、1、1、2、2、1]>など。私の問題も、より多くの例を生成できるという点で似ています。私は有限の例のセットに制限されていません。


意味の例を挙げていただけますか?単一の入力変数が複数の異なる出力変数にマップされているのか、単一の入力変数が同じ変数のリストにマップされているのかについて、私は混乱しています。
NBartley、2015

2
これまでに示したすべての例には、可変長リストに決定論的にマッピングできる単一の出力があります。これが単一の入力/単一の出力です:<1,1>、<2,2>、<2,4>そして単純な決定論的スクリプトはこれを<1、[1]>、<2、[1,1 ]>、<2、[1,1,1,1]>。問題を機械学習の部分と決定論の部分に分割することをお勧めします。
AN6U5 2015

追加情報をありがとう。ただし、提供されている回答に見られるように、高レベルのヒューリスティックな議論を超えて応答を定式化するのに十分な情報が提供されているとは思いません。無制限の境界は、以下で説明するように分類アルゴリズムを排除するため、これは隠れマルコフモデルの問題のように見えます。しかし、あなたが提供した例には、統計的な学習方法による解決を指す統計的なコンポーネントがまだありません。「ルックアンドセイシーケンス」が本当の問題ですか、それとも実際に作業している統計的に分散されたデータセットがありますか?
AN6U5

私が興味を持っている実際の問題はCollat​​z Conjuectureです。特に、< メルセンヌ数、ひょうのシーケンス> を学習しようとする学習アルゴリズムからどのような洞察を得ることができますか。
ricksmt 2015

1
質問は機械学習を装って再決定的な純粋数学の問題であるため、主題外です。統計サンプルは提供されていません。むしろ、無限の数学シリーズからの少数のケースセットが参照されます。OPは、入力特徴と入力特徴のメルセンヌ数に対応する素数のリストの間の非線形関係を回復することを望んでいます。これは適切な状態ではなく、データサイエンスのトピックリストにも含まれていません。
AN6U5

回答:


2

マルチラベル分類アルゴリズムを設定し、ゼロを追加して出力標準を作成しようとします。だからあなたのデータは次のようにある場合:<1、1 >、<2、[1,1]>、<3、[2、1]>、<4、[1、2、1、1]>、<5 、[1、1、1、2、2、1]>。出力の最大数は6です。したがって、データを次のように変換できます:<1、[1,0,0,0,0,0]>、<2、[1、1,0,0,0、 0]>、<3、[2、1、0、0、0、0]>、<4、[1、2、1、1、0、0]>、<5、[1、1、1、 2、2、1]>

私に発生する別のオプションは、動的に制限を追加することです。トレーニングとテストのセットがあるとしましょう。最大長を検索して、両方のデータセットにゼロを追加するアルゴリズムを作成できます。次に、予測する新しいデータの長さが長い場合、この新しい予測についてすべてのトレーニングとテストを再計算する必要があります。制限の拡張がモデルにどのように影響するかを確認することもできます。


最大長がない場合、これは現実的ではありませんよね?
ricksmt-2015

はい、制限がなければ問題です。回答を編集しましょう
hoaphumanoid

それは合理的な回避策です。最初の質問に対する回答は?さまざまな数の出力を生成できるアルゴリズムはありますか?
ricksmt-2015

申し訳ありませんが、起こりません。変数の出力を数学的に管理する方法がわかりません。私は常に固定の入力と出力を扱いました。
hoaphumanoid 2015

心配ない。私はそのようなアルゴリズムを聞いたことがありませんので、それがまだ行われていないことには驚きません。そして、私の知る限り、人々が関心を持っているほとんどのデータセットは、固定長の入力長と出力長で設定されているか、設定できます。誰かが私たちが知らないことを知っている場合に備えて、私は数日待ちますが、これは大体私が予想したことです。
ricksmt-2015

1

考えられるいくつかの方法:

  1. @Miguel Gonzalez-Fierroによる0パディングの回答。おそらく最も簡単に実装でき、理にかなっています。
  2. パディングが問題に対して適切でない場合、出力が時系列である場合、一種のニューラル変換モデルを学習し、出力にSTOP / ENDトークンを含めることができます。
  3. ジェネレーターベースのモデル(VAEの変更など)を用意してから、可能な入力の束全体を生成します。いくつかの基準(計算された条件情報を持つシフトがほとんどないモードなど)で十分なドローをいくつでも取得できます。

他にもあると思いますが、今は考えられません。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.