目次
CRPS
Python 実装
概要
ホームページ テクノロジー周辺機器 AI CRPS: ベイジアン機械学習モデルのスコアリング関数

CRPS: ベイジアン機械学習モデルのスコアリング関数

Apr 12, 2023 am 11:07 AM
関数 機械学習 採点機能

連続順位付け確率スコア (CRPS) または「連続順位付け確率スコア」は、分布予測を真の値と比較する関数または統計です。

CRPS: ベイジアン機械学習モデルのスコアリング関数

#機械学習ワークフローの重要な部分はモデルの評価です。プロセス自体は常識であると考えられます。データをトレーニング セットとテスト セットに分割し、トレーニング セットでモデルをトレーニングし、スコアリング関数を使用してテスト セットでのパフォーマンスを評価します。

スコアリング関数 (またはメトリック) は、真の値とその予測を単一の比較可能な値にマッピングします [1]。たとえば、継続的な予測の場合、RMSE、MAE、MAPE、R-squared などのスコアリング関数を使用できます。予測がポイントごとの推定ではなく、分布である場合はどうなるでしょうか?

ベイジアン機械学習では、予測は通常、点ごとの推定ではなく、値の分布です。たとえば、予測は分布の推定パラメーター、またはノンパラメトリックの場合は MCMC メソッドからのサンプルの配列にすることができます。

この場合、従来のスコアリング関数は統計設計には適していません。予測分布を平均値または中央値に集約すると、予測分布の分散と形状に関するかなりの情報が失われます。

CRPS

連続段階的確率スコア (CRPS) は、単一の真の値を累積分布関数 (CDF) と比較する分数関数です。

##これは 1970 年代に初めて導入され [4]、主に天気予報を目的としており、現在では文献や業界で再び注目を集めています [1] [6]。これは、ターゲット変数が連続であり、モデルがターゲットの分布を予測する場合に、モデルのパフォーマンスを評価するためのメトリクスとして使用できます。例には、ベイズ回帰またはベイズ時系列モデルが含まれます [5]。

CRPS: ベイジアン機械学習モデルのスコアリング関数CRPS は、CDF を使用することでパラメトリック予測とノンパラメトリック予測の両方に役立ちます。多くの分布に対して、CRPS [3] には分析式があり、ノンパラメトリック予測に対しては、CRPS は経験的累積分布関数 (eCDF) を使用します。 )。

テスト セット内の各観測値の CRPS を計算した後、結果を 1 つの値に集計する必要もあります。 RMSE および MAE と同様に、これらは (おそらく加重された) 平均を使用して要約されます。

単一値を分布と比較する際の主な課題は、個々の値をどのように変換するかです。分布の表現。 CRPS は、指標関数を使用してグラウンド トゥルースを縮退分布に変換することで、この問題を解決します。たとえば、真の値が 7 の場合、次のように使用できます。

CRPS: ベイジアン機械学習モデルのスコアリング関数

インジケーター関数は有効な CDF であり、CDF のすべての要件を満たすことができます。次に、予測された分布を真の値の縮退分布と比較できます。予測された分布をできる限り現実に近づけたいと考えているため、これは次の 2 つの CDF の間の (二乗) 面積を測定することで数学的に表現できます:

CRPS: ベイジアン機械学習モデルのスコアリング関数

MAE からMAE の関係

CRPS: ベイジアン機械学習モデルのスコアリング関数CRPS は、有名な MAE (平均絶対誤差) と密接に関連しています。ポイントごとの予測を使用し、それを縮退 CDF として扱い、CRPS 方程式に注入すると、次の結果が得られます。

したがって、予測分布が縮退分布 (ポイントごとの推定など) の場合、CRPS は MAE に減らされます。これは、別の観点から CRPS を理解するのに役立ちます。つまり、MAE を分布の予測に一般化したものとして見ることも、MAE は予測分布が縮退した場合の CRPS の特殊なケースであると見ることもできます。

CRPS: ベイジアン機械学習モデルのスコアリング関数モデルの予測がパラメトリック分布である場合 (たとえば、分布パラメーターを予測する必要がある場合)、CRPS にはいくつかの一般的な分布に対する分析式があります [3]。モデルが正規分布のパラメーター μ と σ を予測する場合、CRPS は次の式を使用して計算できます。

このソリューションは、ベータ、ベータなどの既知の分布を解くことができます。ガンマ分布、ロジスティック分布、対数正規分布など [3]。

CRPS: ベイジアン機械学習モデルのスコアリング関数予測がノンパラメトリックである場合、つまり予測が一連のシミュレーションである場合、eCDF の計算は面倒な作業になります。ただし、CRPS は次のように表すこともできます:

CRPS: ベイジアン機械学習モデルのスコアリング関数

