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

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

1
ハイパーパラメータを調整するときに検証データのモデルパフォーマンスを評価すると、検証データに関する情報が漏洩するのはなぜですか?
FrançoisCholletのPythonによるディープラーニングでは、次のように述べています。 その結果、検証セットでのパフォーマンスに基づいてモデルの構成を調整すると、モデルがモデルで直接トレーニングされない場合でも、検証セットへの過剰適合がすぐに発生する可能性があります。 この現象の中心は、情報漏えいの概念です。検証セットでのモデルのパフォーマンスに基づいてモデルのハイパーパラメーターを調整するたびに、検証データに関するいくつかの情報がモデルにリークします。これを1つのパラメーターに対して1回だけ実行すると、非常に少数の情報が漏洩し、検証セットはモデルを評価するための信頼性を維持します。ただし、これを何度も繰り返すと、1つの実験を実行し、検証セットを評価し、結果としてモデルを変更すると、検証セットに関するますます重要な情報がモデルにリークされます。 ハイパーパラメータを調整するときに検証データのモデルパフォーマンスを評価すると、検証データに関する情報が漏洩するのはなぜですか?

2
ベイジアンがテストセットを必要としないのは本当ですか?
私は最近、Eric J. Maによるこの講演を見て、彼のブログエントリをチェックしました。彼はRadford Nealを引用しています。ベイジアンモデルはオーバーフィットしない(しかし、オーバーフィットすることができる)こと、およびそれらを使用する場合、検証するためのテストセット(私は引用符が検証セットを使用してパラメータを調整することについて話しているようです)。正直に言って、私には説得力がなく、本にアクセスすることもできないので、そのような声明に対して、または反対して、より詳細で厳密な議論をしてもらえますか? ちなみに、その間、エリック・マーは私に同じトピックに関するこの議論を指摘しました。

1
相互に排他的でないカテゴリを分類できる深層学習モデル
例:仕事の説明に「英国のJavaシニアエンジニア」という文があります。 私は2つのカテゴリとして、それを予測することは、深い学習モデルを使用したい:English とIT jobs。従来の分類モデルを使用する場合softmax、最後のレイヤーで機能を持つ1つのラベルのみを予測できます。したがって、2つのモデルのニューラルネットワークを使用して、両方のカテゴリで「はい」/「いいえ」を予測できますが、さらに多くのカテゴリがあると、コストがかかりすぎます。では、2つ以上のカテゴリを同時に予測するためのディープラーニングまたは機械学習モデルはありますか? 「編集」:従来のアプローチによる3つのラベルでは、[1,0,0]によってエンコードされますが、私の場合、[1,1,0]または[1,1,1]によってエンコードされます 例:3つのラベルがあり、文がこれらすべてのラベルに収まる場合。したがって、softmax関数からの出力が[0.45、0.35、0.2]である場合、3つのラベルまたは2つのラベルに分類する必要がありますか、それとも1つにすることができますか?それを行うときの主な問題は、1、2、または3つのラベルに分類するための適切なしきい値は何ですか?
9 machine-learning  deep-learning  natural-language  tensorflow  sampling  distance  non-independent  application  regression  machine-learning  logistic  mixed-model  control-group  crossover  r  multivariate-analysis  ecology  procrustes-analysis  vegan  regression  hypothesis-testing  interpretation  chi-squared  bootstrap  r  bioinformatics  bayesian  exponential  beta-distribution  bernoulli-distribution  conjugate-prior  distributions  bayesian  prior  beta-distribution  covariance  naive-bayes  smoothing  laplace-smoothing  distributions  data-visualization  regression  probit  penalized  estimation  unbiased-estimator  fisher-information  unbalanced-classes  bayesian  model-selection  aic  multiple-regression  cross-validation  regression-coefficients  nonlinear-regression  standardization  naive-bayes  trend  machine-learning  clustering  unsupervised-learning  wilcoxon-mann-whitney  z-score  econometrics  generalized-moments  method-of-moments  machine-learning  conv-neural-network  image-processing  ocr  machine-learning  neural-networks  conv-neural-network  tensorflow  r  logistic  scoring-rules  probability  self-study  pdf  cdf  classification  svm  resampling  forecasting  rms  volatility-forecasting  diebold-mariano  neural-networks  prediction-interval  uncertainty 

