ニューラルネットワークの予測の信頼性を判断する方法


22

私の質問を説明するために、たとえば入力にはある程度のノイズがあり、出力にはないトレーニングセットがあるとします。

# Training data
[1.02, 1.95, 2.01, 3.06] : [1.0]
[2.03, 4.11, 5.92, 8.00] : [2.0]
[10.01, 11.02, 11.96, 12.04] : [1.0]
[2.99, 6.06, 9.01, 12.10] : [3.0]

ここで、出力は、ノイズがない場合の入力配列の勾配です(実際の勾配ではありません)。

ネットワークをトレーニングした後、特定の入力に対して出力は次のようになります。

# Expected Output
[1.01, 1.96, 2.00, 3.06] : 95% confidence interval of [0.97, 1.03]
[2.03, 4.11, 3.89, 3.51] : 95% confidence interval of [2.30, 4.12]

私の質問は、予測値と信頼性の尺度(分散や信頼区間など)を返すようにニューラルネットワークを作成する方法です。


3
将来の実現を含む区間を探している場合、観測不可能なパラメーターに関連する信頼区間ではなく、予測区間を探しています。これはよく混同されます。
S. Kolassa -復活モニカ

回答:


20

、つまり、事前に指定された将来の実現の割合を含む間隔を探しているようです。(差のについては、タグwikiをご覧ください。)

最善の策は、単一ポイント予測ではなく、予測分布全体を出力するNNアーキテクチャを直接使用することです。次に、これらの分布から目的の予測間隔(または平均、または中央値予測)を直接抽出できます。私と他の人は、予測分布はポイント予測よりもはるかに有用であると主張していますが、正直なところ、私は目を開いたままですが、ニューラルネットを使用した予測分布に関する多くの仕事を見ていません。この論文は役に立つかもしれません。「予測分布」や「予測密度」などのキーワードを使用して、少し検索することもできます。

そうは言っても、ベイジアンアプローチを使用して予測密度を予測するMichael Feindtの NeuroBayesアルゴリズムを調べてください。


1
:ディストリビューション学習ニューラルネット-これは、別の有用な紙かもしれgoogle.com/...を
プロQ

@ステファン:リンクは過ぎ去りました:(
マシュー・ドゥルーリー

@MatthewDrury:どういうリンクですか?3つすべてがうまく機能しています。
S. Kolassa -復活モニカ

NN Predictive Distributionsを使用した簡単なTernsorflowデモ/例にご案内いただけますか?
マーティン・トーガーセン

@MartinThøgersen:申し訳ありませんが、私は
Tensorflowを

5

単一の予測の信頼区間を計算できるかどうかはわかりませんが、データセット全体のエラー率の信頼区間を実際に計算できます(精度および評価する他の測定値について一般化できます)。

eSn

e±1.96e(1e)n

(トムミッチェルの5章「機械学習」を参照してください。)

編集

e±zNe(1e)n,
zN
confidence level    80%    90%    95%    98%    99%
values of zN       1.28   1.64   1.96   2.33   2.58

1
これには、漸近分布が正常である必要があります
-user2879934

4
サンプルサイズが大きい場合(MLでは非常に一般的です)、一般に安全であると想定します。ti downvoteの必要はありませんでした。説明を求めてください。
mp85

4

ニューラルネット、SVM、ランダムフォレストなどのノンパラメトリック回帰および分類問題の予測間隔(PI)は構築が困難です。これに関する他の意見を聞きたいです。

ただし、私の知る限り、コンフォーマル予測(CP)は、ノンパラメトリック回帰および分類問題の予測用に較正されたPIを構築するための唯一の原則的な方法です。CPのチュートリアルについては、Shfer&Vovk(2008)、J.機械学習研究 9、371から421 [PDF]


3

私はそれを正確に行う方法を知りません。

μσバツyログNyμバツσバツμバツyσバツ

yμバツσバツN01


1
σ+

NNを使​​用して分布のパラメーターを出力し、対数尤度でトレーニングした具体的な例はありますか?
ミスパーマー

3

ニューラルネットワークの予測に信頼区間を与える方法は聞いたことがありません。正式な方法論が欠如しているにもかかわらず、それを構築することは実行可能であるようです。必要な計算能力のためにこれを試みたことはなく、これが確実に機能することを主張していませんが、小さなニューラルネットで機能する可能性のある1つの方法)トレーニングセットをリサンプリングし、同じパラメーターと初期設定で多くの同様のネットワーク(10,000回など)を構築し、各ブートストラップネットの予測に基づいて信頼区間を構築します。

たとえば、上記のようにトレーニングされた10,000のネットワークでは、9,000回(ニューラルネット回帰予測を丸めた後)2.0を取得する可能性があるため、90%CIで2.0を予測します。その後、予測ごとにCIの配列を作成し、プライマリCIとしてレポートするモードを選択できます。


