問題タブ [standardized]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
handle - 標準化されたエラーの分類と処理
エラー/例外を「適切に」分類して処理する方法を標準化する必要があります。
私は現在、エラー番号、重大度コード、位置情報、および追加情報文字列を渡す関数にエラーを報告するプロセスを使用しています。この関数は、エラーが致命的でアプリが終了する必要がある場合はブール値の true を返し、それ以外の場合は false を返します。そのプロセスの一部として、ユーザーへの視覚的なフィードバックとは別に、関数は、特定の重大度レベルを超えるエラーをファイルに記録します。
エラー番号は、エラーのタイプを説明する文字列の配列にインデックスを付けます。たとえば、「ファイル アクセス」、「ユーザー入力」、「スレッド作成」、「ネットワーク アクセス」などです。重大度コードは、0、1、 2 または 4、0=情報あり、1=user_retry、2=cannot_complete、4=cannot_continue。location-info はモジュールと関数、Extra-info はパラメーターとローカル変数の値です。
これを、ライブラリに入れてすべてのアプリで再利用できるエラー処理の標準的な方法にしたいと考えています。私は主に Linux で C/C++ を使用していますが、結果のライブラリを他の言語/プラットフォームでも使用したいと考えています。
エラータイプの配列を拡張して、特定の重大度レベルのデフォルトの動作を示すことが考えられますが、これが実行されるアクションになり、ユーザーにオプションを与えないようにする必要がありますか?
または: そのような拡張機能は、ユーザーが選択する必要があるオプションのサブ配列であるべきですか? これに関する問題は、オプションが必然的に一般化されたプログラミング関連のオプションになり、エンドユーザーを完全に困惑させる可能性があることです。
または: error-lib ルーチンを使用する各アプリは、エラーまたはデフォルトの動作の独自の配列を渡す必要がありますが、これはライブラリの目的を無効にします...
または: 各アプリで重大度レベルを処理する必要がありますか?
または:あなたは何を提案しますか?エラーをどのように処理しますか? どうすればこれを改善できますか?
python - Python は標準化された言語ではありませんか?
私はこの「プログラミング言語のリスト」に出くわしましたが、Python のような一般的な言語は標準化されていないことがわかりました。それはなぜですか、また「標準化された」とはどういう意味ですか?
r - R:平均およびsd関数を使用して標準化
簡単な変換をしようとしています。私は次のコードを使用しましたが、正常に機能しました。
しかし、次のコードを機能させることができません。
また、平均関数だけを機能させようとしました。
しかし、次のエラーが発生し続けます。
ですから、平均値と標準偏差の関数をどのように使用しているかに関係があると思いますが、それを理解することはできませんでした。
データ例:
preprocessor - ニューラル ネットワーク入力用のテキスト文字列の処理
ANN 入力を正規化、標準化などする必要があることは理解しています。さまざまな ANN の特性とモデルはさておき、{0,1} の範囲内または範囲 {-1, 1}ニューラルネットワークへの入力として与えられる前に?Google でこれを検索していますが、情報が見つかりません (間違った用語を使用している可能性があります)。
- それは理にかなっていますか?
- それが、ニューラル ネットワーク用にテキストを前処理する方法ではないでしょうか。
- 代替手段はありますか?
2013 年 11 月の更新
私は長い間、ピートの答えを正しいものとして受け入れてきました。しかし、主にシンボリック知識と ANN について行ってきた最近の調査のために、私は深刻な疑問を抱いています。
Dario Floreano と Claudio Mattiussiは、著書の中で、分散エンコーディングを使用することで、このような処理が実際に可能であると説明してい。
実際、グーグルの学者で検索してみると、シンボリック知識をエンコードするために脳が分散エンコードを使用すると仮定されている神経科学の記事や論文が大量に存在します。
Teuvo Kohonenは、論文「Self Organizing Maps」で次のように説明しています。
ニューラル適応法則をシンボル セット (ベクトル変数のセットと見なされる) に適用すると、シンボル間の「論理距離」を表示する地形図が作成されると考える人もいるかもしれません。しかし、連続データと比較してシンボルの性質が異なるという問題が生じる。後者の場合、類似性は、連続エンコーディング間のメトリックの違いとして、常に自然な方法で表示されます。これは、メトリックが定義されていない単語などの個別の象徴的なアイテムには当てはまりません。記号の意味がその符号化から切り離されるのは、記号の性質そのものです。
しかし、Kohonen は SOM のシンボリック情報をうまく処理できました。
さらに、Alfred Ultsch 博士は論文「The Integration of Neural Networks with Symbolic Knowledge Processing」で、ANN での記号知識 (テキストなど) の処理方法を正確に扱っています。Ultsch は、シンボリック知識を処理するための次の方法論を提供します: ニューラル近似推論、ニューラル統合、イントロスペクション、および統合知識取得。とはいえ、グーグルの学者やその他の場所にあるものについては、ほとんど情報が見つかりません。
彼の答えのピートは、セマンティクスについて正しいです。通常、ANN のセマンティクスは切り離されています。ただし、以下の参考文献は、研究者が RBM をどのように使用して、異なる単語入力のセマンティクスの類似性を認識するように訓練したかについての洞察を提供します。したがって、セマンティクスを持つことは不可能ではありませんが、セマンティクスが必要な場合は、階層化されたアプローチまたは二次 ANN が必要になります。 .
Subsymbolic Neural Networks による自然言語処理、Risto Miikkulainen、1997 Word Observations に関する制限付きボルツマン マシンのトレーニング、GEDahl、Ryan.P.Adams、H.Rarochelle、2012
2021 年 1 月の更新
NLP とディープ ラーニングの分野では、過去数年間、そして私がその質問をして以来、研究が復活しています。現在、私が達成しようとしていたことをさまざまな方法で解決する機械学習モデルがあります。
ディープ ラーニングまたはニューラル ネットワークでテキストを前処理する方法について疑問に思っているこの質問にたどり着いた人のために、いくつかの役立つトピックを次に示します。いずれもアカデミックではありませんが、理解しやすく、同様のタスクの解決を開始するのに役立つトピックです。
私がその質問をしたとき、RNN、CNN、および VSM が使用され始めようとしていました。現在、ほとんどのディープ ラーニング フレームワークは広範な NLP サポートをサポートしています。上記がお役に立てば幸いです。
r - Rキャレットglmnet標準化= FALSE
モデルのレベルでcaret
遊ぶためにパッケージを使用しようとしています。問題は、使用しているデータがすべてダミー変数であり、標準化したくないことです。通常、または単独で使用していた場合は、追加するだけですalpha
glmnet
glmnet
glmnet
cv.glmnet
caret
標準化をオフにする設定はありますか?
r - データセットで、各要素をp値に変更したい
私はデータセット、9X12 マトリックスを持っています。データ セットは正規化されているため、各要素を比較できます。
より良い比較のために、各値を p 値に変更したいと思います。
どうすれば作れますか?(上記のマトリックスを使用してください。)
私にお知らせください。
machine-learning - ニューラル ネットワーク - トレーニング セットと検証セットは別々の標準化が必要ですか?
私はトレーニング中のこの 5-5-2 バックプロパゲーション ニューラル ネットワークを持っており、LeCun によるこの素晴らしい記事を読んだ後、彼が提案するいくつかのアイデアを実践し始めました。
現在、私は自分で作成した 10 倍の交差検証アルゴリズムで評価しています。これは基本的に次のようになります。
私の入力と出力は標準化されており (平均 0、分散 1)、tanh 活性化関数を使用しています。すべてのネットワーク アルゴリズムは適切に動作しているようです。sin 関数を近似するために同じ実装を使用しましたが、かなりうまく機能します。
さて、問題はタイトルが示すとおりです。各トレーニング/検証セットを個別に標準化する必要がありますか、それともデータセット全体を一度標準化する必要がありますか?
後者を行った場合、ネットワークは意味のある予測を生成しないことに注意してください。ただし、出力を見るだけでなく、より「理論的な」答えを得ることが好きです。
ちなみに、私は C で実装しましたが、C++ にも慣れています。