2
交差検証の前に、教師なしの機能選択を実行することは実際に問題ありませんか?
で統計的学習の要素、私は、次のステートメントを見つけました: 資格が1つあります。サンプルが除外される前に、教師なしの最初のスクリーニング手順を実行できます。たとえば、交差検証を開始する前に、50のサンプルすべてで最も分散が高い1000の予測子を選択できます。このフィルタリングはクラスラベルを含まないため、予測子に不当な利点を与えません。 これは実際に有効ですか?つまり、事前に属性をフィルタリングすることで、トレーニングデータや新しいデータ環境を模倣していません。つまり、実行しているフィルタリングが監視されていないということですか。相互検証プロセス内で実際にすべての前処理ステップを実行する方が良いのではないですか?そうでない場合は、機能の正規化/ PCAなど、すべての教師なし前処理を事前に実行できることを意味します。ただし、トレーニングセット全体でこれを行うことにより、実際に一部のデータをトレーニングセットにリークしています。比較的安定したデータセットを使用すると、これらの違いは非常に小さい可能性が高いことに同意できます。これについて考える正しい方法は何ですか?

2
私たちは常にCVをするべきですか?
私の質問:比較的大きなデータセットでもCVを実行する必要がありますか? 比較的大きなデータセットを持っているので、そのデータセットに機械学習アルゴリズムを適用します。 私のPCは高速ではないため、CV(およびグリッド検索)に時間がかかりすぎることがあります。特に、SVMは多くのチューニングパラメータのために終了することはありません。したがって、CVを実行する場合、比較的小さなデータを選択する必要があります。 一方、検証セットも大きくなければならないので、トレーニングセットと同じ(またはより大きい)サイズの検証セットを使用することをお勧めします。(つまり、CVの代わりに、パラメーター調整に大規模な検証セットを使用します。) ですから、少なくとも2つの選択肢があります。 小さなデータセットでCVを実行します。 CVなしで比較的大きなトレーニングセットと検証セットを使用します。 他のアイデア。 最高のアイデアは何ですか?理論的または実際的な意見はどちらも歓迎します。

1
代数的分類子、詳細情報?
代数的分類器:高速交差検証、オンライントレーニング、並列トレーニングへの一般的なアプローチを読み、派生したアルゴリズムのパフォーマンスに驚かされました。ただし、Naive Bayes(およびGBM)を超えると、フレームワークに適応したアルゴリズムは多くないようです。 異なる分類子を扱った他の論文はありますか?(SVM、ランダムフォレスト)

1
k-fold CVによるオリジナル(?)モデルの選択
k分割CVを使用して回帰モデルから選択する場合、通常、モデルごとにCVエラーを標準エラーSEと一緒に計算し、CVエラーが最も低いモデルの1 SE内で最も単純なモデルを選択します(1標準エラールール。たとえば、こちらを参照してください)。ただし、最近、この方法で変動性を過大評価していること、および2つのモデルAとBの間で選択する特定のケースでは、実際には別の方法で進める必要があると言われました。 長さ各フォールドについて、2つのモデル予測間の点ごとの差を計算します。、フォールドの平均二乗差KKKNKNKN_KMSDK=∑NKi=1(y^Ai−y^Bi)2NK−−−−−−−−−−−−−−−√MSDK=∑i=1NK(y^Ai−y^Bi)2NKMSD_K=\sqrt{\frac{\sum_{i=1}^{N_K}\left(\hat{y}_{Ai}-\hat{y}_{Bi}\right)^2}{N_K}} 通常どおり、フォールド全体の平均を使用し、このCV差エラーを(その標準エラーと共に)汎化エラーの推定値として使用します。MSDKMSDKMSD_K 質問: これはあなたにとって意味がありますか?CVエラーを汎化エラーの推定値として使用することには、理論的な理由があることはわかっています(これらの理由はわかりませんが、存在することはわかっています!)。この「差」CVエラーの使用の背後に理論的な理由があるかどうかはわかりません。 これを3つ以上のモデルの比較に一般化できるかどうかはわかりません。モデルのすべてのペアの違いを計算するのは危険に思われます(複数の比較?):3つ以上のモデルがある場合はどうしますか? 編集:私の数式は完全に間違っています、正しいメトリックがここに記載されており、はるかに複雑です。まあ、盲目的に式を適用する前にここで私が尋ねたのは嬉しいです!@Bayが彼の明快な答えで理解を助けてくれたことに感謝します。説明されている正しい測定は非常に実験的なものなので、信頼できる主力のCVエラーに固執します。

