タグ付けされた質問 「cross-validation」

保留されたデータのサブセットでのモデルのパフォーマンスを定量化するために、モデルのフィッティング中にデータのサブセットを繰り返し保留する。

2
Keras:val_lossが増加する一方で損失が減少するのはなぜですか?
一連のパラメーターのグリッド検索を設定しました。バイナリ分類を行うKerasニューラルネットに最適なパラメーターを見つけようとしています。出力は1または0です。約200の機能があります。グリッド検索を行ったとき、一連のモデルとそのパラメーターを取得しました。最良のモデルには次のパラメーターがありました。 Epochs : 20 Batch Size : 10 First Activation : sigmoid Learning Rate : 1 First Init : uniform そしてそのモデルの結果は: loss acc val_loss val_acc 1 0.477424 0.768542 0.719960 0.722550 2 0.444588 0.788861 0.708650 0.732130 3 0.435809 0.794336 0.695768 0.732682 4 0.427056 0.798784 0.684516 0.721137 5 0.420828 0.803048 0.703748 0.720707 …

2
PCAの交差検証を実行して主成分の数を決定する方法は?
主成分分析用の独自の関数であるPCAを記述しようとしています(もちろん、既に多くの記述がありますが、自分で実装することに興味があります)。私が遭遇した主な問題は、交差検証ステップと予測二乗和(PRESS)の計算です。どの交差検証を使用するかは関係ありません。これは主に背後にある理論についての質問ですが、Leave-one-out交差検証(LOOCV)を検討してください。理論から、LOOCVを実行するには次のことが必要であることがわかりました。 オブジェクトを削除する 残りをスケール いくつかのコンポーネントでPCAを実行する (2)で取得したパラメーターに従って削除されたオブジェクトをスケーリングする PCAモデルに従ってオブジェクトを予測する このオブジェクトのPRESSを計算します 同じアルゴリズムを他のオブジェクトに再実行する すべてのPRESS値を合計します 利益 私はこの分野で非常に新しいので、私が正しいことを確認するために、結果を私が持っているいくつかのソフトウェアからの出力と比較します(また、いくつかのコードを書くために、ソフトウェアの指示に従います)。残差二乗和とを計算するとまったく同じ結果が得られますが、R2R2R^2PRESSの計算は問題です。 相互検証ステップで実装することが正しいかどうか教えてください。 case 'loocv' % # n - number of objects % # p - number of variables % # vComponents - the number of components used in CV dataSets = divideData(n,n); % # it is just a variable responsible …

2
エラー率は正則化パラメーターラムダの凸関数ですか?
RidgeまたはLassoで正則化パラメーターlambdaを選択する場合、推奨される方法は、さまざまな値のlambdaを試し、検証セットでエラーを測定し、最後に最も低いエラーを返すlambdaの値を選択することです。 関数f(lambda)= errorがConvexである場合、私にはクリートではありません。こんな感じかな?つまり、この曲線は複数の極小値を持つことができます(これは、ラムダの特定の領域でエラーの最小値を見つけても、他の一部の領域でさらに小さなエラーを返すラムダがある可能性を排除しないことを意味します) あなたのアドバイスをいただければ幸いです。

1
Kを大きく選択すると交差検定スコアが低下するのはなぜですか?
ボストン住宅データセットとRandomForestRegressor(デフォルトパラメータ付きの)scikit-learnで遊んでみて、奇妙なことに気付きました。フォールドの数を10を超えて増やすと、平均クロス検証スコアが減少しました。私のクロス検証戦略は次のとおりです。 cv_met = ShuffleSplit(n_splits=k, test_size=1/k) scores = cross_val_score(est, X, y, cv=cv_met) num_cvs変化したところ… 。k-fold CVのトレイン/テスト分割サイズの動作をミラーリングtest_sizeする1/num_cvsように設定しました。基本的に、k倍のCVのようなものが必要でしたが、ランダム性も必要でした(したがって、ShuffleSplit)。 この試験を数回繰り返し、平均スコアと標準偏差をプロットしました。 (のサイズはk円の面積で示されることに注意してください。標準偏差はY軸にあります。) 一貫して、k(2から44に)増加すると、スコアが一時的に増加し、その後kさらに増加すると(〜10倍を超えて)、着実に減少します!どちらかと言えば、より多くのトレーニングデータがスコアのマイナーな増加につながることを期待します! 更新 絶対エラーを意味するようにスコアリング基準を変更すると、期待どおりの動作が得られます。スコアリングは、KフォールドCVのフォールド数を増やすと、0に近づくのではなく(デフォルトの ' r2 'のように)向上します。デフォルトのスコアリングメトリックの結果、フォールド数が増えると、平均メトリックとSTDメトリックの両方でパフォーマンスが低下するのはなぜですか。