ここで、X、X' は F に独立しており、同一に分散されています。これらの式は計算が簡単ですが、それでもある程度の計算が必要です。

Python 実装

import numpy as np
 
 
 # Adapted to numpy from pyro.ops.stats.crps_empirical
 # Copyright (c) 2017-2019 Uber Technologies, Inc.
 # SPDX-License-Identifier: Apache-2.0
 def crps(y_true, y_pred, sample_weight=None):
 num_samples = y_pred.shape[0]
 absolute_error = np.mean(np.abs(y_pred - y_true), axis=0)
 
 if num_samples == 1:
 return np.average(absolute_error, weights=sample_weight)
 
 y_pred = np.sort(y_pred, axis=0)
 diff = y_pred[1:] - y_pred[:-1]
 weight = np.arange(1, num_samples) * np.arange(num_samples - 1, 0, -1)
 weight = np.expand_dims(weight, -1)
 
 per_obs_crps = absolute_error - np.sum(diff * weight, axis=0) / num_samples**2
 return np.average(per_obs_crps, weights=sample_weight)
ログイン後にコピー

CRPS 関数は NRG 形式 [2] に従って実装されます。 pyroppl[6]

import numpy as np
 
 
 def crps(y_true, y_pred, sample_weight=None):
 num_samples = y_pred.shape[0]
 absolute_error = np.mean(np.abs(y_pred - y_true), axis=0)
 
 if num_samples == 1:
 return np.average(absolute_error, weights=sample_weight)
 
 y_pred = np.sort(y_pred, axis=0)
 b0 = y_pred.mean(axis=0)
 b1_values = y_pred * np.arange(num_samples).reshape((num_samples, 1))
 b1 = b1_values.mean(axis=0) / num_samples
 
 per_obs_crps = absolute_error + b0 - 2 * b1
 return np.average(per_obs_crps, weights=sample_weight)
ログイン後にコピー

から引用 上記のコードは、PWM 形式 [2] に基づいて CRPS を実装しています。

概要

連続順位付け確率スコア (CRPS) は、単一の真の値をその予測分布と比較するスコアリング関数です。この特性により、モデルは通常、点ごとの推定ではなく分布予測を出力するベイジアン機械学習に関連します。これは、分布予測用のよく知られた MAE を一般化したものと見ることができます。

パラメトリック予測の分析式があり、ノンパラメトリック予測の簡単な計算を実行できます。 CRPS は、継続的な目標を持つベイジアン機械学習モデルのパフォーマンスを評価するための新しい標準手法となる可能性があります。

以上がCRPS: ベイジアン機械学習モデルのスコアリング関数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

この記事では、SHAP: 機械学習のモデルの説明について説明します。 この記事では、SHAP: 機械学習のモデルの説明について説明します。 Jun 01, 2024 am 10:58 AM

機械学習とデータ サイエンスの分野では、モデルの解釈可能性が常に研究者や実務家に焦点を当ててきました。深層学習やアンサンブル手法などの複雑なモデルが広く適用されるようになったことで、モデルの意思決定プロセスを理解することが特に重要になってきました。 Explainable AI|XAI は、モデルの透明性を高めることで、機械学習モデルに対する信頼と自信を構築するのに役立ちます。モデルの透明性の向上は、複数の複雑なモデルの普及や、モデルを説明するための意思決定プロセスなどの方法によって実現できます。これらの方法には、特徴重要度分析、モデル予測間隔推定、ローカル解釈可能性アルゴリズムなどが含まれます。特徴重要度分析では、入力特徴に対するモデルの影響度を評価することで、モデルの意思決定プロセスを説明できます。モデルの予測間隔の推定

C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 C++ での機械学習アルゴリズムの実装: 一般的な課題と解決策 Jun 03, 2024 pm 01:25 PM

C++ の機械学習アルゴリズムが直面する一般的な課題には、メモリ管理、マルチスレッド、パフォーマンスの最適化、保守性などがあります。解決策には、スマート ポインター、最新のスレッド ライブラリ、SIMD 命令、サードパーティ ライブラリの使用、コーディング スタイル ガイドラインの遵守、自動化ツールの使用が含まれます。実践的な事例では、Eigen ライブラリを使用して線形回帰アルゴリズムを実装し、メモリを効果的に管理し、高性能の行列演算を使用する方法を示します。

説明可能な AI: 複雑な AI/ML モデルの説明 説明可能な AI: 複雑な AI/ML モデルの説明 Jun 03, 2024 pm 10:08 PM

