機械学習の骨格——損失を最小にする

学習とは「予測誤差を数値化して、パラメータをずらす」作業。

この単元の目標
  • モデル・損失・最適化の三層構造を説明できる
  • 訓練・検証・テストの役割を分け、過学習とデータ漏洩を説明できる
📑 目次
  1. 学習の三層構造
  2. 過学習と汎化
  3. 代表的なモデルと損失の組み合わせ

学習の三層構造

  1. モデル: 入力から出力への写像の型(直線、木構造、ニューラルネットなど)。パラメータ θ を持つ
  2. 損失関数: 「今の予測がどれだけ悪いか」を数値化(二乗誤差、交差エントロピーなど)
  3. 最適化: 損失を小さくする θ を探す。基本は勾配降下法 θ←θ−η∂L∂θ\theta \leftarrow \theta - \eta \frac{\partial L}{\partial \theta}
θt+1=θt−η ∇L(θt)\theta_{t+1} = \theta_t - \eta \, \nabla L(\theta_t)

η\eta は学習率。大きすぎると発散、小さすぎると収束が遅い。ディープラーニングの進歩は、この単純な更新則を巨大なモデルで安定させる技術(Adam など)の積み重ねです。

過学習と汎化

状態症状対策
適合不足 (underfitting)訓練データにも十分適合しないモデルの表現力・特徴量・学習の進み具合を確認する
過学習 (overfitting)訓練は満点だが新しいデータに弱いデータ増加、正則化、早期打ち切り、ドロップアウト

訓練データでパラメータを学習し、検証データでモデル・学習率・早期停止の時点を選びます。最後に、選択にも使っていないテストデータで汎化性能を評価します。訓練成績は学習の診断には役立ちますが、それだけでは未知データへの性能は分かりません。標準化の平均・分散も訓練データだけから求め、検証・テストに適用します。時系列は未来を訓練に混ぜず、同じ人物の記録が複数ある場合は人物単位で分けるなど、データ漏洩を防ぎます。

単位正方形の中にランダムな点を打つと、1/4 円に入る確率は π/4。点の数が増えるほど推定値が π ≈ 3.14159… に近づきます(大数の法則)。

打点数: 0 推定値: —(誤差 —)

プレイグラウンド: 独立な標本を増やしたときの推定の安定性。機械学習そのものではなく、標本誤差を考える補助例(毎回誤差が減るとは限らない)

代表的なモデルと損失の組み合わせ

モデル得意な場面損失・指標
線形回帰連続値の予測(価格、気温など)二乗誤差
ロジスティック回帰二値分類(確率付きの出力)交差エントロピー
k-NN(k近傍法)近くの k 個の多数決・平均。学習でパラメータを更新しない損失最小化の枠に入らない
決定木条件での分割。解釈しやすいジニ不純度など分割の良さの指標
k-NN と決定木は「損失を微分して勾配で更新する」枠組みの外側にあります。三層構造(モデル・損失・最適化)は万能の型ではなく、勾配降下法が使えるモデルで特に有効な考え方です。
例題:交差エントロピーの計算

二値分類で正解ラベルが y = 1、モデルの予測確率が p = 0.8 のときの交差エントロピー損失 L = −log p を求めよ。同じ問題で p = 0.2 と予測した場合はどうなるか。

解答・解説

p = 0.8 では L = −log 0.8 ≈ **0.223**。p = 0.2 では L = −log 0.2 ≈ **1.609**(log は自然対数)。正解に自信のない予測ほど損失が急激に増える設計になっており、確率の出力に二乗誤差より適する。

例題

同じ分類問題・同じ検証データで、A の正解率は 95%、B は訓練 100%/検証 70% だった。計算費用などが同じなら、どちらを最終評価に進めるか。

解答・解説

**A** を選ぶ。B は過学習が疑われるが、分割間の分布の違いなども確認する。モデル選択には検証データを用い、選んだ後で未使用のテストデータを使って最終評価する。

例題:勾配降下を1回計算する

モデルを y^=wx\hat y=wx、訓練データを (x,y)=(1,2),(2,4)(x,y)=(1,2),(2,4) とする。損失を L(w)={(w−2)2+(2w−4)2}/2L(w)=\{(w-2)^2+(2w-4)^2\}/2 と定義する。w = 0、学習率 0.1 から1回更新せよ。

解答・解説

L(w)=52(w−2)2L(w)=\frac{5}{2}(w-2)^2 なので勾配は 5(w−2)5(w-2)。w = 0 で勾配は −10、更新後は w=0−0.1(−10)=1w=0-0.1(-10)=1。損失は L(0) = 10 から L(1) = 2.5 に減る。これは訓練損失の改善であり、テスト性能の保証ではない。

練習問題
  1. 学習率 η を極端に大きくすると何が起きやすいか。

    解答・解説

    最適点を飛び越えて**発散・振動**する。逆に極端に小さいと収束までの時間が膨張する。

  2. 回帰で二乗誤差の代わりに「絶対誤差」を使うと、外れ値への反応はどう変わるか。

    ヒント

    2乗は大きなズレを強調する。

    解答・解説

    **外れ値の影響が減る**。二乗は大きな誤差を強調するため、絶対誤差の方がロバスト。

  3. 例題と同じ損失で、w = 1、学習率 0.1 からもう1回更新せよ。更新後の損失も求めよ。

    解答・解説

    勾配は 5(1 − 2) = −5。更新後は w = 1 − 0.1 × (−5) = 1.5。損失は L(1.5) = (5/2) × (−0.5)² = 0.625 となる。

  4. テスト正解率を見ながら学習率を何度も選び直した。この正解率を最終性能として報告してよいか。

    解答・解説

    よくない。テストデータをモデル選択に使ったため、評価結果に適合して楽観的な値になりうる。学習率は検証データで選び、最終性能には別の未使用データを用いる。

確認クイズ(機械学習)

問1. 過学習を抑える手段はどれか。

問2. 勾配降下法で毎ステップ更新されるものは?

📝 メモこの端末のみに保存
メモ欄はページ読み込み後に使えるようになります。