1.機械学習の四つの段階
第1講で、機械学習とは機械が例のデータから規則性を見つける方式だと述べました。この過程をもう少し細かく分けると、ほとんどすべての機械学習プロジェクトが同じ四つの段階を通ります。データを集め、どんな形の規則を探すか(モデル)を決め、データに合うようにモデルを調整し(学習)、初めて見るデータでどれだけよく当てられるかを確かめます(評価)。
たとえば、マンションの広さから価格を予測する問題を考えてみましょう。すでに取引されたマンションの広さと価格を集めた表がデータです。「価格は広さにある数を掛け、ある数を足した値」という直線の形をした規則がモデルです。掛ける数と足す数をあれこれ変えながら、実際の価格との差が最も小さくなる値を探すのが学習です。最後に、学習に使わなかった取引記録で予測がどれだけ当たるかを測るのが評価です。
| 段階 | すること | 住宅価格の予測では |
|---|---|---|
| データ | 入力と正解を組にして集める | 広さ(入力)と実際の取引価格(正解) |
| モデル | 探す規則の形を決める | 価格 = a × 広さ + b の形の直線 |
| 学習 | 誤差が小さくなるようにモデルの数値を調整する | aとbを変えながら予測と実際の差を縮める |
| 評価 | 初めて見るデータで性能を測る | 学習に使っていない取引で予測がどれだけ当たるかを確かめる |
2.データ:正解のついた例と、ついていない例
入力ごとに正解(ラベル)がついたデータから学ぶことを教師あり学習といいます。「このメールは迷惑メール」「この写真は猫」「この家は5億円」のように、人が答えをつけておいた例から学ぶ方式です。分類(迷惑メールかどうか)と数値の予測(いくらになるか。回帰ともいいます)が、代表的な教師あり学習の問題です。
正解を与えずにデータだけを渡し、似たもの同士をまとめさせたり構造を見つけさせたりするのが教師なし学習です。通販サイトが顧客の購入履歴だけを見て、好みの似た客同士をグループにまとめるのがその例です。何が正解かを誰も決めていないので、機械が見つけたまとまりに意味があるかどうかは、最終的に人が判断しなければなりません。
どちらの方式でも、データの質が結果の質を決めます。正解が誤ってつけられた例、一方に偏った例、少なすぎる例は、どれもその分だけモデルを悪くします。よく「ゴミを入れればゴミが出てくる」と言われるのはこのためです。
- 教師あり学習:正解のついた例から学ぶ — 迷惑メールの分類、住宅価格の予測、写真の分類
- 教師なし学習:正解なしで構造を見つける — 顧客のグループ分け、似た文書の収集
- 強化学習:行動の結果として得られる報酬が増えるように学ぶ — ゲーム、ロボットの制御
3.学習:誤差を少しずつ減らしていく過程
学習とは、「どれだけ間違えたか」を数値で測り、その数値が小さくなる方向にモデルの中の数値を少しずつ直すことの繰り返しです。間違いの程度を測る基準を損失(誤差)と呼びます。予測が正解から遠いほど損失は大きくなります。
機械は最初、適当に決めた数値から始めます。予測してみて、損失を測り、損失が減る方向へ数値を少し動かし、また予測します。この過程を数千回から数百万回繰り返すと、損失がそれ以上減らない地点に近づいていきます。数値をどちらの方向へ動かせば損失が減るかを計算する方法が、「数学の基礎 第10講」で扱う傾き(勾配降下法)です。
- 現在の予測:0.1 × 30 = 3億円
- 実際の価格6億円より3億円低く予測しているので、損失が大きくなっています。
- 予測を上げる必要があるので、aを大きくする方向へ少し動かします。たとえばa = 0.15なら、予測は4.5億円となり実際に近づきます。
- この取引だけを見れば、a = 0.2のとき予測はちょうど6億円になります(0.2 × 30 = 6)。実際の学習では多くの取引を同時に見て、全体の損失が最も小さくなるaを探します。
4.評価:初めて見る問題で試験をする
学習に使ったデータで性能を測ってはいけません。すでに答えを見た問題で試験を受けるようなもので、点数が実際より高く出てしまいます。そこで、データを最初から分けておきます。大部分を学習用に使い、一部は別に取り分けておいて、学習が終わったあとの評価にだけ使います。
評価の基準は問題によって異なります。分類問題では何個当てたか(正解率)を見ますが、正解率だけを見るとだまされやすくなります。メール100通のうち迷惑メールが5通しかなければ、「すべて通常」と答えるでたらめなモデルでも正解率は95%です。そのため、「迷惑メールのうち何通を見つけたか」「迷惑メールと判定したもののうち本当の迷惑メールは何通か」もあわせて見ます。
- 通常のメール95通はすべて当たり、迷惑メール5通はすべて外れました。
- 正解率 = 当たった数 ÷ 全体 = 95 ÷ 100 = 95%
- 迷惑メールを見つけた割合 = 見つけた迷惑メール ÷ 迷惑メール全体 = 0 ÷ 5 = 0%
- 正解率は高くても、迷惑メールフィルターとしてはまったく役に立ちません。
5.過学習:過去問だけを丸暗記した生徒
学習データではほぼ完璧なのに、初めて見るデータではさっぱりというモデルがあります。これを過学習といいます。過去問の答えだけを丸ごと暗記した生徒が、数字が変わっただけの新しい問題を解けないのと同じです。モデルが規則性だけでなく、偶然の雑音まで覚えてしまった状態です。
反対に、モデルが単純すぎて学習データさえうまく当てられない状態は未学習(学習不足)といいます。よいモデルはその中間、つまり学習データもかなり当てられ、初めて見るデータも同じくらい当てられるモデルです。学習での点数と評価での点数の差が大きく開いたら、過学習を疑います。
この原理は、AIを使う人にとっても意味があります。AIがある例でみごとだったからといって、似た仕事のすべてでみごとだという保証はありません。自分の仕事に合った新しい例で直接試してみることが、いちばん正確な評価です。
📌 要点まとめ
- 機械学習は、データ → モデル → 学習 → 評価の四つの段階でできている
- 教師あり学習は正解のついた例から学び、教師なし学習は正解なしで構造を見つける
- 学習とは、損失(間違いの程度)を測り、それが減る方向に数値を直すことの繰り返しである
- 評価は必ず学習に使っていないデータで行う — 正解率だけを見るとだまされることがある
- 過学習とは、学習データを丸暗記してしまい、新しいデータに弱くなった状態である
🤖 AIにはこう聞いてみましょう
コピーして [ ] の部分を自分の状況に書き換えて使います。答えはそのまま信じず、本文と比べて確かめましょう。
自分の仕事に機械学習が使えそうか見当をつけたいとき
私は[業務や問題の説明]に取り組んでいます。この問題を機械学習で解くとしたら、入力データ、正解(ラベル)、評価基準をそれぞれ何にすべきか提案してください。データを集めるときに生じうる偏りもあわせて教えてください。
概念を正しく理解できたか確かめたいとき
過学習を試験勉強にたとえて説明してください。そのあと、過学習と未学習を見分ける問題を三つ出し、私が答えたら採点してください。
- 高校の教科「人工知能の基礎」の内容(教育省告示の教育課程)
- 機械学習の入門書における一般的な説明(教師あり学習・教師なし学習・過学習)
学習目標をすべて達成できたら完了を押しましょう。
このブラウザでは保存できないため、この画面でのみ表示されます。