1
Rでの投げ縄回帰の交差検証
R関数cv.glm(ライブラリ:ブート)は、一般化線形モデルの推定K分割交差検定予測誤差を計算し、デルタを返します。なげなわ回帰(ライブラリ:glmnet)にこの関数を使用することには意味がありますか?その場合、どのように実行できますか?glmnetライブラリは、交差検証を使用して最適な回転パラメーターを取得しますが、最終的なglmnet方程式を交差検証する例は見つかりませんでした。

2
モデル構築プロセスがインタラクティブだった場合のバックテストまたは相互検証
パフォーマンスをバックテストしたい予測モデルがいくつかあります(つまり、データセットを取得し、それを前の時点に「巻き戻し」、モデルがどのように予測的に実行されたかを確認します)。 問題は、私のモデルの一部がインタラクティブなプロセスを介して構築されたことです。たとえば、フランクハレルの回帰モデリング戦略のアドバイスに従って、1つのモデルで制限された3次スプラインを使用して、機能と応答の間の可能な非線形の関連付けを処理しました。ドメインの知識と関連の強さの一変量の測定値の組み合わせに基づいて、各スプラインの自由度を割り当てました。しかし、モデルに許可したい自由度は、データセットのサイズに明らかに依存します。これは、バックテスト時に大幅に変化します。モデルがバックテストされるたびに自由度を個別に選択したくない場合、他のオプションは何ですか? 別の例として、私は現在、高いレバレッジでポイントを見つけることによる外れ値の検出に取り組んでいます。手作業でこれを実行できた場合は、レバレッジの高い各データポイントを確認し、データがクリーンであることをサニティチェックして、フィルターで取り除くか、手動でクリーンアップします。しかし、これは一連のドメイン知識に依存しているため、プロセスを自動化する方法がわかりません。 (a)モデル作成プロセスのインタラクティブな部分を自動化する一般的な問題に対するアドバイスと解決策、または(b)これら2つのケースに対する特定のアドバイスの両方をいただければ幸いです。ありがとう!

2
ブースティングのout-of-bagエラー推定?
ランダムフォレストでは、各ツリーはデータの一意のブーストラップサンプルで並行して成長します。各ブーストラップサンプルには一意の観測値の約63%が含まれていると予想されるため、観測値の約37%が除外され、ツリーのテストに使用できます。 現在、確率的勾配ブースティングでは、RFと同様の推定値もあるようです。OOBerrorOOBerrorOOB_{error} bag.fractionが0(0.5を推奨)より大きい値に設定されている場合、gbmは予測パフォーマンスの改善のout-of-bag推定を計算します。次の回帰ツリーの選択に使用されていない観測値の逸脱の減少を評価します。 出典:Ridgeway(2007)、セクション3.3(8ページ)。 それがどのように機能するか/有効であるかを理解するのに問題があります。シーケンスにツリーを追加するとします。元のデータセットのランダムなサブサンプルでこのツリーを成長させています。私はそれを育てるために使用されなかった観察でこの単一の木をテストすることができました。同意した。しかし、ブースティングはシーケンシャルなので、これらの省略された観測の予測を提供するために、これまでに構築されたツリーのシーケンス全体を使用しています。そして、先行する木々の多くがこれらの観察をすでに見ている可能性が高いです。したがって、モデルは実際にはRFのような目に見えない観測について各ラウンドでテストされていませんね? では、なぜこれが「out-of-bag」エラー推定と呼ばれるのでしょうか。私には、観察がすでに見られているので、それはどのバッグからも「出ていない」ように見えますか?

3
Rを使用したリッジ回帰のKフォールドまたはホールドアウト相互検証
200人の被験者と1000個の変数を使用したデータの予測の相互検証に取り組んでいます。変数の数(使用したい)がサンプルの数より大きいので、リッジ回帰に興味があります。したがって、収縮推定量を使用したいと思います。以下はデータの例です。 #random population of 200 subjects with 1000 variables M <- matrix(rep(0,200*100),200,1000) for (i in 1:200) { set.seed(i) M[i,] <- ifelse(runif(1000)<0.5,-1,1) } rownames(M) <- 1:200 #random yvars set.seed(1234) u <- rnorm(1000) g <- as.vector(crossprod(t(M),u)) h2 <- 0.5 set.seed(234) y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g))) myd <- data.frame(y=y, M) myd[1:10,1:10] y X1 …

2
ブースティングツリーの調整パラメーターの最適値を見つける方法
ブースティングツリーモデルには3つの調整パラメーターがあることを理解しています。 ツリーの数(反復数) 収縮パラメータ 分割数(各構成ツリーのサイズ) 私の質問は、各調整パラメーターについて、その最適値をどのように見つければよいですか?そして、どのような方法ですか? 注意:収縮パラメータとツリー数パラメータは一緒に動作します。つまり、収縮パラメータの値が小さいほど、ツリー数の値が大きくなります。これも考慮に入れる必要があります。 分割数の最適値を見つける方法に特に興味があります。背後のモデルに関する相互検証またはドメイン知識に基づく必要がありますか? そして、これらgbmはR のパッケージでどのように実行されますか?

1
R /キャレット:トレーニングおよびテストセットと交差検証?
これはおそらくばかげた質問かもしれませんが、キャレットを使用してモデルを生成し、LOOCVまたは(さらにLGOCV言えば)何かを使用する場合、これが本質的にクロス検証ステップである場合、データをトレーニングセットとテストセットに分割する利点は何ですか?とにかく? 私はいくつかの関連する質問を読みました、そして彼らはいくつかの交差検定方法(例えば、キャレットサイトでここで説明されているもの)が特徴選択の目的のためであると提案しました。しかし、私の場合、randomForest(method = "rf")とkernlab(method = svmRadial)を使用しています。これらは、予測子をパージしようとするグループにリストされていません。 したがって、私の質問は、のようなものを使用する場合cross_val <- trainControl(method = "LGOCV", p = 0.8)、私のデータの80%でトレーニングし、残りの20%で結果のモデルをテストし、それを何度も繰り返して、モデルは機能していますか? もしそうなら、私のデータをトレーニング/テストセットに分割する必要がありますか? PS私は、経験的に生成されたDOEプロトタイプでモデルを実行しているときに一部質問します(入力を微調整し、テストメソッドを使用してプロトタイプに関するさまざまな属性を測定するハードグッズを考えてください)。 そのため、モデル化する予測子レベルが重複している膨大なデータセットはありません。この場合、データ生成には費用がかかるため、関心のある各DOEポイントで1つの試行を実行することがよくあります。したがって、できる限り正確なモデルに使用できるデータを使用したいのですが、何かを明確に見逃していないこと、および分割しないことで質の悪いモデルを作成していないことをここで確認したいと思います。 編集: @topepoの質問に答えて、私は式の化学入力の調整に基づいて、化合物の物理的に測定された属性をモデリングしています。実際のアプリケーションについては説明できませんが、インテリアラテックスペイントの配合に基づいた例を作成します。私は、4〜5種類の化学物質をブレンドし、固形分(%)で遊んで、ポリマー溶液を加熱して重合度を調整する時間を計画した実験を行っています。 次に、レオロジー、分子量、塗料コーティングの硬度、耐水性などを測定します。 いくつかの変数のまともな複製がありますが、すべてのDOEレベルがまったく同じであるという意味で、真の複製はほとんどありません。合計データセットは〜80の観測値であり、おそらく4〜5は正確な繰り返しです。私たちは15の異なるテストを実施しましたが、おそらく5〜6回のテストがすべての観察で行われています。一部の応答は、データの25-50%に存在します。 ここから、7つの予測子が出力プロパティに与える影響をモデル化し、目的のプロパティを与える可能性が最も高い新しい設計空間をターゲットとするように最適化します。 (ここに私の質問があります。トレーニング済みのモデルができたら、「リバース」を実行し、必要な応答を入力して、可能な入力レベルでの最適な推測を得て、次に試すことをお勧めします)。

