第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本目以降も同様に、前までの誤差を補正する

XGBoostLightGBMCatBoost が現代の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章「ディープラーニングは機械学習と何が違うのか」へ進む