第1章

機械学習の全体像

「機械学習」とは何か、統計学とどう違うのか、どんな手法があるのか。 ディープラーニング以前の古典的機械学習を俯瞰します。専門家との議論で必ず出てくる用語が並びます。

この章の全体像

機械学習は「データから自動でルールを学ぶ」という大きな枠組み。 統計学とは別系譜から発展し、3つの学習タイプ(教師あり / 教師なし / 強化)に分かれ、 時代とともに多様な手法が生まれてきました。

1

動機の違い

統計学:「なぜこうなるかを理解したい」
機械学習:「何が起こるかを予測したい」

↓
2

3つの学習タイプ

教師あり(正解ラベル付き)/ 教師なし(正解なし)/ 強化学習(報酬最大化)

↓
3

多様な手法

線形回帰、決定木、ランダムフォレスト、SVM、k-means など。 特徴量は人間が設計するのが古典機械学習の特徴。

1. 統計学との違い

📚 歴史的背景:機械学習という言葉の起源(1959年)(クリックで展開)

機械学習は1950年代、AI研究の中から生まれました。 アーサー・サミュエルが1959年に「明示的にプログラムせずにコンピューターに学習させる研究」と定義したのが起点です。

統計学とよく混同されますが、出発点が違います:

観点 統計学 機械学習
出発点 数学 コンピューターサイエンス
主目的 構造の理解 予測の精度向上
モデルの形 人間が設計 アルゴリズムが選ぶこともある
サンプル数 数十〜数千でもOK 多いほど良い、大量を前提
解釈性 重視 必須ではない
代表的な問い 「なぜ売上が落ちたか?」 「次の売上はいくらか?」

💡 ひと言で言うと: 統計学は「真実を知りたい」、機械学習は「正確に予測したい」。 動機が違うので、それぞれ得意分野・道具立てが違います。両者は対立ではなく 補完的。

2. 機械学習の3つの学習タイプ

機械学習は 学習の仕方 によって、大きく3つに分かれます。

🎯
教師あり学習
Supervised Learning

正解ラベル付きのデータから「入力 → 答え」の関数を学ぶ。最も多く使われる。

データ: $\{(x_1, t_1), (x_2, t_2), \ldots, (x_N, t_N)\}$
例:
  • 画像 → 「猫」「犬」(分類)
  • メール → スパム判定
  • 物件情報 → 価格(回帰)
  • 将棋の局面 → 評価値(NNUE)
🔍
教師なし学習
Unsupervised Learning

正解のないデータから、構造やパターンを発見する。

データ: $\{x_1, x_2, \ldots, x_N\}$(ラベルなし)
例:
  • 顧客のセグメンテーション
  • 異常検知(普段と違う動きの検出)
  • 次元削減(PCA)
  • データの自動グループ化
🎮
強化学習
Reinforcement Learning

エージェントが環境と相互作用しながら、報酬を最大化する方策を学ぶ。

状態 → 行動 → 報酬 のループ
例:
  • ロボット制御
  • ゲームAI(AlphaGo, AlphaZero)
  • 自動運転
  • 広告配信の最適化

💡 注意:「教師あり / 教師なし / 強化」は データの与え方 の話。 これとは別に 「古典機械学習 / ディープラーニング」 という モデルの中身の軸 があります。 両者は 独立した直交軸 なので、たとえば「教師あり × DL」「強化 × DL」のように組み合わせ自在です。 詳しくは 第2章 章末補足「よくある誤解」 で。

3. 古典的機械学習の主要手法

ディープラーニング以前から使われている、定番の手法たち。 表データの分析や、解釈性が必要な場面では今も主役です。Kaggle(データ分析コンペ)でも、表データではディープラーニングより XGBoost などの勾配ブースティングが勝つことが多い。

3.1 一覧表

手法 概要 主用途 タイプ
線形回帰 $y = wx + b$ の最小二乗フィット 数値予測(回帰) 教師あり
ロジスティック回帰 線形 + Sigmoid で2値分類 分類 教師あり
k近傍法(kNN) 最も近い k 個の多数決 分類・回帰 教師あり
決定木 if-else のツリー構造 解釈性重視の分類 教師あり
ランダムフォレスト 決定木の多数決 表データの定番 教師あり
勾配ブースティング
XGBoost / LightGBM
決定木を逐次的に積み重ね Kaggleで常勝 教師あり
SVM
サポートベクターマシン
マージン最大化で境界面 中規模分類 教師あり
ナイーブベイズ ベイズ定理 + 独立性仮定 テキスト分類 教師あり
k-means k 個のクラスタに分割 顧客セグメント、自動分類 教師なし
PCA
主成分分析
分散最大の方向に次元削減 可視化、前処理 教師なし

3.2 各手法の中身(カード解説)

それぞれの手法を、もう少し詳しく見ていきましょう。

📈 線形回帰(Linear Regression)

最も古典的で基本的な手法。「入力と出力が直線関係にある」という仮定で、データに最もフィットする直線を引く。

$\hat{y} = w_1 x_1 + w_2 x_2 + \cdots + w_n x_n + b$

重み $w_i$ は「残差の二乗和を最小にする」よう 最小二乗法 で決定。 統計学の重回帰分析と数学的には同じ。

得意:線形関係のあるデータ/苦手:非線形な関係

📺 動画でさらに詳しく

YouTubeで開く ↗

📊 ロジスティック回帰(Logistic Regression)

名前は「回帰」だが、実は 分類手法。線形回帰の出力を Sigmoid 関数に通して、0〜1の 確率 として解釈する。

$P(y=1 \mid x) = \sigma(w \cdot x + b) = \dfrac{1}{1 + e^{-(w \cdot x + b)}}$

出力が0.5以上なら「クラス1」、未満なら「クラス0」と判定する。 ニューラルネットワークの最も簡単な形は、ロジスティック回帰そのもの。

得意:医療診断、与信審査などの確率付き分類

📝 手法詳細:k近傍法(kNN)(クリックで展開)

👥 k近傍法(k-Nearest Neighbors, kNN)

未知のデータが来たら、訓練データの中から 距離が近い順に k 個を取り出して、その多数決で分類。

例:k=5 で、新しい点の近くに「猫4、犬1」があったら → 「猫」と判定。

学習らしい学習がないのが特徴。データを保存しておくだけで、予測時に距離計算する。

得意:シンプルさ/苦手:データが大量だと予測が遅い、次元の呪い

📝 手法詳細:決定木(Decision Tree)(クリックで展開)

🌲 決定木(Decision Tree)

if-else のツリー構造でデータを分割していく手法。

if 年齢 > 30:
    if 年収 > 500万:
        ローン承認
    else:
        審査
else:
    ローン否決

解釈性が極めて高いのが最大の利点。「なぜこの判定になったか」が一目で分かる。

得意:説明責任が必要な業務(医療、金融、採用)/苦手:単独だと精度が低い、過学習しやすい

🌳🌳🌳 ランダムフォレスト(Random Forest)

「決定木1本では弱いから、たくさんの決定木の多数決にしよう」という発想。

各決定木は、訓練データから ランダムに選んだサブセット + ランダムな特徴量 で訓練される(だから「ランダム」フォレスト)。 これにより、各木が違う「視点」を持ち、多数決で頑健性が向上する。

得意:表形式データ全般、特徴量の重要度を出せる、過学習しにくい

使われ方:実務の 表データ分析の最初の選択肢 によくなる

🚀 勾配ブースティング(Gradient Boosting)— XGBoost / LightGBM

ランダムフォレストが「並列に多数の決定木」なのに対し、勾配ブースティングは「逐次的に」決定木を積み重ねる。

  1. 1本目の決定木を訓練
  2. 1本目の予測誤差を新たな目的変数として、2本目の決定木を訓練
  3. 3本目以降も同様に、前までの誤差を補正する

XGBoost、LightGBM、CatBoost が現代の3大実装。 Kaggle(データ分析コンペ)の上位ソリューションでは、表データならほぼ常にこの3つのどれかが使われている。

得意:表データの精度競争で世界トップ/苦手:画像・音声・文章など構造のあるデータ

