トレーディングにおける機械学習:理論、モデル、実践、アルゴトレーディング - ページ 2015

 
マキシム・ドミトリエフスキー

は、すべてのチップを出し入れするため、隠れ層のニューロンの数が少なくなります。出力の誤差を最小にすることで、単純に情報を圧縮しているのです。インプットとアウトプットがイコールであること(理想)。そして、学習後にNSの2番目の部分が捨てられ、隠れ層のニューロン数に等しい圧縮された特徴量が出力されます

リカレントレイヤーを追加することができるなど。

google Autoencoder.とその亜種。

はい、すべてわかりました、ありがとうございます。ただ、1つのサンプル行に対して一度に複数の応答を与えるためにネットワークを訓練することがどのように行われるのかがわかりません。木でどうやるかは不明ですが...。

 
Aleksey Vyazmikin:

はい、すべて理解しました。ただ、1つのサンプル文字列に対して一度に複数の応答を与えるためにネットワークをどのように訓練すればよいのかがわかりません。そこでの指標は何なのか、木だとどうやったらできるのかがわからない......。

私は全く専門家ではありませんが、まず-分解、一つの事象が多くの可能な原因を発生させる場合。その後、考えられるすべての原因を分析し、それらの原因に影響を与える可能性のあるものを分析することで、再構成されます。その結果、イベントを制御する際に影響を与えることができるパラメータが少なくなっています。

 
Aleksey Vyazmikin:

はい、すべて理解しました。ただ、1つのサンプル文字列に対して一度に複数の応答を与えるためにネットワークをどのように訓練すればよいのかがわかりません。そこでの指標は何なのか、木だとそんなことはわからないのですが......。

オートエンコーダーを先に使ったり、ディープNSだけを使ったりしても、まったく意味がないんです。同じ作業がたくさんあるときに必要です。例えば、画像などを圧縮して、他のnsで使用するために

 
Alexei Tarabanov:

私は全く専門家ではありませんが、まず分解が あり、一つの事象が多数の可能な原因を生じさせます。次に、これらの考えられる原因をすべて分析し、原因に影響を与える可能性があるかどうかを調べる再分解があります。その結果、イベントによって制御可能なパラメータが少なくなっています。

そうではなく、関数の重みでニューロン内のデータを屈折させることで、値を1つの関数に畳み込んでいます(画像のピント合わせのようなものです)。そして、その重みを知った上で、プリズムが虹を分解するように、再び構成要素に分解するのです。プロセスは理解できるのですが、木を通してのやり方がよくわかりません。

 
マキシム・ドミトリエフスキー

オートエンコーダーを先に使ったり、ディープNSだけでは全く意味がないんです。同じ作業がたくさんあるときに必要です。例えば、画像などを圧縮して、他のnsに埋め込んで使うなど

まさにこの「ボトルネック」であるニューロンを樹木にトレーニングすることは意味があるのかもしれません。すなわち、予測変数の数を減らすことができる。

 
Aleksey Vyazmikin:

そうではなく、関数の重みでニューロン内のデータを屈折させることで、値が1つの関数に還元されるのです。そして、その重みを知った上で、プリズムが虹を分解するように、再び構成要素に分解していくのです。プロセスは理解できるのですが、木を通してのやり方がよくわかりません。

いや、まず分解を試して みればわかるよ。

簡単に言えば、分解はある原理、接続は別の原理に従うということです。分析・合成神経細胞はあちこちで同じように働いていますが、前者では事象を棚上げし、後者では事象に影響を与える要因の周りに集まってきます。

 
Aleksey Vyazmikin:

このような特定の「ボトルネック」ニューロンを木で訓練することは、意味があるかもしれません。つまり、予測変数の数を減らしたものです。

意味がない

圧縮は圧縮です。すでにモデルが悪いと、何もできない。そして正則化もほぼ同じf関数を持っています。

 
入力データを圧縮する際にロスが発生します。もし圧縮が同じ入力データを取り出す能力で判断されるなら、対象をよく予測するような情報も含めて、まんべんなく 失うことになる。
目的の関数を得るためだけに圧縮するのであれば、これがベストな選択である。
普通の学習はそうだと思うんです。
入力のみの圧縮は、圧縮されたデータに対するその後のターゲットの学習の質を低下させると結論付けている。
でも、理論から結論を出すのではなく、実験をした方がいい。

Alexeyが次元を減らす方法を探しているのは理解できますが、彼はscaffoldingとboostingを使っています。1つのツリーでは、3000の入力のうちほとんどが全く使われないこともある。フォレストやブーストの方が得意なのですが、ほとんど使い道がないのが残念です。
 
マキシム・ドミトリエフスキー

意味がない

圧縮は圧縮です。モデルがすでに悪い場合は、何もしません。そして、正則化も多かれ少なかれ同じことをします。

elibrarius:
入力データを圧縮する際に損失が発生します。もし、同じ入力データを取り出すことができるかどうかで圧縮率を評価するならば、対象をよく予測するような情報も含めて一律に失うことになる。
目的の関数を得るためだけに圧縮するのであれば、これがベストな選択である。
普通の学習はそうだと思うんです。
入力のみの圧縮は、圧縮されたデータに対するその後のターゲットの学習の質を低下させると結論付けている。
でも、理論から結論を出すのではなく、実験をした方がいい。

Alexeyが次元を減らす方法を探しているのは理解できますが、彼はscaffoldingとboostingを使っています。1つのツリーでは、3000の入力のうちほとんどが全く使われないこともある。森とブーストの方が得意ですが、ほとんど使い道がないのが残念です。

なぜ、このようなことができるのかというと、いろいろな考えがあります。

1.相互依存的な予測因子を特定することができる。

1.1.それらを使って別のモデルを構築し、その予測力を評価する

1.2. 標本からそれらを除外し、結果への影響を評価する。もし、それらが結果を改善するなら、類似の予測因子の作成を検討する。

2. 予測変数のグループの代わりに、1つの予測変数を使用する。

1. これにより、モデルを構築する際にランダムに取る確率を均等にすることができます。

2.次元数を減らすことによる学習時間の短縮

そうですね、テストしたいのですが、そのようなモデルをいきなり作成するツールを知りません。


ところで、学習時に、量子化のような壊れた関数を使えば、データの精度に差ができ、再学習を減らすことができるのではないかというアイディアが浮かびました。

 
アレクセイ・ヴャジミキン

そこで考えたのですが、学習時にブレークドファンクション(ステップラインではなく、量子化のようなもの)を使えば、データ精度のバックラッシュができ、オーバートレーニングも減らせるのではないでしょうか。

学習させることができないので、ソルバーがローカルミニマムにはまり込んでしまうのです。アイデアについては、ブラックボックスなので何も出てきません
理由: