まず、ここで、ここで、ここで、ここで、ここで、ここで詳細に議論されている質問を投稿することに対する謝罪、および古いトピックの再加熱用。@DikranMarsupialがこのトピックについて長々と投稿やジャーナルペーパーで書いていることは知っていますが、私はまだ混乱しており、ここにある同様の投稿の数から判断すると、他の人がまだ把握するのに苦労しています。また、このトピックに関して矛盾が生じたため、混乱を招いたことも述べておく必要があります。また、私はもともと物理学者であり統計学者ではないことも知っておく必要があります。そのため、ここでの私の専門知識はやや限られています。ネストされたCVを使用して、最終モデルに期待できるパフォーマンスを推定するジャーナルペーパーを書いています。私のドメインでは、これが最初です。(ほとんど使用しません私の分野では堅牢なCVの形ですが、ニューラルネットとブーストされた決定木を使用した研究の結果を含む論文を喜んで送り出します!)したがって、私が非常に徹底的かつ明確な理解を持っていることが重要です。私のコミュニティへの誤った手順は、何年も学ぶことができませんでした!ありがとう!質問を続けて...
ネストされた交差検証後に最終モデルを作成するにはどうすればよいですか?
L1とL2の正規化を使用した単純なglmnetモデルをトレーニングしています。それは高速で、シンプルで、解釈可能です。特徴の中心化、スケーリング、およびBox-Cox変換を実行して、特徴の分布が平均中心で標準化されており、ガウスに似ていることを確認します。情報漏えいを防ぐため、この手順は相互検証内で実行します。純粋に私のハードウェアが非常に遅いため、CPUの負荷を増やすことができないため、機能の前処理後にCV内で高速のフィルターベースの機能選択を実行します。ランダムグリッド検索を使用して、アルファおよびラムダハイパーパラメーターを選択しています。私はすべきではないことを理解していますこの推定値を取得するCVループ。内部CVループはモデル選択(この場合、最適なハイパーパラメーター)に使用され、外部ループはモデル評価に使用されること、つまり、内部CV ループと外部CVはしばしば誤って混同される2つの異なる目的を果たすことを理解しています。(私はこれまでどのようにやっていますか?)
さて、私が投稿したリンクは、「相互検証を考える方法は、モデルのパフォーマンスを推定するのではなく、モデルを構築する方法を使用して得られたパフォーマンスを推定することだ」と示唆しています。それを考えると、ネストされたCV手順の結果をどのように解釈する必要がありますか?
私が読んだアドバイスは次のことを示しているようです-これが間違っている場合は修正してください:内側のCVは、glmnetモデルの最適なアルファおよびラムダハイパーパラメーターを選択できるメカニズムの一部です。外側のCVは、ハイパーパラメーターの調整やデータセット全体を使用して最終モデルを構築するなど、内側CVで使用されている手順とまったく同じ手順を適用すると、最終モデルから得られると予想される推定値を示します。つまり、ハイパーパラメーターの調整は「モデルの構築方法」の一部です。これは正しいですか?これは私を混乱させるものだからです。他の場所では、展開する最終モデルを構築する手順には、固定値を使用したデータセット全体のトレーニングが含まれることがわかりましたCVを使用して選択されたハイパーパラメーターの。ここで、「モデルの構築方法」にはチューニングは含まれていません。それで、どちらですか?ある時点で、最適なハイパーパラメーターが選択され、最終モデルを構築するために修正されます!どこ?どうやって?内側のループが5倍のCVで、外側のループが5倍のCVで、内側のCVでのランダムグリッド検索の一部としてテスト用に100ポイントを選択した場合、実際にglmnetを何回トレーニングしますかモデル?(100 * 5 * 5)+ 1(最終ビルド用)、または私が知らないステップが他にありますか?
基本的に、ネストされたCVからパフォーマンスの見積もりを解釈する方法と、最終モデルを構築する方法について、非常に明確な説明が必要です。
また、最終的なglmnetモデルからの確率スコアを(バイナリ)クラスラベルに変換するための確率しきい値を選択するための適切な手順を知りたい--- CVの別のループが必要ですか?