📝 手法詳細:SVM(Support Vector Machine)(クリックで展開)

📐 SVM(Support Vector Machine)

2つのクラスを分ける「境界面」を引くとき、境界から最も近いデータ点までの距離(マージン)が最大になるように引く手法。

「カーネルトリック」という技法で、非線形な境界も扱える。SVMは 2000年代までニューラルネットを上回って機械学習の主役だった時期がある。

得意:中規模データ、テキスト分類、生物学的データ/苦手:大規模データ(学習が遅い)

📝 手法詳細:ナイーブベイズ(Naive Bayes)(クリックで展開)

🎲 ナイーブベイズ(Naive Bayes)

ベイズ定理に基づく分類器。「特徴量が独立である」というナイーブ(素朴)な仮定を置くことで、計算が劇的に簡単になる。

$P(C \mid x_1, \ldots, x_n) \propto P(C) \prod_{i=1}^{n} P(x_i \mid C)$

独立仮定は実際には成り立たないことが多いが、なぜか実用上はそこそこ機能する。

得意:スパムフィルタの古典実装、文書分類/苦手:特徴量間に強い相関がある場合

📝 手法詳細:k-means(k-平均法)(クリックで展開)

🎯 k-means(k-平均法)

教師なし学習の代表。データを あらかじめ決めた k 個のクラスタに分割 する。

  1. k 個の中心点をランダムに配置
  2. 各データを最も近い中心点に振り分ける
  3. 各クラスタの平均位置を新しい中心点に
  4. 2〜3 を繰り返して、中心点が動かなくなるまで継続

顧客のセグメンテーション、画像の色数削減、商品のグルーピングなどに使われる。

得意:シンプル、計算が速い/苦手:k を事前に決める必要、形状の偏ったクラスタは苦手

📝 手法詳細:PCA(主成分分析)(クリックで展開)

📉 PCA(主成分分析、Principal Component Analysis)

次元削減 の代表的手法。100次元のデータを、情報をできるだけ失わずに2〜3次元に圧縮する。

数学的には「データの分散が最大の方向」を順に取り出していく。第1主成分、第2主成分、… として。

可視化(2Dグラフでデータを見たい)、ノイズ除去、機械学習の前処理として使われる。

得意:線形な構造を持つデータ/苦手:非線形構造(その場合は t-SNE や UMAP を使う)

4. 古典機械学習 vs ディープラーニング

ここまで紹介した手法を、ディープラーニングと比較してみましょう。

観点 古典的機械学習 ディープラーニング
特徴量設計 人間が設計(feature engineering) 自動学習(end-to-end)
モデルの深さ 浅い(数層〜なし) 深い(数十〜数百層)
解釈性 そこそこ高い 低い(ブラックボックス)
必要データ量 中規模(数千〜数百万) 大規模必須(数百万〜)
計算資源 CPU で十分 GPU 必須
得意な対象 表データ、解釈性が要る場面 画像、音声、自然言語、ゲーム
パラメータ数 数百〜数万 数百万〜数千億

使い分けの大方針:

「どちらが優れている」ではなく、「適材適所」というのが正解です。 データサイエンティストは両方を 使い分ける のが普通です。

まとめ

  1. 機械学習はデータから自動でルールを学ぶ枠組み。統計学とは動機が違う(予測 vs 真実理解)
  2. 学習タイプは 教師あり / 教師なし / 強化 の3種
  3. 古典的機械学習には 10種類以上の手法があり、それぞれ得意分野が異なる
  4. 表データなら勾配ブースティング、画像・自然言語ならディープラーニング、と使い分ける
  5. 共通する弱点は 「特徴量を人間が設計しないといけない」こと。これをディープラーニングが解決した

次の章

ここまでの古典的機械学習に共通する弱点 — 「特徴量を人間が設計しないといけない」 — を打ち破ったのが ディープラーニング です。 次の章では、ディープラーニングが機械学習と決定的に何が違うのかを、歴史的経緯と一緒に見ていきます。

→ 第2章「ディープラーニングは機械学習と何が違うのか」へ進む