タグ付けされた質問 「overfitting」

5
シーボーンヒートマップを大きくする
corr()元のdfからdf を作成します。corr()DFは、70 X 70から出てきたし、ヒートマップを可視化することは不可能です... sns.heatmap(df)。を表示しようとするcorr = df.corr()と、テーブルが画面に収まらず、すべての相関関係を確認できます。dfサイズに関係なく全体を印刷する方法ですか、ヒートマップのサイズを制御する方法ですか?
16 visualization  pandas  plotting  machine-learning  neural-network  svm  decision-trees  svm  efficiency  python  linear-regression  machine-learning  nlp  topic-model  lda  named-entity-recognition  naive-bayes-classifier  association-rules  fuzzy-logic  kaggle  deep-learning  tensorflow  inception  classification  feature-selection  feature-engineering  machine-learning  scikit-learn  tensorflow  keras  encoding  nlp  text-mining  nlp  rnn  python  neural-network  feature-extraction  machine-learning  predictive-modeling  python  r  linear-regression  clustering  r  ggplot2  neural-network  neural-network  training  python  neural-network  deep-learning  rnn  predictive-modeling  databases  sql  programming  distribution  dataset  cross-validation  neural-network  deep-learning  rnn  machine-learning  machine-learning  python  deep-learning  data-mining  tensorflow  visualization  tools  sql  embeddings  orange  feature-extraction  unsupervised-learning  gan  machine-learning  python  data-mining  pandas  machine-learning  data-mining  bigdata  apache-spark  apache-hadoop  deep-learning  python  convnet  keras  aggregation  clustering  k-means  r  random-forest  decision-trees  reference-request  visualization  data  pandas  plotting  neural-network  keras  rnn  theano  deep-learning  tensorflow  inception  predictive-modeling  deep-learning  regression  sentiment-analysis  nlp  encoding  deep-learning  python  scikit-learn  lda  convnet  keras  predictive-modeling  regression  overfitting  regression  svm  prediction  machine-learning  similarity  word2vec  information-retrieval  word-embeddings  neural-network  deep-learning  rnn 

2
検証の損失がまだ低下している場合でも、過剰適合は発生しますか?
Kerasには、Kaggleコンテストに使用している畳み込み+ LSTMモデルがあります(参照1)。アーキテクチャを以下に示します。ラベル付けされた11000サンプルのセットでトレーニングしました(2つのクラス、初期有病率は〜9:1であるため、1を約1/1の比率にアップサンプリングしました)。しばらくの間、私はそれがノイズとドロップアウト層で制御下にあると思った。 モデルは見事にトレーニングされているように見え、最終的にトレーニングセット全体で91%を獲得しましたが、テストデータセットでテストすると、絶対ゴミになりました。 注意:検証の精度は、トレーニングの精度よりも高くなっています。これは、「典型的な」過剰適合の反対です。 私の直感では、検証の分割がわずかであるため、モデルは依然として入力セットにあまりにも強く適合し、一般化を失っています。もう1つの手がかりは、val_accがaccよりも大きいことです。これが最も可能性の高いシナリオですか? これが過剰に適合している場合、検証分割を増やすことでこれをまったく軽減できますか、それとも同じ問題に遭遇しますか? モデル: Layer (type) Output Shape Param # Connected to ==================================================================================================== convolution1d_19 (Convolution1D) (None, None, 64) 8256 convolution1d_input_16[0][0] ____________________________________________________________________________________________________ maxpooling1d_18 (MaxPooling1D) (None, None, 64) 0 convolution1d_19[0][0] ____________________________________________________________________________________________________ batchnormalization_8 (BatchNormal(None, None, 64) 128 maxpooling1d_18[0][0] ____________________________________________________________________________________________________ gaussiannoise_5 (GaussianNoise) (None, None, 64) 0 batchnormalization_8[0][0] ____________________________________________________________________________________________________ lstm_16 (LSTM) (None, …