2
LASSO後の複雑な調査データの相互検証
LASSOを使用して、いくつかの候補予測子でモデル選択を行い、継続的な結果を得ようとしています。目標は、最高の予測パフォーマンスを備えた最適なモデルを選択することです。これは、通常、LASSOからチューニングパラメーターのソリューションパスを取得した後、K分割交差検証によって実行できます。ここでの問題は、データがクラスターのサンプリングと層別化を伴う複雑な多段階調査計画(NHANES)からのものであることです。glmnetRではサンプリングの重みを取得できるため、推定部分は難しくありません。しかし、観測値はもはやiidではないので、相互検証部分はあまり明確ではありません。また、プロシージャは、有限母集団を表すサンプリングの重みをどのように説明できますか? だから私の質問は: 1)最適な調整パラメーターを選択するために、複雑な調査データでK分割交差検証を実行するにはどうすればよいですか?具体的には、サンプルデータをトレーニングと検証のセットに適切に分割する方法を教えてください。そして、予測誤差の推定値をどのように定義しますか? 2)最適な調整パラメーターを選択する別の方法はありますか?

1
ガウス過程が過剰適合しているかどうかをどのように検出できますか?
交差検証ではなく、データの周辺信頼度を最大化することにより、多くのパラメーターを持つARDカーネルでガウスプロセスをトレーニングしています。 私はそれが過剰適合していると思います。ベイジアンコンテキストでこの疑いをテストするにはどうすればよいですか?

2
相互検証とパラメーターの最適化
10分割交差検証を使用すると、パラメーターの最適化について質問があります。 すべてのフォールドのモデルトレーニング中にパラメーターを修正するかどうかを確認したい。つまり、(1)各フォールドの平均精度に対して最適化されたパラメーターのセットを1つ選択する。 または (2)すべての折りたたみに最適化されたパラメーターを見つけて、すべての折りたたみが異なる最適化パラメーターを使用してモデルをトレーニングし、それぞれの折りたたみのテストデータでテストし、最終的にすべての折りたたみの精度を平均しますか? 交差検証の正しい方法はどれですか?どうもありがとう。


3
時系列データをトレイン/テスト/検証セットに分割する
時系列データをトレイン/テスト/検証セットに分割する最良の方法は何ですか?検証セットはハイパーパラメーター調整に使用されますか? 3年分の日次販売データがあり、計画は2015-2016をトレーニングデータとして使用し、2017年のデータから10週間ランダムにサンプリングして検証セットとして使用し、2017年のデータからさらに10週間テストセット。次に、テストおよび検証セットの各日について前にウォークします。

1
R / mgcv:なぜte()とti()テンソル積が異なる表面を生成するのですか?
のmgcvパッケージにRは、テンソル積の相互作用をフィッティングするための2つの関数がte()ありti()ます。私は2つの作業の基本的な分業を理解しています(非線形の相互作用を当てはめるか、この相互作用を主効果と相互作用に分解するか)。私が理解していないのは、なぜte(x1, x2)、そしてti(x1) + ti(x2) + ti(x1, x2)(わずかに)異なる結果を生成するのかということです。 MWE(から適応?ti): require(mgcv) test1 <- function(x,z,sx=0.3,sz=0.4) { x <- x*20 (pi**sx*sz)*(1.2*exp(-(x-0.2)^2/sx^2-(z-0.3)^2/sz^2)+ 0.8*exp(-(x-0.7)^2/sx^2-(z-0.8)^2/sz^2)) } n <- 500 x <- runif(n)/20;z <- runif(n); xs <- seq(0,1,length=30)/20;zs <- seq(0,1,length=30) pr <- data.frame(x=rep(xs,30),z=rep(zs,rep(30,30))) truth <- matrix(test1(pr$x,pr$z),30,30) f <- test1(x,z) y <- f + rnorm(n)*0.2 par(mfrow = c(2,2)) # …
11 r  gam  mgcv  conditional-probability  mixed-model  references  bayesian  estimation  conditional-probability  machine-learning  optimization  gradient-descent  r  hypothesis-testing  wilcoxon-mann-whitney  time-series  bayesian  inference  change-point  time-series  anova  repeated-measures  statistical-significance  bayesian  contingency-tables  regression  prediction  quantiles  classification  auc  k-means  scikit-learn  regression  spatial  circular-statistics  t-test  effect-size  cohens-d  r  cross-validation  feature-selection  caret  machine-learning  modeling  python  optimization  frequentist  correlation  sample-size  normalization  group-differences  heteroscedasticity  independence  generalized-least-squares  lme4-nlme  references  mcmc  metropolis-hastings  optimization  r  logistic  feature-selection  separation  clustering  k-means  normal-distribution  gaussian-mixture  kullback-leibler  java  spark-mllib  data-visualization  categorical-data  barplot  hypothesis-testing  statistical-significance  chi-squared  type-i-and-ii-errors  pca  scikit-learn  conditional-expectation  statistical-significance  meta-analysis  intuition  r  time-series  multivariate-analysis  garch  machine-learning  classification  data-mining  missing-data  cart  regression  cross-validation  matrix-decomposition  categorical-data  repeated-measures  chi-squared  assumptions  contingency-tables  prediction  binary-data  trend  test-for-trend  matrix-inverse  anova  categorical-data  regression-coefficients  standard-error  r  distributions  exponential  interarrival-time  copula  log-likelihood  time-series  forecasting  prediction-interval  mean  standard-error  meta-analysis  meta-regression  network-meta-analysis  systematic-review  normal-distribution  multiple-regression  generalized-linear-model  poisson-distribution  poisson-regression  r  sas  cohens-kappa 

