NetMeasurements

NetMeasurements[net,data,measurement]

data について評価されたネットについての要求された測度を計算する.

NetMeasurements[net,data,{mspec1,mspec2,}]

data について評価されたネットについての測度のリストを計算する.

詳細とオプション

  • NetMeasurementsは,ClassifierMeasurementsPredictorMeasurementsを拡張するもので,ニューラルネットに特に適したものにするいくつかの特性を提供する.例えば,全計測値がネットの計算可能なグラフに効率的に実装されてGPU上で計算できるので,ネットの訓練にしばしば使用される大きいデータ集合にNetMeasurementsが適用できるようになる.
  • net は,NetChainNetGraphNetModelの任意のものか,NetTrainに与えられるそれらに類似の構造でよい.
  • data は,以下を含む,NetTrainが受け入れる任意の形式でよい.
  • {input1output1,input2output2,}入出力ペアのリスト
    port1{data11,},port2{},ネット中の各ポートに対応するデータ
    "dataset"Wolfram Data Repositoryからの名前付きのデータ集合
  • 次は,ニューラルネットアプリケーションの例としてよく使われる名前付きのデータ集合である.
  • "MNIST"分類済みの手書き数字
    "FashionMNIST"衣類の分類済み画像
    "CIFAR-10","CIFAR-100"現実世界のオブジェクトの分類済みの画像
    "MovieReview"感情表現を伴う映画評の一部
  • 名前付きデータ集合の測定はResourceData["dataset","TestSet"]についての測定に等しい.
  • 測度は以下のどの形式でもよい.
  • "measurement"名前付きの組込み測度
    NetPort["output"]ネットの出力ポートの値
    NetPort[{lspec,"output"}]ネットの内部活性化の値
    <|"Measurement"spec,|>追加設定がある測度
  • <|"Measurement"spec,|>の追加設定はTrainingProgressMeasurementsのそれと同じである.
  • Informationからの特性はすべて組込み測度として使うことができる.
  • CrossEntropyLossLayerを含むネットについては,次の組込み測度が利用できる.
  • "Accuracy"正しく分類された例の割合
    "Accuracy"n正しい結果がトップ n に含まれる例の割合
    "AreaUnderROCCurve"各クラスの受信者動作特性(ROC)曲線の下の面積
    "CohenKappa"コーエン(Cohen)のカッパ係数
    "ConfusionMatrix"クラス j と分類されたクラス i の例の数 cij
    "ConfusionMatrixPlot"混同行列のプロット
    "Entropy"natで計測したエントロピー
    "ErrorRate"間違って分類された例の割合
    "ErrorRate"n間違った結果がトップ n に含まれる例の割合
    "F1Score"各クラスのF1スコア
    "FScore"β各クラスのFβスコア
    "FalseDiscoveryRate"各クラスの偽発見率
    "FalseNegativeNumber"偽陰性例の数
    "FalseNegativeRate"各クラスの偽陰性率
    "FalseOmissionRate"各クラスの偽省略率
    "FalsePositiveNumber"偽陽性例の数
    "FalsePositiveRate"各クラスの偽陽性率
    "Informedness"各クラスに与えられた情報量
    "Markedness"各クラスの有標性
    "MatthewsCorrelationCoefficient"各クラスのMatthews相関係数
    "NegativePredictiveValue"各クラスの偽予測率
    "Perplexity"エントロピーの指数関数
    "Precision"各クラスの精度
    "Recall"各クラスの再現率
    "ROCCurve"各クラスの受信者動作特性曲線
    "ROCCurvePlot"受信者動作特性曲線のプロット
    "ScottPi"Scottのパイ係数
    "Specificity"各クラスの特殊性
    "TrueNegativeNumber"真の陰性の例の数
    "TruePositiveNumber"真の陽性の例の数
  • MeanSquaredLossLayerあるいはMeanAbsoluteLossLayerを含むネットについては,次の組込み測度が利用できる.
  • "FractionVarianceUnexplained"ネットによって説明されずに残された出力分散の割合
    "IntersectionOverUnion"境界ボックスについての和集合の交点
    "MeanDeviation"残差の平均絶対値
    "MeanSquare"残差の二乗平均平方
    "RSquared"決定係数
    "StandardDeviation"残差の二乗平均平方根
  • 次のオプションがサポートされている.
  • BatchSizeAutomatic1つのバッチで何例を処理するか
    LossFunctionAutomatic出力評価のための損失関数
    NetEvaluationMode"Test"訓練特有の層はどのように動作すべきか
    TargetDevice"CPU"計測を行うターゲットデバイス
    WorkingPrecisionAutomatic浮動小数点計算の精度

例題

すべて開くすべて閉じる

  (1)

訓練済みのLeNetの,MNIST検証データについての確度を測定する.ニューラルネットと検証データを設定する:

計測を行う:

スコープ  (2)

訓練済みのLeNetのMNIST検証データに対する測定値を取る.ニューラルネットと検証データを設定する:

精度と再現率を計測する:

マクロ平均精度とマクロ平均再現率を測る:

ロジットの平均活性化を計測する:

最初のたたみ込み層フィルタの平均活性化をプロットする:

混同行列をプロットする:

混同行列のための生のデータを得る:

平均受信者動作特性曲線をプロットする:

クラス1の受信者動作特性曲線をプロットする:

CIFAR-100データ集合に対するマルチタスクの訓練済みネットワークの1つの出力の誤り率を計測する:

特性と関係  (2)

NetMeasurementsはキャッシュを使って繰返しの測定の速度を上げる:

キャッシュは同様の測定のスピードも上げる:

"IntersectionOverUnion"測定は,入力とターゲットの境界ボックスが{x1,y1,x2,y2}の形式のリストで与えられると期待する.ただし,(x1,y1)(x2,y2)は境界ボックスの左下コーナーと右上コーナーである.

和集合上の交点の計算は次のMathematica関数に等しい:

考えられる問題  (1)

LossFunctionに使われている出力ポートを測定しようとしても失敗するかもしれない:

簡単な回避策は,測定用の追加的な出力ポートを作成してテストデータに明示的なラベルを付けることである:

Wolfram Research (2019), NetMeasurements, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetMeasurements.html.

テキスト

Wolfram Research (2019), NetMeasurements, Wolfram言語関数, https://reference.wolfram.com/language/ref/NetMeasurements.html.

CMS

Wolfram Language. 2019. "NetMeasurements." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/NetMeasurements.html.

APA

Wolfram Language. (2019). NetMeasurements. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/NetMeasurements.html

BibTeX

@misc{reference.wolfram_2024_netmeasurements, author="Wolfram Research", title="{NetMeasurements}", year="2019", howpublished="\url{https://reference.wolfram.com/language/ref/NetMeasurements.html}", note=[Accessed: 22-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_netmeasurements, organization={Wolfram Research}, title={NetMeasurements}, year={2019}, url={https://reference.wolfram.com/language/ref/NetMeasurements.html}, note=[Accessed: 22-November-2024 ]}