4
モデルが過剰適合し始めたことを知る方法は?
次の抜粋が私の質問がどうなるかについての洞察を提供してくれることを願っています。これらはhttp://neuralnetworksanddeeplearning.com/chap3.htmlからのものです その後、学習は徐々に遅くなります。最後に、エポック280前後で、分類精度はほとんど改善しなくなります。後のエポックでは、エポック280での精度の値に近い小さな確率的変動が見られるだけです。これを、トレーニングデータに関連するコストがスムーズに低下し続ける以前のグラフと比較してください。そのコストだけを見ると、モデルはまだ「良くなっている」ように見えます。しかし、テスト精度の結果は、改善が幻想であることを示しています。フェルミが嫌ったモデルのように、エポック280の後で私たちのネットワークが学習するものは、もはやテストデータに一般化されません。そして、それは有用な学習ではありません。私たちは、ネットワークがエポック280を超えて過剰適合または過剰訓練していると言います。 ニューラルネットワークをトレーニングしていて、(トレーニングデータの)コストはエポック400まで下がりますが、エポック280の後で分類精度は静的になり(いくつかの確率的変動がない場合)、モデルがエポック280以降のトレーニングデータに適合していると結論付けます。 テストデータのコストはエポック15前後まで改善することがわかりますが、トレーニングデータのコストは引き続き改善されていますが、その後は実際に悪化し始めています。これは、モデルが過剰適合であることを示すもう1つの兆候です。しかし、それはパズルを提起します。これは、過適合が学習を支配するようになる時点として、エポック15とエポック280のどちらを考慮すべきかということです。実用的な観点から見ると、テストデータのコストは分類精度の代用に過ぎず、テストデータの分類精度を向上させることが重要です。そして、エポック280は、それを超えて、ニューラルネットワークで学習を支配し過ぎるポイントと見なすのが最も理にかなっています。 以前のトレーニングコストと比較したテストデータの分類精度とは対照的に、現在はトレーニングコストに対するテストデータのコストを課しています。 次に、この本は、280がオーバーフィッティングが始まった正しい時代である理由を説明しています。それが私の問題です。私はこれに頭を包むことができません。 コストを最小限に抑えるようモデルに求めているため、コストは、正確に分類するための独自の強度の尺度として使用するメトリックです。280をオーバーフィッティングが始まった正しいエポックと考える場合、特定のテストデータではより優れた分類子であるにもかかわらず、低い信頼度で意思決定を行っているため、逸脱しやすいバイアスモデルを作成していませんか?テストデータに示された結果から?

2
標本外データのモデルの精度は100%オーバーフィットですか?
私はcognitiveclass.aiのRコースの機械学習を完了し、ランダムフォレストの実験を開始しました。 Rの「randomForest」ライブラリを使用してモデルを作成しました。モデルは、goodとbadの2つのクラスに分類されます。 モデルがオーバーフィットである場合、モデル自体のトレーニングセットからのデータに対してはうまく機能しますが、サンプル外のデータに対してはうまく機能しないことを知っています。 モデルをトレーニングしてテストするために、データセット全体をシャッフルして、トレーニング用に70%とテスト用に30%に分割しました。 私の質問:テストセットで行われた予測から100%の精度を得ています。これは悪いですか?それは本当であるには余りにも良いようです。 目的は、4つの波形を相互に依存する波形認識です。データセットの機能は、ターゲット波形を含む波形のダイナミックタイムワーピング分析のコスト結果です。