翻訳者 | Li Rui によるレビュー | 今日、人工知能 (AI) および機械学習 (ML) モデルはますます複雑になっており、これらのモデルによって生成される出力はブラックボックスになっており、関係者に説明することができません。 Explainable AI (XAI) は、利害関係者がこれらのモデルがどのように機能するかを理解できるようにし、これらのモデルが実際に意思決定を行う方法を確実に理解できるようにし、AI システムの透明性、信頼性、およびこの問題を解決するための説明責任を確保することで、この問題を解決することを目指しています。この記事では、さまざまな説明可能な人工知能 (XAI) 手法を検討して、その基礎となる原理を説明します。説明可能な AI が重要であるいくつかの理由 信頼と透明性: AI システムが広く受け入れられ、信頼されるためには、ユーザーは意思決定がどのように行われるかを理解する必要があります

あなたが知らない機械学習の 5 つの流派 あなたが知らない機械学習の 5 つの流派 Jun 05, 2024 pm 08:51 PM

機械学習は人工知能の重要な分野であり、明示的にプログラムしなくてもコンピューターにデータから学習して能力を向上させる機能を提供します。機械学習は、画像認識や自然言語処理から、レコメンデーションシステムや不正行為検出に至るまで、さまざまな分野で幅広く応用されており、私たちの生活様式を変えつつあります。機械学習の分野にはさまざまな手法や理論があり、その中で最も影響力のある 5 つの手法は「機械学習の 5 つの流派」と呼ばれています。 5 つの主要な学派は、象徴学派、コネクショニスト学派、進化学派、ベイジアン学派、およびアナロジー学派です。 1. 象徴主義は、象徴主義とも呼ばれ、論理的推論と知識の表現のためのシンボルの使用を強調します。この学派は、学習は既存の既存の要素を介した逆演繹のプロセスであると信じています。

フラッシュ アテンションは安定していますか?メタとハーバードは、モデルの重みの偏差が桁違いに変動していることを発見しました フラッシュ アテンションは安定していますか?メタとハーバードは、モデルの重みの偏差が桁違いに変動していることを発見しました May 30, 2024 pm 01:24 PM

MetaFAIR はハーバード大学と協力して、大規模な機械学習の実行時に生成されるデータの偏りを最適化するための新しい研究フレームワークを提供しました。大規模な言語モデルのトレーニングには数か月かかることが多く、数百、さらには数千の GPU を使用することが知られています。 LLaMA270B モデルを例にとると、そのトレーニングには合計 1,720,320 GPU 時間が必要です。大規模なモデルのトレーニングには、これらのワークロードの規模と複雑さにより、特有のシステム上の課題が生じます。最近、多くの機関が、SOTA 生成 AI モデルをトレーニングする際のトレーニング プロセスの不安定性を報告しています。これらは通常、損失スパイクの形で現れます。たとえば、Google の PaLM モデルでは、トレーニング プロセス中に最大 20 回の損失スパイクが発生しました。数値的なバイアスがこのトレーニングの不正確さの根本原因です。

C++ の機械学習: C++ で一般的な機械学習アルゴリズムを実装するためのガイド C++ の機械学習: C++ で一般的な機械学習アルゴリズムを実装するためのガイド Jun 03, 2024 pm 07:33 PM

C++ では、機械学習アルゴリズムの実装には以下が含まれます。 線形回帰: 連続変数を予測するために使用されるステップには、データの読み込み、重みとバイアスの計算、パラメーターと予測の更新が含まれます。ロジスティック回帰: 離散変数の予測に使用されます。このプロセスは線形回帰に似ていますが、予測にシグモイド関数を使用します。サポート ベクター マシン: サポート ベクターの計算とラベルの予測を含む強力な分類および回帰アルゴリズム。

Excel関数の公式の完全なコレクション Excel関数の公式の完全なコレクション May 07, 2024 pm 12:04 PM

1. SUM 関数は、列またはセルのグループ内の数値を合計するために使用されます (例: =SUM(A1:J10))。 2. AVERAGE 関数は、列またはセルのグループ内の数値の平均を計算するために使用されます (例: =AVERAGE(A1:A10))。 3. COUNT 関数。列またはセルのグループ内の数値またはテキストの数をカウントするために使用されます。例: =COUNT(A1:A10)。 4. IF 関数。指定された条件に基づいて論理的な判断を行い、結果を返すために使用されます。対応する結果。

機械学習における Golang テクノロジーの今後の動向の展望 機械学習における Golang テクノロジーの今後の動向の展望 May 08, 2024 am 10:15 AM

機械学習の分野における Go 言語の応用可能性は次のとおりです。 同時実行性: 並列プログラミングをサポートし、機械学習タスクにおける計算量の多い操作に適しています。効率: ガベージ コレクターと言語機能により、大規模なデータ セットを処理する場合でもコードの効率が保証されます。使いやすさ: 構文が簡潔なので、機械学習アプリケーションの学習と作成が簡単です。

See all articles