Deeplearning4j(DL4J)におけるモデルの評価指標は、学習済みモデルの性能を測定・比較するために重要な要素です。以下では、DL4Jでよく用いられる代表的な評価指標(Accuracy、Precision、Recall、F1 Score など)について詳しく説明します。
1. Accuracy(正解率)
定義: 正しく分類されたサンプル数の割合。
特徴:
-
分類タスクで最も基本的な指標。
-
クラスの不均衡がある場合、誤解を招く結果になることがある(例:95%がNegativeなら、何でもNegativeと予測すればAccuracyが95%になる)。
2. Precision(適合率)
定義: モデルが「陽性」と予測したうち、実際に陽性だった割合。
特徴:
-
偽陽性(False Positive)を避けたい場合に重要。
-
例:スパムメールフィルタでは、正しいメールをスパムと誤認するのを避けたい。
3. Recall(再現率)
定義: 実際の陽性サンプルのうち、正しく「陽性」と予測できた割合。
特徴:
-
偽陰性(False Negative)を避けたい場合に重要。
-
例:病気の診断では、陽性患者を見逃さないことが重要。
4. F1 Score
定義: Precision と Recall の調和平均。以下の式で計算されます。
特徴:
-
Precision と Recall のバランスを考慮した指標。
-
クラス不均衡がある場合にも有効。
5. DL4Jでの評価方法
DL4Jでは、評価指標を取得するために以下のクラスを使用します:
Evaluation クラス(分類タスク向け)
Evaluation クラス(分類タスク向け)
出力例には、以下の情報が含まれます:
-
Accuracy
-
Precision(各クラス)
-
Recall(各クラス)
-
F1 Score(各クラス)
-
Confusion Matrix(混同行列)
RegressionEvaluation クラス(回帰タスク向け)
RegressionEvaluation クラス(回帰タスク向け)-
MSE, MAE, RMSE, R² などの回帰指標が提供されます。
6. 混同行列(Confusion Matrix)
DL4Jでは eval.getConfusionMatrix() により混同行列を取得できます。これにより、どのクラスがどれだけ誤分類されているかの可視化が可能になります。
まとめ
| 指標 | 目的 | 適した状況 |
|---|---|---|
| Accuracy | 全体の正確さの確認 | クラスが均等な場合 |
| Precision | 陽性予測の正確さ | 偽陽性を避けたいとき |
| Recall | 陽性の見逃しを防ぐ | 偽陰性を避けたいとき |
| F1 Score | PrecisionとRecallのバランス | クラス不均衡な分類問題 |
DL4Jでは Evaluation クラスを通じてこれらの指標を簡単に取得可能であり、モデルの性能を総合的に評価する際に非常に有用です。必要に応じて、カスタム評価ロジックを実装することも可能です。
生成日:2025/05/23