2
MNIST分類のために荒廃したニューラルネットワークを過剰適合させないのはなぜですか?
MNIST分類のための単純なニューラルネットワーク(NN)があります。これには、それぞれ500個のニューロンを持つ2つの非表示層が含まれています。したがって、NNの寸法は784-500-500-10です。ReLUはすべてのニューロンで使用され、softmaxは出力で使用され、クロスエントロピーは損失関数です。 オーバーフィットがNNを荒廃させないように見えるのはなぜ私を困惑させるのですか NNのパラメーター(重み)の数を考慮します。およそ ただし、私の実験では、NNのトレーニングに6000の例(MNISTトレーニングセットの10分の1)のみを使用しました。(これは単に実行時間を短く保つためです。トレーニング例をさらに使用すると、トレーニングとテストのエラーはどちらも大幅に減少します。)私は実験を10回繰り返しました。単純な確率的勾配降下法が使用されます(RMSプロップまたは運動量なし)。正則化/ドロップアウト/早期停止は使用されませんでした。報告されたトレーニングエラーとテストエラーは次のとおりです。784 × 500 + 500 × 500 + 500 × 10 = 647000。784×500+500×500+500×10=647000。784\times500+500\times 500+500\times 10=647000.600060006000 番号。Et r a i n(%)EトンのE S T(%)17.811.7210.313.939.113.2411.014.158.712.169.213.279.313.388.311.9910.313.4108.612.7番号。12345678910Etra私ん(%)7.810.39.111.08.79.29.38.310.38.6Etest(%)11.713.913.214.112.113.213.311.913.412.7\begin{array}{|l|c|c|c|c|c|c|c|c|c|c|} \hline \textrm{No.} & 1 & 2 & 3 &4 &5&6&7&8&9&10\\ \hline E_{train}(\%) & 7.8 & 10.3 & 9.1 & 11.0 & 8.7 & 9.2 & …

2
Advanced Optimizationアルゴリズムでオーバーフィッティングが発生する可能性はありますか?
Andrew Ngがコースラで機械学習に関するオンラインコースを受講しているときに、オーバーフィッティングというトピックに出くわしました。勾配降下法が線形回帰またはロジスティック回帰で使用される場合に発生することはわかっていますが、「共役勾配」、「BFGS」、「L-BFGS」などの高度な最適化アルゴリズムが使用される場合にも発生する可能性はありますか?

1
指定された変数に直交する(相関しない)予測を生成する
私が持っているXマトリックス、y変数、および他の変数をORTHO_VAR。私はをy使用して変数を予測する必要がありますXが、そのモデルからの予測は、可能な限りORTHO_VAR相関する一方で、直交する必要がありますy。 私は予測がノンパラメトリックな方法で生成されることを望みxgboost.XGBRegressorますが、どうしても必要な場合は線形法を使用できます。 このコード: import numpy as np import pandas as pd from sklearn.datasets import make_regression from xgboost import XGBRegressor ORTHO_VAR = 'ortho_var' TARGET = 'target' PRED = 'yhat' # Create regression dataset with two correlated targets X, y = make_regression(n_features=20, random_state=245, n_targets=2) indep_vars = ['var{}'.format(i) for i in range(X.shape[1])] # …
8 correlation  machine-learning  dataset  logistic-regression  prediction  linear-regression  prediction  dummy-variables  neural-network  image-classification  python  k-nn  python  neural-network  neural-network  deep-learning  keras  tensorflow  image-classification  tensorflow  reinforcement-learning  policy-gradients  machine-learning  decision-trees  neural-network  overfitting  data-analysis  metric  python  scikit-learn  distance  scipy  machine-learning  python  scikit-learn  decision-trees  logistic-regression  keras  image-classification  implementation  machine-learning  python  scikit-learn  random-forest  decision-trees  machine-learning  feature-selection  feature-engineering  word2vec  word-embeddings  natural-language-process  scikit-learn  time-series  clustering  k-means  python  cross-validation  pyspark  statistics  cross-validation  multiclass-classification  evaluation  machine-learning  nlp  machine-translation  neural-network  deep-learning  keras  tensorflow  image-classification  machine-learning  python  similarity  distance  lstm  text  named-entity-recognition  machine-learning  keras  optimization  gan  learning-rate  neural-network  data-mining  dataset  databases  books  neural-network  rnn 


