※小説ではない※専門書 要約資料集 為替(換算)3.9万円でもらう 紐解集生成 専門 初入門 資料 作:{作者名}
> 学問の宇宙・応用の軌道ステーション群(情報工学・情報派生分野)第1巻。ガイド役: Fable 5 監修 / Sonnet 5 執筆(脚本班)
> トーン規約: GAKUMON_UNIVERSE.md準拠。専門用語は初出で必ず説明する。
> 水準: 五〜六(機械学習の後半水準入門)。
> 接続先: →BOOK-0066『アルゴリズムとデータ構造』(手順という発想の土台)、→BOOK-0026『回帰と統計』(最小二乗法・分散という道具立ての土台)、→BOOK-0083『確率論』(期待値・大数の法則という不確実性の扱い方)、→BOOK-0070『ネットワーク』(記号を届ける技術の隣の区画)。
> 断り書き: 本冊は機械学習の限界と倫理的課題(バイアス・ブラックボックス性)を、成果と同じ重みで扱う。歴史の帰属が曖昧な点(誤差逆伝播の先取権など)は諸説を明記する。
---
# BOOK-0087 機械学習 — 「経験から学ぶ機械」という発明(情報派生 第1巻)
> 学問の宇宙・応用の軌道ステーション群(情報工学・情報派生分野)第1巻。ガイド役: Fable 5 監修 / Sonnet 5 執筆(脚本班)
> トーン規約: GAKUMON_UNIVERSE.md準拠。専門用語は初出で必ず説明する。
> 水準: 五〜六(機械学習の後半水準入門)。
> 接続先: →BOOK-0066『アルゴリズムとデータ構造』(手順という発想の土台)、→BOOK-0026『回帰と統計』(最小二乗法・分散という道具立ての土台)、→BOOK-0083『確率論』(期待値・大数の法則という不確実性の扱い方)、→BOOK-0070『ネットワーク』(記号を届ける技術の隣の区画)。
> 断り書き: 本冊は機械学習の限界と倫理的課題(バイアス・ブラックボックス性)を、成果と同じ重みで扱う。歴史の帰属が曖昧な点(誤差逆伝播の先取権など)は諸説を明記する。
---
## 入口の物語 — 「手順を書く」から「経験から学ぶ」への転換
BOOK-0066『アルゴリズムとデータ構造』で見た世界では、人間がまず「手順」を一から書き下ろし、機械はその手順どおりに忠実に動くだけだった。ユークリッドの互除法も、二分探索も、誰かが最初に「こう考えればよい」という筋道を発見し、それを機械が正確になぞる。この関係では、機械は優秀な実行者ではあっても、発見者ではない。
この冊子が案内する**機械学習(きかいがくしゅう、水準一: 明示的な手順をすべて人間が書く代わりに、データという「経験」から機械自身が規則性を見つけ出す仕組み)**は、この関係を半分だけひっくり返す発明である。「猫の写真を見分ける手順」を人間が一行ずつ書き下すのは、実はとても難しい。ひげの本数、耳の形、毛の色——条件を積み上げていっても、必ずどこかで例外の猫に出会う。ところが「猫の写真を1万枚」と「犬の写真を1万枚」を機械に見せ、「これは猫、これは犬」と正解を教え続けると、機械は人間が言葉にできなかった規則性を、データの中から自分で掴み取ってしまう。人間が最初に書くのは、もはや「猫を見分ける手順」そのものではなく、「経験から規則性を見つけ出すための、学び方の手順」である。この「手順を書く」から「学び方を書く」への一段階の抽象化こそ、この冊子全体を貫く主題である。
なぜこの話が面白いのか。それは、機械学習が積み木のように単純な部品——足し算・掛け算・比較——の組み合わせでできているにもかかわらず、その組み合わせ方ひとつで、迷惑メールの判定から自動運転、文章生成まで、まったく異なる問題を同じ骨格で解けてしまうという事実にある。この冊子では、「学習とは何か」という土台の定義から出発し、教師あり学習・教師なし学習・強化学習という三つの学び方、回帰と分類という二つの基本的な問いの形、損失関数と勾配降下という「間違いを数値化して減らす」技術、過学習と汎化という「覚えることと理解することの違い」、そして1958年から2012年に至る歴史の飛躍を、検算を交えながら一本道でたどっていく。最後に、現在の機械学習が抱える限界と倫理的な課題にも、目をそらさずに触れる。
---
## 第一章: 学習とは何か — 経験からの汎化
### 「覚える」と「学ぶ」の違い
機械学習の核心にある問いは、「学習とは何か」という、一見当たり前に見える問いである。ここでの答えは次のように定義される。**学習(がくしゅう、水準一: 与えられた経験〈データ〉から、まだ見ていない新しい状況にも通用する規則性を取り出すこと)**とは、単にデータを記憶することではない。試験前夜に過去問の答えを丸暗記しただけの学生は、まったく同じ問題が出れば満点を取れるが、少し数字を変えただけの応用問題には手も足も出ない。これに対し、過去問を通じて「なぜその答えになるのか」という規則を掴んだ学生は、見たことのない応用問題にも対応できる。この「未知の状況にも対応できる能力」のことを**汎化(はんか、水準二: 学習に使ったデータだけでなく、まだ見ていない新しいデータに対しても、正しく規則性を適用できる能力)**と呼ぶ。機械学習が目指しているのは、丸暗記ではなく、この汎化能力を機械に持たせることである。
### 三つの学び方 — 教師あり・教師なし・強化学習
機械が経験から学ぶやり方には、大きく分けて三つの型がある。
**教師あり学習(きょうしありがくしゅう、水準一: 「入力」と、それに対応する正解の「出力」がセットになったデータを使って、入力から出力を予測する規則を学ぶ方式)**は、もっとも基本的な型である。「この画像は猫」「このメールは迷惑メール」というように、正解ラベル(データにあらかじめ付けられた、正しい答えの目印)付きのデータを大量に与え、入力から正解を予測する規則を機械に見つけさせる。先生が問題と模範解答をセットで見せてくれるようなものなので「教師あり」と呼ばれる。
**教師なし学習(きょうしなしがくしゅう、水準二: 正解ラベルのないデータだけを使って、データの中に隠れている構造やグループ分けを見つけ出す方式)**では、正解は与えられない。大量の顧客データだけを渡され、「似た者同士でいくつかのグループに分けてみよ」と指示されるようなものだ。正解が最初から存在しないため、機械はデータそのものの中にある似た者同士の集まり(クラスタ)や、隠れたパターンを自力で見つけ出す。
**強化学習(きょうかがくしゅう、水準二: 機械〈エージェント〉がある環境の中で行動し、その結果として得られる報酬を手がかりに、より多くの報酬を得られる行動の仕方を学ぶ方式)**は、犬に芸を仕込む過程に似ている。正しい行動をしたときにご褒美(報酬)を与え、間違った行動には与えない、を繰り返すことで、犬は徐々に「どう振る舞えばご褒美をもらえるか」を学んでいく。囲碁や将棋を指すコンピュータ、ロボットの歩行制御などは、この強化学習の代表的な応用先である。
この冊子では主に教師あり学習を中心に扱う。理由は単純で、回帰と分類という、機械学習でもっとも土台となる二つの問いの形が、この教師あり学習の枠組みではっきりと姿を現すからである。
### 休憩所 — ここまでのまとめ箱
学習とは、データを丸暗記することではなく、未知の状況にも通用する規則性(汎化能力)を取り出すことだった。その学び方には、正解付きデータから学ぶ教師あり学習、正解なしデータから構造を見つける教師なし学習、報酬を手がかりに行動を学ぶ強化学習という三つの型がある。次章では、教師あり学習の中でもっとも基本的な二つの問い——数値を当てる「回帰」と、種類を当てる「分類」——を具体的に見ていく。
---
## 第二章: 回帰と分類 — 「いくつ」を当てるか「どちら」を当てるか
### 回帰 — 連続した数値を予測する
**回帰(かいき、水準二: 入力から、連続的な数値を予測する問題の形。BOOK-0026で見た最小二乗法は回帰の代表的な解法の一つ)**は、「家の広さから家賃を予測する」「勉強時間からテストの得点を予測する」というように、答えが連続的な数値になる問題である。BOOK-0026『回帰と統計』第1冊で扱った最小二乗法(データの群れにもっとも当てはまりのよい直線を引く方法)は、実はこの回帰問題を解くための、もっとも古典的で基本的な道具そのものである。機械学習における回帰は、この直線を引く発想を、より複雑な曲線や、多数の入力変数を持つ場合にまで拡張したものだと考えるとよい。
### 分類 — 種類やカテゴリを当てる
**分類(ぶんるい、水準二: 入力を、あらかじめ決められたいくつかの種類〈クラス〉のどれかに振り分ける問題の形)**は、「このメールは迷惑メールか通常メールか」「この画像は猫か犬か鳥か」というように、答えが連続的な数値ではなく、限られた選択肢の中のどれか一つになる問題である。答えが二つの選択肢しかない場合を**二値分類(にちぶんるい、水準二: 分類の中でも、答えの種類がちょうど二つしかない場合)**と呼び、三つ以上の場合を多クラス分類と呼ぶ。
回帰と分類は、「答えの形」が違うだけで、内部の仕組みは驚くほど似ている。どちらも「入力を受け取り、何らかの計算を経て、答えを出す」という骨格を持ち、その計算の中身を「データに合うように調整していく」という点でも共通している。この「答えとの間違いを測り、その間違いを減らすように調整する」という営みこそ、次章で扱う損失関数と勾配降下の主題である。
### なぜ回帰と分類がすべての土台なのか
一見すると、機械翻訳も、画像生成も、囲碁の一手も、回帰や分類とはかけ離れた複雑な問題に見える。しかし実際には、これらの多くは「次の単語は何か(多クラス分類の連続)」「この画像がどれだけ本物らしいか(数値の回帰)」というように、突き詰めれば回帰か分類、あるいはその組み合わせに帰着することが多い。この意味で、回帰と分類は機械学習という惑星の、いちばん基礎となる岩盤にあたる。
---
## 第三章: 損失関数と勾配降下 — 間違いを数値化して減らす
### 損失関数 — 「どれだけ間違っているか」を一つの数にする
機械が予測をするとき、その予測は最初はでたらめに近い。この予測と実際の正解との「ズレの大きさ」を、一つの数値として測る物差しが**損失関数(そんしつかんすう、水準三: 機械の予測と実際の正解との間のズレの大きさを、一つの数値として表す関数。値が小さいほど予測が正解に近い)**である。回帰問題でよく使われる損失関数の一つが、BOOK-0026で見た「二乗してから平均する」という発想をそのまま流用した**二乗誤差(にじょうごさ、水準三: 予測値と正解値の差を二乗し、その平均を取ったもの)**である。二乗する理由もBOOK-0026の分散の説明と同じで、プラスのズレとマイナスのズレが打ち消し合わないようにするためである。
### 勾配降下法 — 山を下るように間違いを減らす
損失関数によって「今どれだけ間違っているか」が一つの数値でわかるようになったら、次は「どうすればその数値を小さくできるか」を考える番である。ここで使われる考え方が**勾配降下法(こうばいこうかほう、水準三: 損失関数の値をできるだけ小さくするために、坂道を下るように、パラメータの値を少しずつ調整していく方法)**である。
イメージとしては、深い霧の中の山の斜面に立っていて、谷底(損失関数の値がもっとも小さい場所)がどこにあるかは見えないが、自分の足元の傾き(勾配)だけは感じ取れる、という状況に近い。このとき合理的な作戦は、「今立っている場所でいちばん急に下っている方向へ、少しだけ歩を進める」ことを繰り返すことだ。これを機械学習の言葉に翻訳すると、「損失関数の傾き(勾配、パラメータをわずかに動かしたときに損失がどう変化するかを示す量)を計算し、損失が減る方向へパラメータを少しだけ更新する」ことを繰り返す、ということになる。この「少しだけ」の歩幅を決める数値を**学習率(がくしゅうりつ、水準三: 勾配降下法で一回に更新する歩幅の大きさを決める数値。大きすぎると谷底を飛び越え、小さすぎると学習が遅くなる)**と呼ぶ。
### 検算例1 — 勾配降下の1ステップを手計算する
具体的な数で確かめてみよう。ごく単純な例として、予測値を`y = w × x`という式(wは調整したいパラメータ、xは入力)で表し、入力`x = 2`、正解`t = 10`とする。損失関数を二乗誤差`L = (y - t)^2`とする。
まず、パラメータの初期値を`w = 3`とする。このときの予測値は`y = 3 × 2 = 6`である。正解`t = 10`との差は`y - t = 6 - 10 = -4`なので、損失は`L = (-4)^2 = 16`となる。
次に、この損失を`w`について微分した勾配を求める。`y = w × x`なので`L = (w×x - t)^2`となり、これを`w`で微分すると`dL/dw = 2 × (w×x - t) × x`という式になる。ここに数値を代入すると、`dL/dw = 2 × (6 - 10) × 2 = 2 × (-4) × 2 = -16`である。
学習率を`α = 0.05`とすると、勾配降下法の更新式は`w_新 = w_旧 - α × dL/dw`である。数値を代入すると、`w_新 = 3 - 0.05 × (-16) = 3 + 0.8 = 3.8`となる。更新後の`w = 3.8`で予測し直すと、`y = 3.8 × 2 = 7.6`となり、正解`10`との差は`-2.4`まで縮まった(更新前の差は`-4`だったので、確かに正解に近づいている)。これが勾配降下法の「1ステップ」の中身である。実際の学習では、これをデータの数だけ、そして何度も繰り返すことで、`w`が少しずつ正解に近づいていく。
### なぜ「傾きの逆方向」に動くのか
勾配(傾き)がマイナスということは、「`w`を増やせば損失が減る」ということを意味する。だから`w`を増やす方向、すなわち「勾配のマイナス方向」へ動かす。更新式に`-α × 勾配`という形でマイナス符号が入っているのはこのためだ。もし勾配のプラス方向に動いてしまうと、損失はどんどん大きくなってしまう。山を下りたいのに、あえて登る方向へ足を踏み出すようなものである。
---
## 第四章: 過学習と汎化 — 覚えることと理解することの違い
### 訓練データと検証データを分ける理由
機械学習では、手元にあるデータをそのまま全部学習に使ってしまうと、困ったことが起きる。機械はデータを「理解」する代わりに、細部までまるごと「暗記」してしまうことがあるのだ。これを見抜くために、手元のデータをあらかじめ二つに分けておく。**訓練データ(くんれんデータ、水準三: 機械にパラメータを調整させるために、実際に学習で使うデータの集まり)**と、**検証データ(けんしょうデータ、水準三: 学習には一切使わず、学習が終わったモデルの性能を確かめるためだけに取っておくデータの集まり)**である。
たとえるなら、訓練データは授業で解いた過去問、検証データは本番の入試問題にあたる。過去問だけをどれだけ完璧に解けるようになっても、本番の初見の問題に対応できなければ、その学習は失敗だったことになる。
### 過学習 — 丸暗記に陥る罠
**過学習(かがくしゅう、水準三: 訓練データに対する性能は非常によいのに、検証データ〈未知のデータ〉に対する性能が悪くなってしまう現象。過剰適合とも呼ぶ)**は、機械学習における最大の落とし穴のひとつである。モデルが複雑になりすぎると、訓練データに含まれる細かいノイズ(本質的でない誤差やばらつき)まで、まるで意味のある規則であるかのように覚え込んでしまう。冒頭の例で言えば、過去問の答えだけでなく、「問題文の何行目に答えのヒントとなる余白があったか」まで暗記してしまうようなものだ。これでは、本番でわずかに形式が変わった問題に対応できない。
過学習の逆に、モデルが単純すぎて訓練データの規則性すら十分に捉えられない状態を**未学習(みがくしゅう、水準三: モデルが単純すぎて、訓練データの規則性さえ十分に学習できていない状態。学習不足とも呼ぶ)**と呼ぶ。機械学習の実践は、この「複雑にしすぎて丸暗記に陥る」ことと「単純にしすぎて何も学べない」ことの、ちょうど良い中間を探る作業だと言い換えることもできる。
### 評価指標 — 正解率と適合率・再現率
モデルの性能を検証データで測るとき、もっとも単純な物差しが**正解率(せいかいりつ、水準三: 全体の予測のうち、正解した割合)**である。しかし、正解率だけでは見抜けない落とし穴がある。たとえば「1000人に1人しかかからない病気」を判定するモデルが、常に「病気ではない」とだけ答え続けたとしても、正解率は99.9%になってしまう。これでは病気の人を一人も見つけられていないのに、見かけ上の成績だけは高く出てしまう。
この落とし穴を避けるために使われる道具が**混同行列(こんどうぎょうれつ、水準四: 分類問題の予測結果を、「実際に陽性か陰性か」と「予測が陽性か陰性か」の組み合わせで4つに分けて集計した表)**である。この4つの区分は、実際に陽性〈本当に病気〉で予測も陽性だった**真陽性(TP)**、実際は陰性〈健康〉なのに誤って陽性と予測した**偽陽性(FP)**、実際は陽性なのに誤って陰性と予測した**偽陰性(FN)**、実際に陰性で予測も陰性だった**真陰性(TN)**、と呼ばれる。
この4区分から、**適合率(てきごうりつ、水準四: モデルが「陽性」と予測したもののうち、実際に陽性だった割合。計算式は TP ÷ (TP + FP))**と、**再現率(さいげんりつ、水準四: 実際に陽性であるもののうち、モデルが正しく陽性だと見抜けた割合。計算式は TP ÷ (TP + FN))**という、二つの重要な指標が計算できる。
### 検算例2 — 混同行列から適合率・再現率を計算する
具体的な数で確かめよう。100人の患者に対してある病気の判定モデルを試したところ、実際に病気だった人は20人、健康だった人は80人だった。モデルの判定結果は次のとおりだったとする。
```
予測: 陽性(病気) 予測: 陰性(健康)
実際: 陽性(病気) TP = 15 FN = 5 (実際に病気20人)
実際: 陰性(健康) FP = 10 TN = 70 (実際に健康80人)
```
まず正解率を計算すると、正しく判定できたのはTP=15とTN=70を合わせた85人なので、正解率は`85 ÷ 100 = 0.85`、すなわち85%である。
次に適合率を計算する。モデルが「陽性」と予測したのはTP=15とFP=10を合わせた25人であり、そのうち実際に陽性だったのは15人なので、適合率は`15 ÷ (15 + 10) = 15 ÷ 25 = 0.6`、すなわち60%である。つまり、このモデルが「病気です」と言ったとき、実際に病気である確率は6割にとどまる。
最後に再現率を計算する。実際に陽性だったのはTP=15とFN=5を合わせた20人であり、そのうちモデルが正しく見抜けたのは15人なので、再現率は`15 ÷ (15 + 5) = 15 ÷ 20 = 0.75`、すなわち75%である。つまり、実際に病気を持つ人のうち、4分の3をモデルは見つけ出せているが、残り4分の1(5人)を見逃している。
この例からわかるように、正解率が85%と高く見えても、適合率(60%)と再現率(75%)を見ると、「陽性と判定されても実際はよく外れる」「病気の人を2割以上見逃す」という弱点が浮かび上がる。正解率という一つの数字だけでモデルの良し悪しを判断してはいけない理由が、この検算からはっきりと見て取れる。
---
## 第五章: ニューラルネットの直感 — パーセプトロンという最小の単位
### パーセプトロン — 一つの数式で「賛成・反対」を決める
機械学習、とりわけ深層学習の土台にある部品が**ニューラルネットワーク(神経回路網、水準三: 生物の脳の神経細胞〈ニューロン〉のつながり方を単純化して模した、計算の仕組み)**である。その最小単位となる考え方が**パーセプトロン(水準三: 複数の入力それぞれに重みを掛けて合計し、その合計がある基準〈しきい値〉を超えたかどうかで、0か1かの答えを出す、もっとも単純な計算単位)**である。
パーセプトロンの計算は、実は「複数の意見に、それぞれ重要度の重みを付けて足し合わせ、合計が基準を超えたら賛成、超えなければ反対とする」という、会議の多数決に似た仕組みである。入力`x1, x2, ...`のそれぞれに重み`w1, w2, ...`を掛けて足し合わせ、その合計がしきい値を超えれば出力は1(賛成)、超えなければ0(反対)になる。この「重み」こそが、学習によって調整される対象であり、第三章で見た勾配降下法は、まさにこの重みを少しずつ正解に近づけていくための道具である。
### なぜ「AND」や「OR」を学習できるのか
パーセプトロンの直感をつかむために、論理演算の**AND(論理積、水準二: 二つの入力が両方とも1のときだけ1を返す演算)**を学習させる例を考えよう。入力が`(0,0)`なら出力は0、`(0,1)`なら0、`(1,0)`なら0、`(1,1)`のときだけ出力が1になるのがANDである。この4パターンをすべて満たす重みとしきい値の組み合わせは、たとえば「両方の重みを0.6、しきい値を1」とすれば、`(1,1)`のときだけ合計が`0.6+0.6=1.2`でしきい値を超え、それ以外はしきい値に届かない、というように実現できる。パーセプトロンは、この重みの組み合わせを、正解データを見せながら少しずつ自動的に見つけ出していく。
---
## 第六章: 歴史の飛躍 — 1958年から2012年まで
機械学習、とりわけニューラルネットワークの歴史は、期待と停滞が繰り返し訪れた、山あり谷ありの物語である。
### 1958年 — ローゼンブラットのパーセプトロン
**1958年**、アメリカの心理学者**フランク・ローゼンブラット(Frank Rosenblatt)**は、脳の神経細胞の働きを模した学習する機械として、パーセプトロンを考案した。ローゼンブラットのパーセプトロンは、実際にハードウェアとしても組み上げられ、単純な図形を分類できる装置として当時大きな注目を集めた。「機械が経験から学ぶ」という発想が、具体的な装置として実現された最初期の到達点のひとつである。
### 1969年 — ミンスキーとパパートによる限界の指摘
しかし**1969年**、計算機科学者**マービン・ミンスキー(Marvin Minsky)**と**シーモア・パパート(Seymour Papert)**は、著書『Perceptrons』の中で、単純な1層のパーセプトロンには本質的な限界があることを数学的に示した。特に有名なのが、先ほどのANDやORとは異なり、**XOR(排他的論理和、水準三: 二つの入力のうち、どちらか一方だけが1のときに1を返す演算)**という単純な論理演算すら、1層のパーセプトロンだけでは学習できない、という指摘である。この指摘は、当時のニューラルネットワーク研究への資金や関心を大きく冷え込ませ、後に「第一次AIの冬」と呼ばれる停滞期の一因になったとされる。ただし、ミンスキーとパパート自身は、層を重ねた多層のネットワークであればこの限界を超えられる可能性にも触れており、「パーセプトロンそのものを全否定した」という単純化した理解は正確ではない、という点は補足しておく必要がある。
### 1986年 — 誤差逆伝播法の「広く知られる再発見」
ニューラルネットワークが再び脚光を浴びるきっかけの一つが、**誤差逆伝播法(ごさぎゃくでんぱほう、バックプロパゲーション、水準四: 多層のニューラルネットワークにおいて、出力側で生じた誤差の情報を、入力側に向かって逆向きに伝え、各層の重みを効率よく調整していく学習アルゴリズム)**である。**1986年**、**デビッド・ラメルハート(David Rumelhart)**、**ジェフリー・ヒントン(Geoffrey Hinton)**、**ロナルド・ウィリアムズ(Ronald Williams)**による論文が、この手法を広く知られる形で示し、多層のネットワークを効率的に学習させられることを実証した。
ここで歴史の帰属について、諸説を明記しておかねばならない。誤差逆伝播法の数学的な考え方そのものは、1986年の論文以前にも、複数の研究者によって独立に、あるいは異なる文脈で発見されていたとされる。1970年代には既に類似の手法が制御理論や別分野の文脈で提案されていたという指摘や、1970年にはある研究者の修士論文にも近い考え方が含まれていたという指摘もあり、「誰が最初に発見したか」という先取権については研究史の中でも見解が分かれている。本冊では、1986年の論文が「多層ネットワークの学習に広く使える手法として、研究コミュニティに定着させた、広く知られる再発見」であった、という位置づけを採り、それ以前の先行研究の存在についても諸説あることを明記しておく。
### 2012年 — 深層学習の飛躍(ImageNet・AlexNet)
長い停滞を経て、ニューラルネットワークが「使える技術」として世界に強い印象を与えた転換点が**2012年**である。**深層学習(しんそうがくしゅう、ディープラーニング、水準四: 何層にも重なった、多層のニューラルネットワークを用いる機械学習の手法)**を用いた**AlexNet**というモデルが、大規模な画像認識の競技会**ImageNet(イメージネット)大規模視覚認識チャレンジ**において、それまでの手法を大きく引き離す成績を収めた。この結果は、深層学習が単なる理論上のアイデアではなく、実際の画像認識という難題で圧倒的な性能を発揮できることを示し、その後の急速な研究投資と応用拡大の号砲となった出来事として広く位置づけられている。
2012年の飛躍を支えた背景には、大量のデータ(ImageNetのような大規模データセット)、計算力の向上(画像処理用の演算装置であるGPUを学習に転用する工夫)、そして手法そのものの改良という、複数の要因が同時にそろったことがある、という点も補足しておく。どれか一つだけの手柄ではなく、複数の追い風が重なったタイミングだった、と理解するのが妥当である。
### 休憩所 — 歴史のまとめ箱
1958年のローゼンブラットが学習する機械の最初期の姿を示し、1969年のミンスキーとパパートがその限界を数学的に指摘して停滞期を招き、1986年の論文が多層ネットワークを学習させる誤差逆伝播法を広く知らしめ、2012年のAlexNetが深層学習の実力を世界に示した。期待→限界の発見→技術的な打開→劇的な成果という、およそ半世紀にわたる山あり谷ありの物語である。
---
## 第七章: 限界と倫理 — 光と影を両方見る
機械学習は強力な技術だが、万能ではない。この冊子の締めくくりとして、その限界と倫理的な課題を、成果と同じ重みで明記しておく。
### バイアス — データの偏りをそのまま学んでしまう
機械学習モデルは、与えられたデータの中にある傾向を忠実に学び取る。これは長所であると同時に、データ自体に社会的な偏り(バイアス、水準三: 訓練データや設計に含まれる偏りが原因で、モデルの判断が特定の属性の人々に対して不公平な結果を生み出してしまう現象)が含まれていれば、その偏りごと学習し、時には増幅してしまうという欠点でもある。過去の採用データに偏りがあれば、それを学習したモデルは、その偏りを「規則性」として忠実に再現してしまう。機械学習は「正しさ」を保証する装置ではなく、「与えられたデータの中にある傾向を映す鏡」に近い、という理解が欠かせない。
### ブラックボックス性 — なぜその答えを出したのかが見えにくい
もう一つの大きな課題が**ブラックボックス性(水準三: 特に複雑な深層学習モデルにおいて、入力から出力までの内部の判断過程が人間にとって理解しにくく、「なぜその結論に至ったか」を説明しづらいという性質)**である。何百万もの重みが絡み合った巨大なニューラルネットワークは、高い性能を出せても、「なぜこの患者を高リスクと判定したのか」を人間の言葉で明快に説明することが難しい場合が多い。医療診断や融資審査など、判断の理由説明が重要な場面では、この性質が実用上の大きな課題として残り続けている。
これらの課題は、機械学習という技術そのものの価値を否定するものではない。むしろ、「何ができて、何がまだできないのか」を正確に理解した上で使うことこそが、この技術と付き合っていくための土台になる、という姿勢で本冊を締めくくりたい。
---
## 手を動かす実践解 — 紙と鉛筆で機械学習を体験する
### 実践解1: 紙と鉛筆でパーセプトロンのAND学習を手回しする
**材料**: 方眼紙、鉛筆、電卓(なくても可)。
**工程**: (1) 表に入力`(x1, x2)`の4通り`(0,0)(0,1)(1,0)(1,1)`と、AND演算の正解`(0,0,0,1)`を書き出す。(2) 重み`w1=0.3, w2=0.3`、しきい値`θ=0.5`から出発する。(3) 各入力について合計`w1×x1 + w2×x2`を計算し、しきい値と比較して0か1かを判定する。(4) `(1,1)`のとき合計は`0.3+0.3=0.6`で正解の1になるが、`(1,0)`のとき合計は`0.3`でしきい値0.5に届かず正解の0になる——このように全パターンを手で確認し、間違えたパターンがあれば重みを`+0.1`ずつ調整して再計算する。(5) 全4パターンが正解と一致するまで繰り返す。
**なぜ効くか**: パーセプトロンの学習が、抽象的な数式ではなく「重みを少しずつ動かして、間違いが減る方向を手探りで探す」という具体的な作業であることが、手を動かすことで体感できる。
**限界**: 入力が2つ、パターンが4つという最小構成でしか手計算は現実的でない。実際のニューラルネットは何千・何百万というパラメータを持ち、手計算ではなく勾配降下法による自動調整が不可欠になる。
### 実践解2: 最近傍法を定規で体験する
**材料**: 方眼紙、定規、色の違う2種類のシール(または丸印)。
**工程**: (1) 方眼紙に、赤丸のグループ(たとえば左下寄りに5個)と青丸のグループ(右上寄りに5個)を散らばらせて描く。これが訓練データにあたる。(2) 新しい点(正解ラベルのない点)を1つ打つ。(3) 定規を使い、その新しい点から最も近い訓練データの点までの距離を目視・測定で比較する。(4) 最も近かった点の色(赤か青)を、新しい点の予測ラベルとする。この方法を**最近傍法(さいきんぼうほう、水準三: 新しいデータに最も近い訓練データを探し、そのラベルをそのまま予測結果として採用する、もっとも単純な分類手法の一つ)**と呼ぶ。
**なぜ効くか**: 分類問題が「距離の近さ」という直感的な概念だけでも成立しうることを、実際に定規で距離を測ることで体感できる。
**限界**: データの数が増えると、すべての点との距離を毎回測る必要があり、計算量が膨大になる。また、ノイズ(誤った1点)が近くにあると、それだけで予測が引きずられてしまう弱さもある。
### 実践解3: 表計算ソフトで最小二乗直線を引く
**材料**: 表計算ソフト(スプレッドシート)、5〜10組ほどの`(x, y)`データ(たとえば勉強時間とテスト得点)。
**工程**: (1) 表計算ソフトに`x`列と`y`列としてデータを入力する。(2) 散布図(データを点として描いたグラフ)を作成する。(3) グラフの「近似曲線を追加」機能で線形近似を選び、直線の式`y = ax + b`を表示させる。(4) 表計算ソフトの`SLOPE`関数と`INTERCEPT`関数を使い、傾き`a`と切片`b`を別途計算し、グラフに表示された式と一致することを確認する。
**なぜ効くか**: BOOK-0026で扱った最小二乗法が、実際の道具の上でどのように「一本の直線」として姿を現すかを、自分のデータで確認できる。回帰という機械学習の基本問題が、特別な装置ではなく身近な表計算ソフトでも体験できることがわかる。
**限界**: 直線1本で表せる関係(線形の関係)にしか使えない。データの並びが曲線を描く場合には、この方法だけでは正しく捉えられず、より複雑なモデルが必要になる。
---
## 終章の惑星図 — この冊子の位置
```
応用の軌道ステーション群(情報工学)
│
├─ BOOK-0066 アルゴリズムとデータ構造(手順の土台)
├─ BOOK-0070 ネットワーク(記号を届ける技術)
└─ BOOK-0087 機械学習 ← 本冊(経験から学ぶ機械)
│
├─ 土台: BOOK-0026 回帰と統計(最小二乗法・分散)
└─ 土台: BOOK-0083 確率論(期待値・大数の法則)
```
機械学習という惑星は、単独では存在できない。回帰と統計という土台の上に、確率論という不確実性を扱う道具立てが重なり、その上にようやく「経験から学ぶ機械」という発想が芽吹く。次巻(水準七以降)では、多層のニューラルネットワークの内部構造や、画像認識・自然言語処理といった応用分野への広がりを扱う予定である。
# BOOK-0087 機械学習 — 「経験から学ぶ機械」という発明(情報派生 第1巻)