偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

CRPS:貝葉斯機(jī)器學(xué)習(xí)模型的評(píng)分函數(shù)

人工智能 機(jī)器學(xué)習(xí)
連續(xù)分級(jí)概率評(píng)分(Continuous Ranked Probability Score, CRPS)或“連續(xù)概率排位分?jǐn)?shù)”是一個(gè)函數(shù)或統(tǒng)計(jì)量,可以將分布預(yù)測與真實(shí)值進(jìn)行比較。

連續(xù)分級(jí)概率評(píng)分(Continuous Ranked Probability Score, CRPS)或“連續(xù)概率排位分?jǐn)?shù)”是一個(gè)函數(shù)或統(tǒng)計(jì)量,可以將分布預(yù)測與真實(shí)值進(jìn)行比較。

機(jī)器學(xué)習(xí)工作流程的一個(gè)重要部分是模型評(píng)估。這個(gè)過程本身可以被認(rèn)為是常識(shí):將數(shù)據(jù)分成訓(xùn)練集和測試集,在訓(xùn)練集上訓(xùn)練模型,并使用評(píng)分函數(shù)評(píng)估其在測試集上的性能。

評(píng)分函數(shù)(或度量)是將真實(shí)值及其預(yù)測映射到一個(gè)單一且可比較的值 [1]。例如,對(duì)于連續(xù)預(yù)測可以使用 RMSE、MAE、MAPE 或 R 平方等評(píng)分函數(shù)。如果預(yù)測不是逐點(diǎn)估計(jì),而是分布呢?

在貝葉斯機(jī)器學(xué)習(xí)中,預(yù)測通常不是逐點(diǎn)估計(jì),而是值的分布。例如預(yù)測可以是分布的估計(jì)參數(shù),或者在非參數(shù)情況下,來自MCMC方法的樣本數(shù)組。

在這種情況下,傳統(tǒng)的評(píng)分函數(shù)不適合統(tǒng)計(jì)設(shè)計(jì);預(yù)測的分布聚合成它們的平均值或中值會(huì)導(dǎo)致關(guān)于預(yù)測分布的分散和形狀的大量信息的損失。

CRPS

連續(xù)分級(jí)概率評(píng)分(CRPS)是一個(gè)分?jǐn)?shù)函數(shù),它將單個(gè)真實(shí)值與累積分布函數(shù)(CDF)進(jìn)行比較:

圖片

它于 70 年代首次引入 [4],主要用于天氣預(yù)報(bào),現(xiàn)在在文獻(xiàn)和行業(yè)中重新受到關(guān)注 [1] [6]。當(dāng)目標(biāo)變量是連續(xù)的并且模型預(yù)測目標(biāo)的分布時(shí),它可以用作評(píng)估模型性能的指標(biāo);示例包括貝葉斯回歸或貝葉斯時(shí)間序列模型 [5]。

通過使用CDF, CRPS 對(duì)于參數(shù)和非參數(shù)預(yù)測都很有用:對(duì)于許多分布,CRPS [3] 都有一個(gè)解析表達(dá)式,對(duì)于非參數(shù)預(yù)測, CRPS 使用經(jīng)驗(yàn)累積分布函數(shù) (eCDF)。

在計(jì)算測試集中每個(gè)觀察值的 CRPS 后,還需要將結(jié)果聚合成一個(gè)值。與 RMSE 和 MAE 類似,使用(可能是加權(quán)的)平均值對(duì)它們進(jìn)行匯總:

將單個(gè)值與分布進(jìn)行比較的主要挑戰(zhàn)是如何將單個(gè)值轉(zhuǎn)換成為分布的表示。CRPS通過將基本真值轉(zhuǎn)換為帶有指標(biāo)函數(shù)的退化分布來解決這一問題。例如如果真值是7,我們可以用:

指標(biāo)函數(shù)是一個(gè)有效的 CDF,可以滿足 CDF 的所有要求。然后就可以將預(yù)測分布與真值的退化分布進(jìn)行比較。我們肯定希望預(yù)測的分布盡可能接近真實(shí)情況;所以可以通過測量這兩個(gè) CDF 之間的(平方)面積來數(shù)學(xué)表示:

MAE與MAE關(guān)系

CRPS與著名的MAE(平均絕對(duì)誤差)密切相關(guān)。如果采用逐點(diǎn)預(yù)測將其視為退化 CDF 并將其注入 CRPS 方程可以得到:

所以如果預(yù)測分布是退化分布(例如逐點(diǎn)估計(jì)),則 CRPS 會(huì)降低為 MAE。這有助于我們從另一個(gè)角度理解CRPS:它可以被視為將 MAE 推廣到分布的預(yù)測中,或者說當(dāng)預(yù)測分布退化時(shí),MAE 是 CRPS 的特例。

當(dāng)模型的預(yù)測是參數(shù)分布時(shí)(例如需要預(yù)測分布參數(shù)),CRPS 對(duì)一些常見的分布有一個(gè)解析表達(dá)式 [3]。如果模型預(yù)測正態(tài)分布的參數(shù) μ 和 σ,則可以使用以下公式計(jì)算 CRPS:

圖片

這個(gè)方案可以解決已知的分布,如Beta, Gamma, Logistic,對(duì)數(shù)正態(tài)分布和其他[3]。

當(dāng)預(yù)測是非參數(shù)的,或者更具體地說——預(yù)測是一系列模擬時(shí),計(jì)算 eCDF 是一項(xiàng)繁重的任務(wù)。但是CRPS 也可以表示為:

圖片

其中 X, X' 是 F 獨(dú)立同分布。這些表達(dá)式雖然仍然需要一些計(jì)算量,但更易于計(jì)算。

Python實(shí)現(xiàn)

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)

根據(jù)NRG形式[2]實(shí)現(xiàn)的CRPS函數(shù)。改編自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)

上面代碼是根據(jù)PWM形式[2]實(shí)現(xiàn)CRPS。

總結(jié)

連續(xù)分級(jí)概率評(píng)分 (CRPS) 是一種評(píng)分函數(shù),用于將單個(gè)真實(shí)值與其預(yù)測分布進(jìn)行比較。此屬性使其與貝葉斯機(jī)器學(xué)習(xí)相關(guān),其中模型通常輸出分布預(yù)測而不是逐點(diǎn)估計(jì)。它可以看作是眾所周知的 MAE 對(duì)分布預(yù)測的推廣。

它具有用于參數(shù)預(yù)測的解析表達(dá)式,并且可以針對(duì)非參數(shù)預(yù)測進(jìn)行簡單計(jì)算。CRPS 可能會(huì)成為評(píng)估具有連續(xù)目標(biāo)的貝葉斯機(jī)器學(xué)習(xí)模型性能的新標(biāo)準(zhǔn)方法。

責(zé)任編輯:華軒 來源: DeepHub IMBA
相關(guān)推薦

2021-08-30 11:53:36

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2017-07-24 10:36:37

Python機(jī)器學(xué)習(xí)樸素貝葉斯

2012-09-24 10:13:35

貝葉斯

2020-05-21 14:50:37

算法深度學(xué)習(xí)人工智能

2017-08-07 13:02:32

全棧必備貝葉斯

2022-05-06 12:13:55

模型AI

2017-06-12 06:31:55

深度學(xué)習(xí)貝葉斯算法

2023-09-12 11:36:15

攜程模型

2013-05-08 09:05:48

狐貍貝葉斯大數(shù)據(jù)

2017-08-19 08:36:25

貝葉斯優(yōu)化超參數(shù)函數(shù)

2021-07-23 11:48:16

深度學(xué)習(xí)醫(yī)療人工智能

2024-10-11 16:53:16

貝葉斯人工智能網(wǎng)絡(luò)

2017-03-29 14:50:18

2016-08-30 00:14:09

大數(shù)據(jù)貝葉斯

2021-04-18 09:57:45

Java樸素貝葉斯貝葉斯定理

2016-08-30 00:19:30

2020-10-19 12:55:59

機(jī)器學(xué)習(xí)技術(shù)人工智能

2023-10-18 08:00:00

貝葉斯網(wǎng)絡(luò)Python醫(yī)療保健

2020-10-09 12:41:04

算法優(yōu)化場景

2012-02-14 10:55:24

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)