記事"ディープニューラルネットワーク(その2)予測変数の変換と選択"についてのディスカッション

 

新しい記事 ディープニューラルネットワーク(その2)予測変数の変換と選択 はパブリッシュされました:

このディープニューラルネットワークシリーズ第2稿では、モデルを訓練するためのデータを準備する過程で予測変数の変換と選択を検討します。

さて、外れ値が取り除かれた後の変数におけるNAの分布を見たいと思います。

require(VIM)
evalq(a <- aggr(x.sin.out), env)

SinMissAggr

図6 データセットにおけるNAの分布

作者: Vladimir Perervenko

 

興味深いことがある:

Обрезка минимального значения — это простой в использовании алгоритм, при котором на каждом шаге отключаются веса с наименьшим абсолютным значением. Этот алгоритм требует ретрансляции сети практически на каждом шаге и дает субоптимальные результаты.

私はこの関数の動作順序を正しく理解しているだろうか?

1) 元の12-8-5-1ネットワークを完全に訓練する

2) 重みが最小のリンクを見つけ、入力を取り除く

3) 遠隔入力なしで11-8-5-1 ネットワークを再び訓練し直す

これを数十回繰り返す。6-2-1-1ネットワークがなくなるまで。

重要でない重み、入力、内部ニューロンの除去に費やす時間は、(ステップ1で行った)1回の完全なトレーニングよりもはるかに長くなるように思われる。

この方法の利点は何でしょうか?

 
elibrarius:

興味深いことがある:

私はこの関数の動作順序を正しく理解しているだろうか?

1) 元の12-8-5-1ネットワークを完全に訓練する

2) 重みが最小のリンクを見つけ、入力を取り除く

3) 遠隔入力なしで11-8-5-1 ネットワークを再び訓練し直す

これを数十回繰り返す。6-2-1-1-1ネットワークがなくなるまで。

重要でない重み、入力、内部ニューロンの除去にかかる時間は、(ステップ1で行った)1回の完全なトレーニングよりもはるかに長くなるように思われる。

この方法の利点は?

1- アルゴリズムはまさにこのように機能する。1つの例外がある:すべての隠れ層のニューロンは捨てられる。

2. 最小限の入力セットと最小限の構造が定義され、フルセットと同じ結果が得られる。

利点は?誤った分類を生み出す不必要なものをすべて取り除く。これが開発者の主張だ。

重要な予測変数を選択する1つの方法

幸運を祈る

 
Vladimir Perervenko:

1.アルゴリズムはこのように動作する。1つの例外:すべての隠れ層のニューロンは捨てられる。

2. フルセットと同じ結果を 与える入力の最小セットと最小構造が定義される。

利点は?誤った分類を生み出す不必要なものをすべて取り除く。これが開発者の主張だ。

重要な予測変数を選択する1つの方法

幸運

1) 入力から固有ニューロンへの接続がない場合、入力自体をオフにできる。

2) ポイント1に従って完全なモデルをトレーニングする場合よりも、何倍も多くの時間が費やされることに困惑しています。

排除された予測変数は、将来、再トレーニング/再学習するときに無視され、時間の節約はそのときだけだと仮定できます。しかし、予測変数の重要性は時間の経過とともに変化することもあります。

私もこのトリックに興味があったのでやり始めましたが、時間がかかることに気づいてあきらめました。

おそらくドロップアウト・ループは、最終的なトレーニングよりも、より多くのエラーと少ないエポックの再トレーニングを可能にするのだろう。


どのようなロジックで隠れニューロンを選別しているのだろうか?各ニューロンには多くの入力接続がある。入力重みの最小和によって?それとも出力重みの最小和?それとも総和?

 
elibrarius:

1) 入力から内部ニューロンへの接続がなければ、入力自体をオフにできる。

2) ポイント1に従ってフルモデルを訓練するよりも、何倍も時間がかかることに困惑しています。

排除された予測変数は、将来、再トレーニング/再学習の際に無視され、時間の節約はその時だけであろうと推測できます。しかし、結局のところ、予測変数の重要性は時間の経過とともに変化する可能性もある。

私もこのトリックに興味があったのでやり始めましたが、時間がかかることに気づいてあきらめました。