2
私はこの提案が本質的にわずかに型破りな方法でブートストラップされているため、この提案がなぜ反対票を投じられたのか不思議に思います(問題の丸めコンポーネントにより、ニューラルネットが予測についてどれだけ自信があるかを簡単に確認できます)。誰がこれに反対票を投じた人が、提案された質問に対する有効な解決策ではない理由を説明できれば、私は実際に反対票を気にしません。私は自分自身を学んでおり、フィードバックを歓迎します!
トニーS

1
私は投票しませんでしたが、提案された方法がモデルの予測値をキャプチャする間隔を出力することを理解すると、これは真の値をキャプチャする間隔と同じではありません。
ミスパーマー

3

予測間隔を直接出力するという点で、2011年の論文「ニューラルネットワークベースの予測間隔包括的なレビュー」があります。

彼らは4つのアプローチを比較します:

1:デルタ法2:ベイジアン法3:平均分散推定4:ブートストラップ

同じ著者は、NNから下限と上限を直接出力するニューラルネットワークベースの予測間隔の構築のための上限下限推定法の開発を続けました。残念ながら、backpropでは機能しませんが、最近の研究により、これが可能になりました。ディープラーニングの高品質予測間隔

予測間隔を直接出力する代わりに、ベイジアンニューラルネットワーク(BNN)はNNのパラメーターの不確実性をモデル化するため、出力で不確実性をキャプチャします。これを行うのは困難ですが、一般的な方法には、予測時にMCのドロップアウトを実行する、またはアンサンブルすることが含まれます。


1
実際には、ベイジアンディープラーニングを使用すると非常に簡単です。たとえば、edwardlib.org
tutorials

2

実際にドロップアウトを使用してこれを行う方法があります。ドロップアウトを有効にして評価を実行します(通常、評価では無効ですが、トレーニング時にオンになります)。評価を数回実行します。

複数の異なる実行からの結果分布は、信頼区間として使用できます。

ペーパー「を参照してください:ディープラーニングで表すモデルの不確実性ベイズ近似としてドロップアウトウォッチユーチューブプレゼンテーション」エドワードとベイズディープラーニング(およびドロップアウトを使用してトリック) -アンドリュー・ローワン


1

方法はありません。すべてのMLモデルは現象を理解することに関するものではなく、「動作すること」を期待する補間方法です。そのような質問の自信から始めて、ノイズに対する堅牢性はありません。答えはありません。

そのため、何かを導き出すには、さまざまな応用科学および基礎科学を使用してください。

  • コントロールを使用します(そしてダイナミクスについて仮定します)

  • 凸最適化を使用する(関数にいくつかの追加条件を設定)

  • 数学統計を使用します(分布に関する予備的な仮定を使用)

  • 信号処理を使用します(信号が帯域制限されているといういくつかの仮定を使用)

科学者はいくつかの予備的な仮定(公理と呼ばれる)を使用して何かを導き出します。

何らかの予備的な仮定なしに自信を与える方法はないので、DL方法では問題ありませんが、予備的な仮定なしに補間しようとする方法には問題があります。

NNおよびさまざまなMLメソッドは、クロス検証で「何らかの形で」チェックされるように見える「何か」を作成する高速プロトタイピング用です。

回帰フィッティングE [Y | X]またはその推定値をさらに深くすると、解くのは絶対に間違った問題になる可能性があります(点Y = E [Y | X]のpdfは最大値ではなく最小値である)。物事。

また、AI / MLで解決できない2つの問題を思い出させてください。これらの問題は、いくつかの理由で忘れられる可能性があり、美しさのスローガンの背後にあります。

(1)外挿ではなく内挿法-新しい問題に対処する能力がない

(2)同じ分布からのものではないデータに対してどのモデルがどのように振る舞うのか誰も知らない(歩行者のローカリゼーションのためにバナナを着た男性)


推論のためにトレーニングデータセットから「予測」エラーまでのエラーをモデル化するのはどうですか?
ジャッコ

加算的な「predict_for_mean」+「predict_for_error」であると仮定することもできます。シグナルとエラーを別々に予測するスキーマを想像できます。しかし、もう一度-「補間する」だけなら、自信を持って何かを言うことはできません。表面の温度を予測します。はい、これは私の予測「20」で、エラーの予測は「5」と言えます。だから、本当の反応は[20-5、20 + 5]にあると思うが、それが何を意味するのかを本当に理解するには、実際の現象と数学モデルを理解する必要がある。そしてMLはその両方についてではありません。その他の領域では、いくつかの予備的な仮定を行います。
ブルズィーズ

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