最終更新日:2026年8月21日
gk neural_network optimization
G検定トップ
> 損失関数(Loss / Cost / Objective)とは?【違いと使い分け|G検定対策】
まず結論
損失関数(Loss Function)は、モデルの予測と正解のずれを数値化し、学習で「どちらへ重みを変えるか」を決める基準になる関数です。
G検定では、次の役割分担を押さえると整理しやすくなります。
予測と正解
↓
損失関数で「ずれ」を数値化
↓
Backpropで勾配を計算
↓
Optimizerで重みを更新
「損失を測る」「勾配を計算する」「重みを更新する」を混同しないことが重要です。
直感的な説明
損失関数は、モデルに付ける間違いの点数です。
- 予測が正解に近い → 損失が小さい
- 予測が大きく外れる → 損失が大きい
学習では、この点数が小さくなる方向を探します。
ただし、損失関数そのものが重みを変更するわけではありません。
定義・仕組み
Loss
一般には、予測と正解のずれを表す関数を指します。
代表例は次のとおりです。
- 分類 → 交差エントロピー
- 回帰 → 二乗誤差・平均二乗誤差など
- 距離学習 → Contrastive Loss・Triplet Lossなど
Cost
複数サンプルのlossを平均・合計したものをCostと呼ぶ文献があります。
ただし、実際の機械学習ライブラリや文献では、LossとCostを厳密に区別せず使う場合もあります。
Objective
Objective Function(目的関数)は、最適化したい関数を広く指します。
たとえば、
データへの損失 + 正則化項
全体をObjectiveと呼ぶことがあります。
したがって、
Loss ⊂ Cost ⊂ Objective
のような固定的な包含関係を絶対ルールとして覚えるのは安全ではありません。
いつ使う?(得意・不得意)
問題文では、何を学習したいかから損失を考えます。
| 問題の種類 | 代表的な損失 |
|---|---|
| 分類 | 交差エントロピー |
| 回帰 | 二乗誤差系 |
| 埋め込み空間で近づける・遠ざける | Contrastive Loss / Triplet Loss |
重要なのは「名前」よりも、何のずれを小さくしたいかです。
G検定ひっかけポイント
- ❌「損失関数が直接重みを更新する」
- 重み更新はSGDやAdamなどのOptimizerが担当します。
- ❌「Loss・Cost・Objectiveには必ず厳密な包含関係がある」
- 用語の使い方は文献・実装によって揺れます。
- ❌「Accuracyをそのまま微分して学習するのが一般的」
- 学習では微分可能な損失関数を使うのが基本です。
- ⭕「予測と正解のずれを数値化する」→ 損失関数
- ⭕「出力側から勾配を求める」→ Backprop
- ⭕「勾配を使ってパラメータを動かす」→ Optimizer
まとめ(試験直前用)
- 損失関数=予測のずれを数値化する基準
- 分類では交差エントロピーが代表例
- Backprop=勾配計算、Optimizer=重み更新
- Loss / Cost / Objectiveの呼び方は文献によって揺れる
- 固定的な包含関係ではなく役割で判断する
次に読むなら、分類で代表的な交差エントロピーを確認するとつながります。