おそらくドロップアウト・ループは、最終的なトレーニングよりも、より多くのエラーと少ないエポックの再トレーニングを可能にするのだろう。


どのようなロジックで隠れニューロンを選別しているのだろうか?各ニューロンには多くの入力接続がある。入力重みの最小和によって?それとも出力重みの最小和?それとも総和?

パッケージと関数の説明を見てください。深く調べたことはない。しかし、いくつかのモデル(H2Oなど)では、これが予測変数の重要性を決定する方法です。今チェックしましたが、信頼できるものではありませんでした。

もちろん、予測因子の重要性は時間とともに変化する。しかし、もしあなたが私の記事を読んでいるのであれば、私は、品質があらかじめ定義された限界値以下に低下した場合、定期的にモデルを再トレーニングすることを強く推奨していることに気づいているはずだ。

これが唯一の正しい方法である。IMHO

幸運を祈る

幸運を祈る。

 
Vladimir Perervenko:

パッケージと機能の説明をチェックしてください。私は深く研究していない。しかし、いくつかのモデル(例えばH2O)では、これが予測変数の重要性を決定する方法です。私は今チェックしましたが、信頼できるものではありませんでした。

もちろん、予測因子の重要性は時間とともに変化する。しかし、もしあなたが私の記事を読んでいるのであれば、品質があらかじめ定義された限界値以下に低下した場合、定期的にモデルを再トレーニングすることを強く推奨していることに気づいているはずだ。

これが唯一の正しい方法である。IMHO

幸運を祈る

幸運を祈る。

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

もし1つなら、月曜日(1)と火曜日(2)は100%、木曜日(4)と金曜日(5)は20%の重み・値が異なることになる。

もし1つなら、月曜日(1)と火曜日(2)の重み/値は100%異なり、木曜日(4)と金曜日(5)の重み/値は20%異なる。 時間1,2と22,23では、その差はさらに強くなる。そして、5時間から1時間、23時間から1時間になると、重さがまったく大きく跳ね上がる。

つまり、日や時間が1つの予測変数で表現されると、その有意性に歪みが生じる。

5と24の余分な予測変数は多い。しかし、日や時間の並びは周期的であるため、円周上の角度に変換することができ、通常の角度と同じことができる:「この角度の正弦と余弦を入力として与える方が理にかなっている。つまり、時間と日にそれぞれ2つの予測子が存在することになる。このアイデアはhttp://megaobuchalka.ru/9/5905.html から引用した。
 
elibrarius:

もし1つなら、月曜日(1)と火曜日(2)は100%、木曜日(4)と金曜日(5)は20%の重み・値が異なることになる。

もし1つであれば、月曜日(1)と火曜日(2)では100%、木曜日(4)と金曜日(5)では20%の重み・値が異なることになる。 時間1,2と22,23では、その差はさらに強くなる。そして、5時間から1時間、23時間から1時間になると、重さがまったく大きく跳ね上がる。

つまり、日や時間が1つの予測変数で表現されると、その有意性に歪みが生じる。

5と24の余分な予測変数は多い。しかし、日や時間の並びは周期的であるため、円周上の角度に変換することができ、通常の角度と同じことができる:「この角度の正弦と余弦を入力として与える方が理にかなっている。つまり、時間と日にそれぞれ2つの予測子が存在することになる。このアイディアはhttp://megaobuchalka.ru/9/5905.html から引用した。

時間と日(週、月、年)は名義変数であり、数値ではありません。我々は、それらが順序づけられるかどうかについてだけ話すことができます。提案には感謝しますが、受け入れられません。

これらの変数を数値変数として使いますか?実験することはできますが、私はその方向を見ていません。もし何か結果があれば、共有してください。

幸運を祈ります。

 
記事を読みましたが、最初の部分では予測変数の変換がたくさんあり、確かに参考になりますが、これらすべての変換の有効性を評価するために、変換のあるモデルとないモデルの2つを見てみたいです。また、正規分布にすることに何の意味があるのでしょうか?
 

コードに関する議論や質問は、このスレッドで 行うことができる。

幸運を祈る

 
R の funModeling パッケージには "
bayesian_plot()
関数がない?

RパッケージfunModelingには" 関数がありませんか?