1
観測されたイベントと期待されたイベントを比較する方法は?
4つの可能なイベントの頻度の1つのサンプルがあるとします。 Event1 - 5 E2 - 1 E3 - 0 E4 - 12 そして、私は自分のイベントの発生が予想される確率を持っています: p1 - 0.2 p2 - 0.1 p3 - 0.1 p4 - 0.6 4つのイベントの観測頻度の合計(18)を使用して、イベントの予想頻度を計算できますか? expectedE1 - 18 * 0.2 = 3.6 expectedE2 - 18 * 0.1 = 1.8 expectedE1 - 18 * 0.1 = 1.8 expectedE1 - …
9 r  statistical-significance  chi-squared  multivariate-analysis  exponential  joint-distribution  statistical-significance  self-study  standard-deviation  probability  normal-distribution  spss  interpretation  assumptions  cox-model  reporting  cox-model  statistical-significance  reliability  method-comparison  classification  boosting  ensemble  adaboost  confidence-interval  cross-validation  prediction  prediction-interval  regression  machine-learning  svm  regularization  regression  sampling  survey  probit  matlab  feature-selection  information-theory  mutual-information  time-series  forecasting  simulation  classification  boosting  ensemble  adaboost  normal-distribution  multivariate-analysis  covariance  gini  clustering  text-mining  distance-functions  information-retrieval  similarities  regression  logistic  stata  group-differences  r  anova  confidence-interval  repeated-measures  r  logistic  lme4-nlme  inference  fiducial  kalman-filter  classification  discriminant-analysis  linear-algebra  computing  statistical-significance  time-series  panel-data  missing-data  uncertainty  probability  multivariate-analysis  r  classification  spss  k-means  discriminant-analysis  poisson-distribution  average  r  random-forest  importance  probability  conditional-probability  distributions  standard-deviation  time-series  machine-learning  online  forecasting  r  pca  dataset  data-visualization  bayes  distributions  mathematical-statistics  degrees-of-freedom 

4
ロジスティック回帰におけるモデルの選択とモデルのパフォーマンス
ロジスティック回帰におけるモデルの選択とモデルのパフォーマンスについて質問があります。3つの異なる仮説に基づく3つのモデルがあります。最初の2つのモデル(zとxという名前を付けます)は、各モデルに1つの説明変数のみを持ち、3番目のモデル(wという名前を付けます)はより複雑です。私はwモデルの変数選択にAICを使用し、次に従属変数を最もよく説明する3つのモデルのどれを比較するのにAICを使用しています。wモデルのAICが最も低いことがわかりました。モデルの予測能力についてのアイデアを得るために、そのモデルでいくつかのパフォーマンス統計を実行したいと考えています。私が知っているのは、このモデルは他の2つよりも優れているということですが、それほど優れているわけではありません。 すべてのデータを使用してモデルを学習したので(3つのモデルをすべて比較できるようにするため)、モデルのパフォーマンスをどのようにすればよいですか?私が集めたものから、AICを使用してモデル選択から取得した最終モデルでk分割交差検証を実行することはできませんが、すべての説明変数を含めて最初から開始する必要がありますか?これがAICで選択した最後のモデルだと思いますが、そのパフォーマンスを知りたいのですが、モデルにバイアスがかかる可能性があるため、すべてのデータをトレーニングしたことを実感してください。したがって、すべてのフォールドのすべての説明変数から最初から開始する必要がある場合、いくつかのフォールドに対して異なる最終モデルを取得します。最良の予測力を提供するフォールドからモデルを選択し、それを完全なデータセットに適用して比較できますか?他の2つのモデル(zおよびx)とのAIC?またはそれはどのように機能しますか? 私の質問の2番目の部分は、過剰パラメーター化に関する基本的な質問です。私には156のデータポイントがあり、52は1、残りは0です。wモデルには14の説明変数を選択できますが、パラメーター化が多すぎるため、すべてを含めることはできません。観測値が最も少ない従属変数のグループの10%のみを使用する必要があることを読みました。私にとっては5だけでしょう。生態学の質問に答えようとしていますが、単純に生態学に基づいて従属を最もよく説明していると思う開始変数を選択しても大丈夫ですか?または、開始説明変数をどのように選択しますか?一部の変数を完全に除外するのは適切ではないと感じています。 だから私は本当に3つの質問があります: 交差検証を使用して完全なデータセットでトレーニングされたモデルでパフォーマンスをテストしても問題ありませんか? そうでない場合、交差検証を行うときに最終的なモデルをどのように選択しますか? 開始パラメーターをどのように選択すれば、パラメーター化しすぎますか? 私の乱雑な質問と私の無知のため申し訳ありません。同様の質問がされたことは知っていますが、それでも少し混乱しています。どんな考えや提案にも感謝します。

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