第2章では、AIが「探索・推論」「知識表現」「機械学習・ディープラーニング」という3つのアプローチを経てどう進化してきたかを俯瞰しました。
第3章は、その「機械学習」の中身に踏み込む章です。「AIはどうやって学ぶのか」を問う、第3の「木」。
この章でやることは、個々の手法を細かく暗記することではありません。「どの手法が何のためにあるのか」を説明できる状態を目指すのが目標です。この章が終わったとき、次の3つが言えていれば十分です。
- 教師あり・教師なし・強化学習の違いを説明できる
- 回帰問題と分類問題を区別できる
- 正解率だけでは評価が不十分な理由を説明できる
第3章の全体像
第3章を一言で表すなら、「AIがどのように学び、どのように予測し、どのように改善するか」の仕組みを扱う章です。細かい手法に入る前に、まず全体の流れを押さえます。機械学習は次の6つのステップで進みます。
- データを集める
- 学び方を決める
- パターンを学習する
- 予測する
- 正しいか評価する
- 改善する(過学習への対応)
重要なのは、「学習 → 予測 → 評価 → 改善」が一連のサイクルであるという点です。この流れを頭に入れておくと、個々の手法や用語の役割がつながります。
① データを集める
機械学習は、データがなければ何も始まりません。まず学習の材料となるデータを準備します。
- 過去の売上データ
- メールと迷惑メールのラベル
- ユーザーの行動履歴
データの質と量が、その後の学習精度を大きく左右します。
② 学び方を決める
次に、どの方法で学習するかを決めます。問題の構造によって、適した学び方が変わります(3-1節)。
- 教師あり学習(正解ラベル付きのデータで、入出力の関係を学ぶ)
- 教師なし学習(正解なしで、データそのものの構造をつかむ)
- 強化学習(行動と報酬のフィードバックで、最適な行動を学ぶ)
③ パターンを学習する
集めたデータから規則(ルール)を見つけるのが学習フェーズです。このとき使われる仕組みをモデルと呼びます。
- 回帰(数値を予測する)――線形回帰・自己回帰モデルなど
- 分類(種類を判定する)――ロジスティック回帰・決定木・SVM・ランダムフォレストなど
- クラスタリング(グループに分ける)――k-means・PCA・トピックモデルなど
④ 予測する
学習したルールを使って、新しいデータに対して判断を行います。これが機械学習の目的です。
- このメールは迷惑メールか
- 来月の売上はいくらか
- このユーザーはどのグループに属するか
⑤ 正しいか評価する
予測結果がどれだけ正確かを確認します。評価は、学習に使っていない未知のデータで行うことが重要です(3-2節)。
- 正解率・適合率・再現率・F値(分類問題)
- MSE・RMSE・MAE(回帰問題)
- ROC曲線・AUC(確率出力のモデル)
⑥ 改善する(過学習への対応)
評価をもとにモデルや学習方法を見直します。代表的な失敗が過学習(オーバーフィッティング)です。訓練データに合わせすぎてしまい、未知のデータに対して正しく予測できなくなる状態です。
- モデルの複雑さの調整(AIC・BIC)
- オッカムの剃刀(シンプルなモデルを優先する原則)
- データ分割の見直し(ホールドアウト検証・k-分割交差検証)
評価の結果をもとに①に戻り、このサイクルを繰り返すことでモデルの精度が上がっていきます。
第3章の流れは次の一文で表せます。
データから学び、未知データを予測し、評価して改善する。
3-1|代表的な手法
まず結論:機械学習の手法は「どう学ぶか(学習タイプ)」と「何を予測するか(問題の種類)」の2軸で選ぶ。この2軸が頭に入っていれば、個々の手法名が自然につながります。
学習の3種類——問題の構造で使い分ける
機械学習と一口に言っても、「何を解きたいか」によってアプローチが3つに分かれます。どれが優れているかという話ではなく、問題の構造に応じて使い分けるものです。
| 種類 | データの特徴 | 学習の目的 | この章で扱う代表的な手法 | 典型例 |
|---|---|---|---|---|
| 教師あり学習 | 入力と正解ラベルがセット | 入出力のパターンを学ぶ | 線形回帰・ロジスティック回帰・決定木・ランダムフォレスト・ブースティング(AdaBoost・XGBoost)・SVM・自己回帰モデル | 売上予測・画像分類・翻訳 |
| 教師なし学習 | 入力のみ(正解なし) | データの構造・特徴をつかむ | k-means・ウォード法・主成分分析(PCA)・協調フィルタリング・トピックモデル(LDA) | 顧客セグメント分析・次元削減・レコメンド |
| 強化学習 | 環境からの報酬フィードバック | 累積報酬を最大化する行動を学ぶ | エージェント・環境・状態・行動・報酬の枠組み(具体的なアルゴリズムは第6章) | 自動運転・ゲームAI |
教師あり学習はさらに2種類に分かれます。売上のような数値(連続値)を予測するのが回帰問題、犬か猫かのようなカテゴリ(離散値)を予測するのが分類問題です。どちらかによって使う手法が変わるので、まずここを確認することが重要です。
線形回帰——データに当てはまる直線で数値を予測する
最もシンプルな回帰問題の手法が線形回帰です。データの分布があったとき、そこに最もよく当てはまる直線(回帰直線)を引き、新しい入力に対して数値を返します。身長と体重の関係を直線で表し、「身長170cmなら体重は何kgか」を予測するイメージです。
入力が1種類なら単回帰分析、複数種類なら重回帰分析といいます。また、線形回帰に過学習を抑える正則化項を加えた手法としてラッソ回帰とリッジ回帰があります。
ロジスティック回帰——名前は「回帰」でも、使うのは分類問題
「回帰」という名前がついていますが、分類問題に使う手法です。ここは試験で確実に問われるポイントなので注意してください。
出力にシグモイド関数を用いることで、モデルの出力を0から1の確率に変換し、「どちらのクラスに属するか」を判定します。「スパムメールである確率が0.8なのでスパムと判定」のような使い方です。
決定木・ランダムフォレスト——集合知で精度を上げる
「この特徴量の値は○○以上か?」という「はい/いいえ」の分岐を積み重ねてパターンを分類する構造が決定木です。視覚的に分かりやすいのが特徴ですが、1本の木は過学習しやすいという弱点があります。
その弱点を補うのがランダムフォレストです。特徴量とデータをランダムに抽出(ブートストラップサンプリング)しながら複数の決定木を作成し、その多数決で最終的な出力を決めます。複数のモデルを束ねる学習法をアンサンブル学習といい、ランダムフォレストはその中でも並列型のバギングの代表例です。
ブースティング——誤りを糧に学ぶ、逐次型アンサンブル
バギングが複数のモデルを並列に作るのに対して、ブースティングは直列(逐次)に作ります。直前のモデルが誤認識したデータを重点的に次のモデルへ渡すことで、誤りを減らしながら精度を上げていく仕組みです。
代表的な手法がAdaBoost(Adaptive Boosting)です。さらに、前のモデルの予測誤差そのものを次のモデルが学習する勾配ブースティングがあり、それを大幅に高速化したアルゴリズムがXGBoost(eXtreme Gradient Boosting)です。バギングより学習に時間はかかりますが、得られる精度は高くなる傾向があります。
サポートベクターマシン(SVM)——マージンを最大化する境界線
異なるクラスのデータ点との距離(マージン)が最大になる境界線を求めて分類を行う手法がSVMです。この操作をマージン最大化といいます。ディープラーニング登場以前は機械学習で最も人気のある手法の一つでした。
データが直線では分類できない場合は、データをより高い次元の空間に写像して線形分類できるようにします。この写像に使う関数をカーネル関数、計算を効率化するテクニックをカーネルトリックといいます。
自己回帰モデル——過去のデータから現在を予測する
株価や気温のように時間軸に沿ったデータを時系列データといいます。自己回帰モデル(ARモデル)は、過去のデータが現在にどれだけ影響しているかを重みとして学習し、将来の値を予測する手法です。入力が複数種類の時系列データになるとベクトル自己回帰モデル(VARモデル)といいます。
教師なし学習の手法——データの構造を自力で見つける
教師なし学習には「クラスタリング」「次元削減」「レコメンデーション・トピック分析」の3系統があります。
k-means法はデータをk個のクラスタ(グループ)に分類する手法です。各クラスタの重心を繰り返し計算・更新し、重心が変化しなくなるまで続けます。kは自分で設定する値で、クラスタの意味解釈は人間が行います。
ウォード法(階層的クラスタリング)は、データを個別のクラスタから始めて類似度の高いものを逐次統合し、階層構造を作る手法です。結果はデンドログラム(樹形図)で表現されます。
主成分分析(PCA)は、多数の特徴量を、相関のない少数の主成分へと次元削減する手法です。データの分析をしやすくしたり、機械学習の計算量を減らすために使います。文章データには特異値分解(SVD)もよく使われます。2〜3次元への可視化手法としてt-SNEやMDS(多次元尺度構成法)も頻繁に登場します。
協調フィルタリングは「対象ユーザーは買っていないが、似たユーザーは買っている商品を推薦する」レコメンデーション手法です。Amazonの「この商品を買った人はこんな商品も買っています」が代表例です。ただし参照できるデータが不十分なとき推薦できないというコールドスタート問題があります。ユーザー情報を使わず商品の特徴量から推薦するコンテンツベースフィルタリングはこの問題を回避できますが、それぞれに一長一短があります。
トピックモデルは、文書を「複数の潜在的トピックの確率的な混合」として扱うクラスタリング手法です。代表的な手法がLDA(潜在的ディリクレ配分法)で、ニュース記事をテーマ別に分類したり、ECサイトのレコメンドにも応用されます。
強化学習——報酬を手がかりに、行動を学ぶ
強化学習を一言で言うと「行動を学習する仕組み」です。決まった正解データを与えるのではなく、試行錯誤の中で得られる報酬(スコア)を手がかりに、どう行動すれば累積報酬が最大になるかを学習します。
| 要素 | 意味 | 自動運転での対応 |
|---|---|---|
| エージェント | 学習・行動する主体 | 車(AI) |
| 環境 | エージェントが置かれる場 | 車が走る実空間 |
| 状態 | 現在の環境の観測値 | 周囲の車・人・信号の状況 |
| 行動 | エージェントがとる選択 | 走る・止まる・曲がる |
| 報酬 | 行動の良し悪しを示すスコア | 安全に前進できた度合い |
将来の報酬は時間が経つほど不確実なため、割引率(γ)をかけて重みを下げながら合計します。強化学習の目的は「将来にわたる累積報酬を最大化すること」です。具体的なアルゴリズム(深層強化学習など)は第6章で扱います。
3-2|モデルの選択・評価
まず結論:モデルの性能は「未知データへの予測力」で測る。そのために「データの分け方」と「評価指標の選び方」の2つをセットで理解することが重要です。
データの分割——「未知のデータ」を擬似的に作り出す
機械学習の目的は「未知のデータにも通用するパターンを学ぶ」ことです。ですが未知のデータは文字通り「未知」なので、手元のデータの一部を評価専用に取り分けることで代用します。学習に使うデータを訓練データ、評価に使うデータをテストデータと呼び、この分割方法を交差検証といいます。
| 方法 | 概要 | 特徴 |
|---|---|---|
| ホールドアウト検証 | 全データを訓練・テストに1回だけ分割 | シンプル。データが少ないと評価が偏る可能性あり |
| k-分割交差検証 | データをk個に分割し、1つずつテストデータにして評価を繰り返す | 偏りを抑えやすい。計算コストは増える |
さらに訓練データを分割した検証データを用意することもあります。この場合、全データは「訓練データ・検証データ・テストデータ」の3区分になります。モデルの調整は検証データで行い、最終評価だけテストデータで行う、という流れです。
評価指標(回帰問題)——誤差をそのまま数値で測る
回帰問題は数値を予測するので「当たり・外れ」を明確に分けられません。そこで、予測値と実際の値の「誤差」をそのまま評価に使います。
| 指標 | 正式名称 | 特徴 |
|---|---|---|
| MSE | 平均二乗誤差 | 誤差を2乗して平均。正負が打ち消し合わない |
| RMSE | 二乗平均平方根誤差 | MSEの平方根。元の単位と合わせやすい |
| MAE | 平均絶対値誤差 | 誤差の絶対値を平均。外れ値の影響を受けにくい |
評価指標(分類問題)——混同行列で「当たり・外れ」を整理する
分類問題では「当たり・外れ」が明確に分かるため、予測値と実際の値の組み合わせを整理した混同行列(confusion matrix)を使います。2クラス分類の場合、組み合わせは4通りです。
| 実際:正(Positive) | 実際:負(Negative) | |
|---|---|---|
| 予測:正(Positive) | 真陽性(TP) | 偽陽性(FP) |
| 予測:負(Negative) | 偽陰性(FN) | 真陰性(TN) |
FPは統計用語で第一種過誤、FNは第二種過誤とも呼ばれます。この4つの値をもとに、4種類の評価指標を使い分けます。
| 指標 | 計算 | 「何を測りたいか」 | 重視すべき場面 |
|---|---|---|---|
| 正解率(Accuracy) | (TP+TN)÷全データ数 | 全体のうち正しく予測できた割合 | クラスが均等なとき |
| 適合率(Precision) | TP÷(TP+FP) | 「正」と予測したうち、本当に正だった割合 | 誤判定を防ぎたいとき(スパム判定など) |
| 再現率(Recall) | TP÷(TP+FN) | 本当に正のものを、正しく「正」と予測できた割合 | 見逃しを防ぎたいとき(病気検出など) |
| F値(F measure) | 適合率と再現率の調和平均 | 適合率と再現率のバランスを1つの数値で見る | 両方のバランスが必要なとき |
適合率と再現率はトレードオフの関係にあります。片方を上げようとすると、もう片方が下がりやすい。そのバランスを1つの数値で見るのがF値です。
正解率だけでは不十分な場面があります。工場の不良品検出(10,000個中3個が不良品)で「全部良品」と予測すれば正解率99.97%になりますが、不良品を1個も見つけられていません。このようなクラス不均衡の問題では、再現率やF値を使うのが適切です。
ROC曲線とAUC——閾値を動かしてモデルの実力を測る
ロジスティック回帰のようにモデルの出力が確率値のとき、「0.5以上なら正例」という閾値を変えると予測結果も変わります。この閾値を0から1まで動かしながら、縦軸に真陽性率(TPR=再現率)、横軸に偽陽性率(FPR)をプロットしたものがROC曲線です。
ROC曲線が左上に近いほどモデルの性能が高く、その曲線の下の面積がAUC(Area Under the Curve)です。AUCは1に近いほど高性能、0.5はランダム予測と同等(意味なし)を示します。
モデルの選択——シンプルさと精度のバランスを取る
訓練データに対する精度は高くても、テストデータに対しては精度が低い状態を過学習(オーバーフィッティング)といいます。モデルが訓練データのノイズまで学習してしまい、未知のデータに通用しなくなった状態です。
「必要以上に複雑な仮定を置くべきでない」という原則をオッカムの剃刀といいます。この「シンプルさと精度のバランス」を定量的に評価する指標が情報量基準です。AIC(赤池情報量基準)とBIC(ベイズ情報量基準)の2種類があり、どちらもパラメータ数が多すぎるとペナルティが加算されます。BICはデータ数が多いほどペナルティ項の影響が大きくなるのが特徴で、どちらを使うかの明確な線引きはありません。
第3章のまとめ
混乱しやすい概念を対比表で整理します。
| 比較 | A | B | 判断のポイント |
|---|---|---|---|
| 回帰 vs 分類 | 数値(連続値)を予測 | カテゴリ(離散値)を予測 | 答えが数値か、種類か |
| バギング vs ブースティング | 並列でモデルを作り多数決 | 逐次で誤りを重点学習 | 学習の順序が並列か直列か |
| 適合率 vs 再現率 | 予測の正確さ(誤判定を防ぐ) | 見逃しの少なさ(漏れを防ぐ) | 何を重視するかで使い分ける |
| ホールドアウト vs k-分割交差検証 | 1回だけ分割・シンプル | k回繰り返す・偏りを抑える | データ量が少ないならk-分割 |
| AIC vs BIC | パラメータ数にペナルティ | データ数が多いほど厳しく評価 | どちらを使うかの明確な基準はない |
第3章で理解しておくべきことを3行に絞るとこうなります。
- 機械学習は「教師あり・教師なし・強化学習」の3種類に分かれ、問題の構造に応じて使い分ける。教師あり学習はさらに「回帰か分類か」を確認してから手法を選ぶ。
- 教師なし学習はデータの構造をつかむ手法群(クラスタリング・次元削減・レコメンデーション・トピック分析)で、それぞれの用途の違いを区別できるようにしておく。
- モデルの性能は「未知データへの予測力」で測る。交差検証でデータを分割し、課題に合った評価指標(MSE・正解率・再現率・F値・AUC)を選ぶことが重要。過学習への対策とAIC/BICによるモデル選択の考え方も試験頻出。
🔑 試験対策キーワード
ここからは「葉」のフェーズです。
「葉」のフェーズの意味が「?」な方は、先に「森 → 木 → 枝 → 葉」の学習アプローチを確認してから戻ってきてください。
そうすることで、あなたが手戻りするタイムロスを防げます。
さて、話を戻します。
まず、Mainキーワードを10秒で説明できる状態にすることを目指してください。
キーワードの記憶定着にはAnkiなど、いつでも、どこでも使えるアプリの活用をおすすめします。
Subは問題を解いていて「迷った・止まった」語句だけ追加していきます。
「説明できる」=「選択肢で判断できる」状態です。
■ Main(説明の軸:10秒で言えるようにすること)
| キーワード | 10秒で言えるようにすること |
|---|---|
| 教師あり学習・教師なし学習・強化学習 | 入力と正解ラベルがあれば教師あり、正解なしでデータ構造をつかむのが教師なし、報酬を最大化する行動を学ぶのが強化学習。問題の構造で使い分ける。 |
| 回帰問題・分類問題 | 連続値(数値)を予測するのが回帰、カテゴリを予測するのが分類。用いる手法と評価方法が異なるので、まずどちらかを確認する。 |
| 線形回帰 | データに最もよく当てはまる直線を引いて数値を予測する、最もシンプルな回帰手法。 |
| ロジスティック回帰 | 名前に「回帰」とつくが分類問題に使う手法。シグモイド関数で出力を確率に変換する。 |
| 決定木・ランダムフォレスト | 「はい/いいえ」の分岐で分類する決定木を複数作り多数決するのがランダムフォレスト。アンサンブル学習(バギング)の代表。 |
| ブースティング・AdaBoost・XGBoost | 直前モデルが誤認識したデータを重点学習して逐次精度を上げる手法。勾配ブースティングを高速化したのがXGBoost。 |
| SVM・マージン最大化 | 異なるクラスのデータ点との距離(マージン)が最大になる境界線を求める分類手法。線形分類できない場合はカーネルトリックで対処。 |
| k-means法 | 重心を繰り返し計算しデータをk個のクラスタに分類する、教師なし学習のクラスタリング手法。kは自分で設定する。 |
| 主成分分析(PCA) | 特徴量間の相関をもとに次元削減する手法。多数の特徴量を少数の主成分に変換する。 |
| 協調フィルタリング・コールドスタート問題 | 類似ユーザーの行動を参照するレコメンド手法。参照できるデータが少ないと推薦できないのがコールドスタート問題。 |
| 強化学習(エージェント・環境・状態・行動・報酬) | エージェントが環境の状態を観測し、行動し、報酬を受け取るサイクルを繰り返して累積報酬を最大化する行動を学ぶ仕組み。 |
| 交差検証・過学習 | データを訓練用とテスト用に分けてモデルを評価すること。訓練データだけに最適化されすぎた状態が過学習(オーバーフィッティング)。 |
| 混同行列・正解率・適合率・再現率・F値 | 分類の予測結果をTP/FP/FN/TNで整理した表が混同行列。クラス不均衡には適合率・再現率・F値が有効。適合率と再現率はトレードオフの関係。 |
| ROC曲線・AUC | 閾値を変えながら真陽性率と偽陽性率をプロットした曲線がROC。その曲線下の面積がAUCで、1に近いほど性能が高い。 |
| AIC・BIC | パラメータ数にペナルティを課してモデルの複雑さと精度のバランスを評価する情報量基準。どちらを使うかの明確な線引きはない。 |
■ Sub(補助説明:問題で迷ったら追加する)
| キーワード | 一言で言えること |
|---|---|
| アンサンブル学習・バギング | 複数モデルを束ねる手法の総称。並列型がバギング(ランダムフォレスト)、逐次型がブースティング。 |
| カーネルトリック・カーネル関数 | SVMで直線分離できないデータを高次元に写像して線形分離できるようにするテクニック。 |
| 自己回帰モデル(ARモデル・VARモデル) | 時系列データを対象に、過去の値を重み付きで合算して現在を予測する回帰手法。複数種類ならVARモデル。 |
| ウォード法・デンドログラム | データを逐次統合して階層クラスタリングする手法。結果は樹形図(デンドログラム)で表現。 |
| トピックモデル・LDA | 文書を複数トピックの確率的な混合として表現するクラスタリング手法。LDA(潜在的ディリクレ配分法)が代表。 |
| ホールドアウト検証・k-分割交差検証 | 1回だけ分割するのがホールドアウト、k回繰り返すのがk-分割。後者のほうが評価の偏りを抑えやすい。 |
| MSE・RMSE・MAE | 回帰問題の評価指標。MSEは誤差を2乗して平均、RMSEはその平方根、MAEは絶対値の平均。 |
| 第一種過誤・第二種過誤 | 偽陽性(FP)が第一種過誤、偽陰性(FN)が第二種過誤という統計用語。 |
| オッカムの剃刀 | 「必要以上に複雑な仮定を置くべきでない」というモデル選択の原則。 |
■ Reference(見覚えがある程度でOK)
| キーワード |
|---|
| ブートストラップサンプリング |
| VARモデル(ベクトル自己回帰モデル) |
| t-SNE・MDS(多次元尺度構成法) |
| コンテンツベースフィルタリング |
| 特異値分解(SVD) |
| 勾配ブースティング |
引っかけ・誤解まとめ
第3章では、「用語の名前と用途のズレ」「指標の意味のすり替え」を狙った問題が多く出題されます。正しい知識を知るだけでなく、誤った選択肢を見抜く力が重要です。
【誤解】ロジスティック回帰は回帰問題に使う手法だ
理由:名前に「回帰」が入っているため
正解:分類問題に使う手法。出力を確率に変換してカテゴリを判定する
【誤解】正解率が高ければ良いモデルだ
理由:「正解」という言葉で直感的に正しく見えるため
正解:クラス不均衡(例:不良品が0.03%)では正解率が高くても意味がない。適合率・再現率・F値を使い分ける
【誤解】モデルの評価は訓練データで行えばよい
理由:手元にあるデータで確認するのが自然に思えるため
正解:訓練データでの評価は過学習を見抜けない。必ず未知のテストデータで評価する
【誤解】適合率と再現率は同じ意味だ
理由:どちらも「正しさ」を測る指標に見えるため
正解:適合率は「予測した中の正確さ」、再現率は「実際の正例をどれだけ取りこぼさないか」。2つはトレードオフの関係にある
【誤解】モデルは複雑にするほど良い
理由:複雑なほど表現力が高いと考えやすいため
正解:複雑すぎると過学習(オーバーフィッティング)になり、未知データに通用しなくなる
【誤解】k-meansは分類問題の手法だ
理由:データを「グループに分ける」という点が分類問題と混同されやすいため
正解:正解ラベルなしで構造を見つける教師なし学習のクラスタリング手法。教師あり学習の「分類」とは異なる
【誤解】教師あり・教師なし・強化学習には優劣がある
理由:精度が高そうな手法が「優れている」と見えやすいため
正解:優劣ではなく、問題の構造に応じて使い分けるもの。どれが最適かは問題次第
【誤解】AUCが高ければ必ず良いモデルだ
理由:AUCは1に近いほど良いという説明が単純化されて理解されやすいため
正解:AUCはモデルの「識別能力」を測る指標の一つ。問題の目的によっては再現率や適合率など別の指標を優先すべき場合がある
次のステップ
第3章で「機械学習の手法と評価方法」の全体像がつかめました。
第3章はPart 2として単独の章です。次はPart 2のまとめ記事で第3章の重要テーマを一枚の地図に整理してから、Part 3(第4章・第5章)へ進みます。
Part 3では、いよいよディープラーニングの内部構造に踏み込みます。ニューラルネットワークがどう学ぶのか、誤差をどうやって逆向きに伝えるのか——機械学習の「手法の名前を知っている」状態から「なぜ動くのかが分かる」状態への移行です。