2
交差検証を使用した、glmnetパッケージの逸脱度の正確な定義?
現在の研究では、Rのglmnetパッケージを介してLassoメソッドを二項従属変数に使用しています。 glmnetでは、交差検証によって最適なラムダが見つかり、結果のモデルは、誤分類エラーや逸脱などのさまざまな測定値と比較できます。 私の質問:glmnetで逸脱はどのように正確に定義されていますか?どのように計算されますか? (フリードマン他による対応する論文「座標降下による一般化線形モデルの正規化パス」で私はcv.glmnetで使用された逸脱に関するこのコメントのみを見つけます:「平均逸脱(マイナス左の対数尤度の2倍)データ)」(p。17))。

2
データをテストセットとトレーニングセットに分割することは、純粋に「統計」の問題ですか?
私は機械学習/データサイエンスを勉強している物理学の学生なので、この質問が対立を開始することを意味しません:)ただし、物理学部のプログラムの大部分は、ラボ/実験を行うことであり、これは大量のデータを意味します処理と統計分析。しかし、物理学者がデータを処理する方法と、私のデータサイエンス/統計学習ブックがデータを処理する方法との間には、はっきりとした違いがあることに気づきました。 主な違いは、物理実験から得られたデータに回帰を実行しようとすると、回帰アルゴリズムがWHOLEデータセットに適用され、トレーニングセットとテストセットに分割されることがまったくないことです。物理の世界では、R ^ 2または何らかのタイプの疑似R ^ 2が、データセット全体に基づいてモデルに対して計算されます。統計の世界では、データはほとんどの場合80-20、70-30などに分割され、モデルはテストデータセットに対して評価されます。 このデータ分割を決して行わないいくつかの主要な物理実験(ATLAS、BICEP2など)もあるので、物理学者/実験家が統計を行う方法とデータ科学者が行う方法との間に、なぜそんなに頑固な違いがあるのだろうと思います。統計を行います。

4
ホールドアウトセットを作成するためのより適切な方法は何ですか:一部の被験者を削除するか、各被験者からいくつかの観察を削除しますか?
26個のフィーチャと31000行のデータセットがあります。38人の被験者のデータセットです。生体認証システム用です。だから私は主題を識別できるようになりたいです。 テストセットを取得するには、いくつかの値を削除する必要があることを知っています。 それでは、何をする方が良いのか、そしてその理由は何か。 (a)30人の被験者をトレーニングセットとして保持し、8人の被験者をテストセットとして削除する (b)38人の被験者を保持しますが、それぞれの行をいくつか削除します。最後に、トレーニングセット:38800科目の24800行とテストセット:38科目の6200行で終わります。

3
相互検証された分類精度の信頼区間
2つの入力X線画像間の類似性メトリックを計算する分類問題に取り組んでいます。画像が同じ人物の場合(「右」のラベル)、より高いメトリックが計算されます。2人の異なる人物の画像(「間違った」というラベル)を入力すると、メトリックが低くなります。 階層化された10分割交差検証を使用して、誤分類の確率を計算しました。私の現在のサンプルサイズは約40の正しい一致と80の誤った一致で、各データポイントは計算されたメトリックです。私は0.00の誤分類確率を取得していますが、これについてある種の信頼区間/エラー分析が必要です。 私は二項比率信頼区間の使用を検討していました(相互検証の結果を、成功の数に対する正しいラベル付けまたは誤ったラベル付けとして使用しました)。ただし、二項分析の背後にある仮定の1つは、各試行で成功する確率が同じであり、交差検証での「正しい」または「間違った」の分類の背後にある方法が、同じ成功の確率。 私が考えることができる他の唯一の分析は、クロス検証をX回繰り返し、分類エラーの平均/標準偏差を計算することですが、私のデータを再利用しているので、これが適切かどうかはわかりません数回の比較的小さなサンプルサイズ。 何かご意見は?すべての分析にMATLABを使用していますが、統計ツールボックスがあります。すべての支援に感謝します!

1
相互検証を使用する場合の精度と再現率の平均化
2クラスのラベル付きデータに対して複数の分類子を使用して分類を実行し、5分割交差検証を使用しました。フォールドごとに、tp、tn、fp、およびfnを計算しました。次に、各テストの精度、精度、再現率、Fスコアを計算しました。私の質問は、結果を平均化したいとき、精度の平均を取ったが、精度、再現率、Fスコアも平均化できるか?それとも数学的に間違っているのでしょうか?PS各フォールドで使用されるデータセットは、クラスあたりのインスタンス数の点でバランスが取れています。 ありがとう。

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