2
検証とテストとトレーニングの精度。オーバーフィットを主張するために私はどちらを比較すべきですか?
こことインターネットでいくつかの回答を読みましたが、クロス検証は、モデルが一般化するかどうか、およびオーバーフィットについて一般化するかどうかを示すのに役立ちます。 しかし、私は、モデルが過適合であるかどうかを確認するために、テスト/トレーニング/検証の間でどの2つの精度/エラーを比較すべきか混乱していますか? 例えば: データを70%のトレーニングと30%のテストに分割します。 10倍の相互検証を実行すると、平均/平均をとることができる10の精度が得られます。これはどういう意味validation accuracyですか? その後、30%のテストデータでモデルをテストし、を取得しTest Accuracyます。 この場合、何になりますtraining accuracyか?また、モデルが過適合であるかどうかを確認するには、どの2つの精度を比較する必要がありますか?

1
なぜk分割交差検証(CV)がオーバーフィットするのですか?または、なぜCVとテストセットの間で不一致が発生するのですか?
最近、プロジェクトに取り組んでいて、相互検証エラー率が非常に低いのに、テストセットのエラー率が非常に高いことがわかりました。これは、私のモデルが過剰適合していることを示している可能性があります。テストセットがオーバーフィットしているのに、クロス検証がオーバーフィットしないのはなぜですか? より具体的には、100個の変数(n >> p)を持つ約200万の観測値があります。データセットをランダムに80/20トレインとテストに分割しました。次に、トレーニングセットで5分割交差検証を使用してモデル(XGboostなど)を近似し、推定エラー率はかなり低くなっています。次に、同じパラメーター設定を使用し、トレーニングセット全体を使用してモデルに適合させました。驚いたことに、テストセットを使用してモデルのパフォーマンスを評価したところ、エラーレートはCVエラーレートよりも大幅に高くなっています。どうして? 編集: (エラー率について) エラー率は、実際に多項loglossです。1.320044(+/- 0.002126)のCVエラー率と1.437881のテストエラー率を達成しました。これら2つの数字を見つめると、彼らは近くに見えるかもしれませんが、実際にはそうではありません。これを正当化する方法はわかりませんが、このプロジェクトのパフォーマンスのスケール(1.55から1.30まで)では、それらが異なると確信しています。 5分割交差検証の方法は次のようなものです。 列車セットを5セットに分割します。 4セットのモデルを繰り返し適合させ、残りのセットでパフォーマンスをテストします。 5つの反復すべてのパフォーマンスを平均化します。 つまり、私のパラメーター設定でモデルがオーバーフィットする場合は、この相互検証手順で確認する必要があります。しかし、テストセットを使用するまでは表示されません。地球上のどのような状況下でこれが起こる可能性がありますか? ありがとう! 追加: CVエラーレートがテストセットエラーレートと異なる理由は、 あなたが持っているデータがあなたが予測しようとしているデータを代表していないなら、クロス検証は外部データに対してうまく機能しません! - ここに しかし、ランダムに8/2で200万サンプルのデータセットを分割しました。トレインセットとテストセットの変数の分布は同じであるはずです。 (私も同じ質問をここに投稿してください。) 編集: (データ漏洩について) クロスバリデーションされた@darXiderから1つの興味深い賞をいただきました。彼は言う、 場合によっては、機能エンジニアリングの際に、トレーニングセットとテストセットの間のデータリークを回避するように注意する必要があります。たとえば、元の手つかずのデータでPCAを実行し、PC1とPC2を「新しい」機能として使用し、データセットをトレーニングとテストに分割すると、トレーニングセットからテストセットに情報がリークします。それはあなたのスコアを押し上げます。機能エンジニアリングの後で、CVスコアとテストスコアが一致しなくなったとのことですが、これは、トレーニングセットとテストセットの間で何らかの情報漏えいを示唆する可能性があります。 正確には「データ漏えい」とは何なのか、なぜ分割前の機能エンジニアリングがまだ「データ漏えい」を引き起こす可能性があるのでしょうか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.