機械学習の全体像
「機械学習」とは何か、統計学とどう違うのか、どんな手法があるのか。 ディープラーニング以前の古典的機械学習を俯瞰します。専門家との議論で必ず出てくる用語が並びます。
この章の全体像
機械学習は「データから自動でルールを学ぶ」という大きな枠組み。 統計学とは別系譜から発展し、3つの学習タイプ(教師あり / 教師なし / 強化)に分かれ、 時代とともに多様な手法が生まれてきました。
動機の違い
統計学:「なぜこうなるかを理解したい」
機械学習:「何が起こるかを予測したい」
3つの学習タイプ
教師あり(正解ラベル付き)/ 教師なし(正解なし)/ 強化学習(報酬最大化)
多様な手法
線形回帰、決定木、ランダムフォレスト、SVM、k-means など。 特徴量は人間が設計するのが古典機械学習の特徴。
1. 統計学との違い
📚 歴史的背景:機械学習という言葉の起源(1959年)(クリックで展開)
機械学習は1950年代、AI研究の中から生まれました。 アーサー・サミュエルが1959年に「明示的にプログラムせずにコンピューターに学習させる研究」と定義したのが起点です。
統計学とよく混同されますが、出発点が違います:
| 観点 | 統計学 | 機械学習 |
|---|---|---|
| 出発点 | 数学 | コンピューターサイエンス |
| 主目的 | 構造の理解 | 予測の精度向上 |
| モデルの形 | 人間が設計 | アルゴリズムが選ぶこともある |
| サンプル数 | 数十〜数千でもOK | 多いほど良い、大量を前提 |
| 解釈性 | 重視 | 必須ではない |
| 代表的な問い | 「なぜ売上が落ちたか?」 | 「次の売上はいくらか?」 |
💡 ひと言で言うと: 統計学は「真実を知りたい」、機械学習は「正確に予測したい」。 動機が違うので、それぞれ得意分野・道具立てが違います。両者は対立ではなく 補完的。
2. 機械学習の3つの学習タイプ
機械学習は 学習の仕方 によって、大きく3つに分かれます。
正解ラベル付きのデータから「入力 → 答え」の関数を学ぶ。最も多く使われる。
- 画像 → 「猫」「犬」(分類)
- メール → スパム判定
- 物件情報 → 価格(回帰)
- 将棋の局面 → 評価値(NNUE)
正解のないデータから、構造やパターンを発見する。
- 顧客のセグメンテーション
- 異常検知(普段と違う動きの検出)
- 次元削減(PCA)
- データの自動グループ化
エージェントが環境と相互作用しながら、報酬を最大化する方策を学ぶ。
- ロボット制御
- ゲーム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)
最も古典的で基本的な手法。「入力と出力が直線関係にある」という仮定で、データに最もフィットする直線を引く。
重み $w_i$ は「残差の二乗和を最小にする」よう 最小二乗法 で決定。 統計学の重回帰分析と数学的には同じ。
得意:線形関係のあるデータ/苦手:非線形な関係
📊 ロジスティック回帰(Logistic Regression)
名前は「回帰」だが、実は 分類手法。線形回帰の出力を Sigmoid 関数に通して、0〜1の 確率 として解釈する。
出力が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本目の決定木を訓練
- 3本目以降も同様に、前までの誤差を補正する
XGBoost、LightGBM、CatBoost が現代の3大実装。 Kaggle(データ分析コンペ)の上位ソリューションでは、表データならほぼ常にこの3つのどれかが使われている。
得意:表データの精度競争で世界トップ/苦手:画像・音声・文章など構造のあるデータ
📝 手法詳細:SVM(Support Vector Machine)(クリックで展開)
📐 SVM(Support Vector Machine)
2つのクラスを分ける「境界面」を引くとき、境界から最も近いデータ点までの距離(マージン)が最大になるように引く手法。
「カーネルトリック」という技法で、非線形な境界も扱える。SVMは 2000年代までニューラルネットを上回って機械学習の主役だった時期がある。
得意:中規模データ、テキスト分類、生物学的データ/苦手:大規模データ(学習が遅い)
📝 手法詳細:ナイーブベイズ(Naive Bayes)(クリックで展開)
🎲 ナイーブベイズ(Naive Bayes)
ベイズ定理に基づく分類器。「特徴量が独立である」というナイーブ(素朴)な仮定を置くことで、計算が劇的に簡単になる。
独立仮定は実際には成り立たないことが多いが、なぜか実用上はそこそこ機能する。
得意:スパムフィルタの古典実装、文書分類/苦手:特徴量間に強い相関がある場合
📝 手法詳細:k-means(k-平均法)(クリックで展開)
🎯 k-means(k-平均法)
教師なし学習の代表。データを あらかじめ決めた k 個のクラスタに分割 する。
- k 個の中心点をランダムに配置
- 各データを最も近い中心点に振り分ける
- 各クラスタの平均位置を新しい中心点に
- 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 必須 |
| 得意な対象 | 表データ、解釈性が要る場面 | 画像、音声、自然言語、ゲーム |
| パラメータ数 | 数百〜数万 | 数百万〜数千億 |
使い分けの大方針:
- 表形式データ(売上、顧客情報、医療データ) → 勾配ブースティング(XGBoost等)
- 画像・音声・自然言語 → ディープラーニング
- 解釈性が法的に必要(医療、金融) → 線形回帰や決定木
- 少量データで急いで結果が欲しい → ランダムフォレストやSVM
- 大量データで最高精度を狙う → ディープラーニング
「どちらが優れている」ではなく、「適材適所」というのが正解です。 データサイエンティストは両方を 使い分ける のが普通です。
まとめ
- 機械学習はデータから自動でルールを学ぶ枠組み。統計学とは動機が違う(予測 vs 真実理解)
- 学習タイプは 教師あり / 教師なし / 強化 の3種
- 古典的機械学習には 10種類以上の手法があり、それぞれ得意分野が異なる
- 表データなら勾配ブースティング、画像・自然言語ならディープラーニング、と使い分ける
- 共通する弱点は 「特徴量を人間が設計しないといけない」こと。これをディープラーニングが解決した
次の章
ここまでの古典的機械学習に共通する弱点 — 「特徴量を人間が設計しないといけない」 — を打ち破ったのが ディープラーニング です。 次の章では、ディープラーニングが機械学習と決定的に何が違うのかを、歴史的経緯と一緒に見ていきます。