🤖 STEP 3: 機械学習の3つのタイプ
教師あり学習、教師なし学習、強化学習の違いを理解します
📋 このステップで学ぶこと
- 教師あり学習(ラベル付きデータから学習)
- 教師なし学習(ラベルなしデータからパターン発見)
- 強化学習(試行錯誤から最適行動を学習)※概要のみ
- 回帰と分類の違い
- 実務での活用例
練習問題: 5問
🎯 1. 機械学習の3つのタイプ:全体像
機械学習は、「どのように学習するか」によって大きく3つのタイプに分類されます。まずは全体像を把握しましょう。
🎓 身近な例えで理解する
3つのタイプの違いを、「勉強の仕方」に例えて考えてみましょう。
やり方:問題を解いて、答え合わせをする
特徴:「正解」が用意されている
例:数学のドリル(問題の後ろに解答がある)
同じように、機械学習でも「このメールはスパム」「この家は3000万円」という正解を見ながら学習します。
やり方:データを観察して、自分でパターンを見つける
特徴:「正解」がない。自分で発見する
例:昆虫採集で「似ている虫」をグループ分けする
機械学習でも、「このお客さんたちは似ている」「この取引は普通と違う」を自分で発見します。
やり方:何度もプレイして、うまくいく方法を見つける
特徴:成功したら報酬、失敗したらペナルティ
例:テトリスを何度もプレイして高得点を目指す
機械学習でも、「この行動は良い結果になった」「この行動は悪い結果になった」を繰り返して最適解を見つけます。
メイン:教師あり学習(回帰・分類)
実務で最もよく使われ、Scikit-learnで実装しやすい
サブ:教師なし学習(クラスタリング・次元削減・異常検知)
データ分析やパターン発見で活躍
概要のみ:強化学習
ゲームAIやロボットで使われるが、このコースでは実装しない
📊 2. 教師あり学習(Supervised Learning)
🔍 教師あり学習とは?
教師あり学習は、「正解(ラベル)が付いたデータ」を使って学習する方法です。
コンピュータに「問題」と「答え」のセットをたくさん見せて、パターンを学習させます。
学習が終わると、新しい問題に対しても答えを予測できるようになります。
📧 具体例:スパムメール判定
スパムメール判定を例に、教師あり学習の流れを見てみましょう。
📊 教師あり学習の2つのタイプ
教師あり学習は、予測する値の種類によって2つに分かれます。これは非常に重要な概念です。
| タイプ | 予測する値 | 具体例 |
|---|---|---|
| 回帰 | 連続的な数値 (1.5、100、3500など) |
住宅価格、気温、売上金額、株価 |
| 分類 | カテゴリー(ラベル) (A/B、Yes/No、猫/犬) |
スパム判定、病気診断、画像分類 |
📈 回帰(Regression)を詳しく
「連続的な数値を予測する」問題です。
予測結果が「3500万円」「25.3度」「1,234個」のような数字になります。
学習データ:
- 住宅価格の予測:物件情報から価格を予測
- 売上の予測:過去のデータから来月の売上を予測
- 気温の予測:気象データから明日の気温を予測
- 株価の予測:過去の株価データから将来を予測
- 年齢の推定:顔画像から年齢を推定
- 配送時間の予測:距離や交通状況から到着時間を予測
🏷️ 分類(Classification)を詳しく
「カテゴリー(グループ)に分ける」問題です。
予測結果が「スパム」「正常」「猫」「犬」「Aランク」「Bランク」のようなラベルになります。
学習データ:
- スパムメール判定:スパム / 正常 の2クラス分類
- 病気の診断:病気あり / 病気なし の2クラス分類
- 顧客の離脱予測:離脱する / 離脱しない の2クラス分類
- 手書き数字認識:0〜9 の10クラス分類
- 感情分析:ポジティブ / ネガティブ / ニュートラル の3クラス分類
- 製品の品質判定:良品 / 不良品 の2クラス分類
🤔 回帰と分類の見分け方
質問:予測結果は「数字」ですか?「カテゴリー」ですか?
- 数字なら → 回帰
例:「この家は3500万円」「明日は25.3度」 - カテゴリーなら → 分類
例:「このメールはスパム」「この画像は猫」
例1:「商品の評価(★1〜5)を予測する」
→ 回帰として扱うことも、5クラス分類として扱うこともできます。
実務では、連続的な値として捉えるなら回帰、明確に5段階に分けるなら分類を使います。
例2:「顧客の年収を予測する」
→ 具体的な金額(350万円)を予測するなら回帰
→ 「高所得」「中所得」「低所得」に分けるなら分類
📊 回帰と分類の比較表
| 項目 | 回帰 | 分類 |
|---|---|---|
| 予測する値 | 連続的な数値 (0.5、3.14、1000など) |
カテゴリー(ラベル) (犬、猫、A、Bなど) |
| 具体例 | ・住宅価格: 3500万円 ・気温: 25.3度 ・売上: 100万円 |
・スパム判定: スパム ・動物分類: 犬 ・合否判定: 合格 |
| 評価指標 | MSE、RMSE、MAE、R² (誤差の大きさを測る) |
Accuracy、Precision、Recall、F1 (正解率を測る) |
| 代表的な アルゴリズム |
・線形回帰 ・Ridge回帰 ・Lasso回帰 ・ランダムフォレスト回帰 |
・ロジスティック回帰 ・決定木 ・ランダムフォレスト ・SVM |
📋 教師あり学習のワークフロー
🔍 3. 教師なし学習(Unsupervised Learning)
🔍 教師なし学習とは?
教師なし学習は、「正解(ラベル)がないデータ」からパターンを見つける方法です。
「正解」を教えずに、コンピュータが自分で「似ているもの」をグループ分けしたり、「隠れたパターン」を発見したりします。
教師あり学習が「予測」を目的とするのに対し、教師なし学習は「発見」を目的とします。
🛍️ 具体例:顧客のグループ分け
📊 教師なし学習の3つの主要タイプ
① クラスタリング(Clustering)
「似ているデータを自動でグループ分け」する技術です。
人間が「このグループに分けて」と指示するのではなく、コンピュータが自分で「似ているもの」を見つけてグループ化します。
- 顧客セグメンテーション:似た購買行動の顧客をグループ化
- 文書の自動分類:似た内容の文書をまとめる
- 画像の自動整理:似た画像を自動でアルバム化
- 遺伝子データの分析:似た遺伝子パターンを発見
- ニュース記事のグループ化:同じトピックの記事をまとめる
② 次元削減(Dimensionality Reduction)
「たくさんの特徴量を、少ない特徴量にまとめる」技術です。
100個の特徴があるデータを、重要な2〜3個の特徴に圧縮します。これにより、データの可視化や計算の高速化ができます。
- データの可視化:高次元データを2〜3次元に圧縮してグラフ化
- 前処理:機械学習の前に特徴量を減らして計算を高速化
- ノイズ除去:重要でない情報を削除
- データ圧縮:ストレージの節約
③ 異常検知(Anomaly Detection)
「正常なパターンを学習して、そこから外れたものを見つける」技術です。
「何が異常か」の正解ラベルがなくても、「普通ではないもの」を自動で検出できます。
- クレジットカード不正検知:通常と異なる利用パターンを検出
- 機械の故障予知:センサーデータの異常を検出
- ネットワーク侵入検知:不審なアクセスパターンを検出
- 品質管理:製品の異常を検出
- 医療:異常な検査値を検出
📊 教師あり学習 vs 教師なし学習 比較
| 項目 | 教師あり学習 | 教師なし学習 |
|---|---|---|
| データ | 正解(ラベル)付き 「このメールはスパム」など |
正解(ラベル)なし データだけ |
| 目的 | 予測 (新しいデータの正解を当てる) |
発見 (隠れた構造やパターンを見つける) |
| 活用例 | ・スパムメール判定 ・住宅価格予測 ・病気診断 |
・顧客セグメンテーション ・異常検知 ・次元削減 |
| データ準備 | 大変 (ラベル付けが必要) |
比較的簡単 (ラベル不要) |
| 評価 | 明確 (正解率や誤差で評価) |
曖昧 (正解がないので評価が難しい) |
教師あり学習を選ぶ場合:
- 正解(ラベル)がある、または作れる
- 「新しいデータを予測したい」が目的
- 明確なゴールがある(スパム判定、価格予測など)
教師なし学習を選ぶ場合:
- 正解(ラベル)がない
- 「データにどんなパターンがあるか発見したい」が目的
- データを探索・理解したい段階
🎮 4. 強化学習(Reinforcement Learning)
強化学習は概要のみを紹介します。実装はこのコースでは扱いません。
「こういう学習方法もある」と知っておく程度でOKです。
🔍 強化学習とは?
「試行錯誤を通じて、報酬を最大化する行動を学習する」方法です。
「正解」を直接教えるのではなく、「良い行動には報酬、悪い行動にはペナルティ」を与えて、最適な行動を自分で見つけさせます。
🐕 例え話:犬のしつけ
教師あり学習:
「お座り」と言ったら座る動作を直接教える(正解を見せる)
強化学習:
犬が色々な行動を試す → 座ったらご褒美(おやつ)
→ 「座るとご褒美がもらえる」ことを自分で学習
→ 何度も繰り返すうちに、最適な行動を覚える
⚙️ 強化学習の仕組み
🏆 強化学習の成功事例
Googleが開発した囲碁AIが、世界チャンピオンの李世ドル氏に勝利しました。
何百万回もの自己対戦を繰り返し、「勝つ手」を自分で発見しました。人間のプロ棋士が見たことのない独創的な手を打ち、世界を驚かせました。
Atariのゲーム、Dota2、StarCraftなど、様々なゲームで人間を超える性能を達成しています。
何度もプレイを繰り返し、高得点を取る方法を自分で学習します。
ロボットが歩行したり、物をつかんだりする動作を学習します。
シミュレーション環境で何度も試行錯誤し、最適な動きを見つけます。
- ゲームAI:囲碁、チェス、ビデオゲーム
- ロボット制御:歩行、物体把持、組み立て
- 自動運転:最適な運転行動の学習
- 株取引の自動化:最適な売買タイミングの学習
- エネルギー管理:データセンターの冷却最適化
- 推薦システム:ユーザーの反応を見ながら推薦を改善
📝 STEP 3 のまとめ
- 機械学習は教師あり学習、教師なし学習、強化学習の3つに分類される
- 教師あり学習は正解付きデータで学習し、予測する(回帰・分類)
- 回帰は連続的な数値を予測、分類はカテゴリーを予測
- 教師なし学習は正解なしデータからパターンを発見する(クラスタリング、次元削減、異常検知)
- 強化学習は試行錯誤で最適行動を学習(このコースでは概要のみ)
このコースでは、教師あり学習(回帰・分類)と教師なし学習を中心に学びます。
実務では、この2つを使いこなせれば、多くの問題を解決できます。まずはこの2つをしっかりマスターしましょう。
STEP 4では、「機械学習プロジェクトのワークフロー」を学びます。
問題定義からデプロイまで、実際にどのような流れで機械学習プロジェクトを進めていくのかを理解しましょう。
📝 練習問題
教師あり学習と教師なし学習
次のうち、教師あり学習の例はどれですか?
- A. 顧客を似た特徴でグループ分けする
- B. 過去の売上データから、来月の売上を予測する
- C. 100個の特徴量を2個に圧縮する
- D. 正常な取引パターンを学習して、異常な取引を検知する
なぜBが正解なのか?
「過去の売上データから来月の売上を予測する」は、教師あり学習(回帰)の典型的な例です。
過去の売上データには「実際の売上額」という正解(ラベル)が含まれています。この正解データを使って学習し、新しい月の売上を予測します。
他の選択肢が間違いの理由:
A(顧客のグループ分け)が間違いの理由:
「どのグループに分けるべきか」という正解ラベルがない状態で、似た顧客を自動でグループ分けします。これは教師なし学習(クラスタリング)です。
C(特徴量の圧縮)が間違いの理由:
100個の特徴量を2個に圧縮するのは、教師なし学習(次元削減)です。正解ラベルは使いません。
D(異常検知)が間違いの理由:
正常なパターンを学習して異常を見つけるのは、教師なし学習(異常検知)です。「どれが異常か」という正解ラベルなしで、「普通と違うもの」を見つけます。
見分けるポイント:
「正解(ラベル)があるか?」がポイントです。正解付きデータで学習→教師あり学習、正解なしで学習→教師なし学習です。
回帰と分類の違い
次のうち、分類の問題はどれですか?
- A. 住宅の価格を予測する
- B. メールがスパムかどうかを判定する
- C. 明日の気温を予測する
- D. 商品の売上数を予測する
なぜBが正解なのか?
「メールがスパムかどうかを判定する」は、分類の問題です。
予測結果が「スパム」または「正常」というカテゴリー(ラベル)になります。数値ではなく、2つのグループのどちらに属するかを判定するので、分類問題です。
他の選択肢が間違いの理由:
A(住宅価格の予測)が間違いの理由:
予測結果が「3500万円」「4200万円」のような連続的な数値になります。これは回帰です。
C(気温の予測)が間違いの理由:
予測結果が「25.3度」「18.7度」のような連続的な数値になります。これは回帰です。
D(売上数の予測)が間違いの理由:
予測結果が「1,234個」「5,678個」のような連続的な数値になります。これは回帰です。
見分けるポイント:
予測結果が「数字」なら回帰、「カテゴリー(ラベル)」なら分類です。
「この家は3500万円」→ 数字 → 回帰
「このメールはスパム」→ カテゴリー → 分類
適切な学習方法の選択
ECサイトを運営しています。顧客を「高頻度購入者」「低頻度購入者」「休眠顧客」などのグループに自動で分けたいです。
ただし、どのグループに分けるべきかの正解データはありません。
この場合、どの学習方法を使うべきですか?
- A. 教師あり学習(回帰)
- B. 教師あり学習(分類)
- C. 教師なし学習(クラスタリング)
- D. 強化学習
なぜCが正解なのか?
問題文に「どのグループに分けるべきかの正解データがない」と書かれています。正解ラベルがない状態で、似た顧客を自動でグループ分けしたい場合は、教師なし学習のクラスタリングを使います。
クラスタリングの特徴:
- 正解ラベルがなくても使える
- 似たデータを自動でグループ化する
- 顧客セグメンテーションの典型的な手法
他の選択肢が間違いの理由:
A(回帰)が間違いの理由:
回帰は「連続的な数値を予測する」問題です。グループ分けには使えません。また、正解データがないため教師あり学習自体が使えません。
B(分類)が間違いの理由:
分類は「正解ラベル付きのデータ」が必要です。「この顧客は高頻度購入者」「この顧客は休眠顧客」という正解がない今回のケースでは使えません。
D(強化学習)が間違いの理由:
強化学習は「試行錯誤で最適な行動を学習」する方法です。顧客のグループ分けとは目的が異なります。
実務でのポイント:
「正解ラベルがあるか」が学習方法選択の最重要ポイントです。正解ラベルがあれば教師あり学習、なければ教師なし学習を検討しましょう。
実務での問題分類
次のビジネス課題を、適切な機械学習のタイプに分類してください。
「銀行のシステムで、通常とは異なる不審な取引を自動検知したい。ただし、どれが不正取引かの明確なラベルはない。」
- A. 教師あり学習(回帰)
- B. 教師あり学習(分類)
- C. 教師なし学習(異常検知)
- D. この問題は機械学習では解けない
なぜCが正解なのか?
問題文に「どれが不正取引かの明確なラベルはない」と書かれています。
このような場合、教師なし学習の異常検知を使います。異常検知は、正常なパターンを学習し、そこから外れた「普通ではない」取引を検出します。
異常検知のアプローチ:
- 大量の「正常な取引」のパターンを学習
- 新しい取引が「正常なパターン」から大きく外れていないかチェック
- 外れていれば「異常」としてアラートを発生
他の選択肢について:
B(分類)について補足:
もし「この取引は不正」「この取引は正常」という正解ラベルが大量にあれば、教師あり学習の分類も使えます。しかし、今回は「ラベルがない」という条件なので、異常検知が適切です。
D(解けない)について:
正解ラベルがなくても、教師なし学習で解決できます。機械学習は正解ラベルがない問題にも対応できます。
実務でのポイント:
実際の不正検知システムでは、異常検知と分類を組み合わせることが多いです。最初は異常検知で怪しい取引を発見し、人間が確認してラベルを付けて、そのラベル付きデータで分類モデルを作る、という流れです。
回帰か分類かの判断
あなたは不動産会社で働いています。以下の2つの課題があります。それぞれ、回帰と分類のどちらを使うべきか答えてください。
課題1:物件の情報(面積、築年数、駅からの距離など)から、売却価格を予測したい
課題2:物件の情報から、「3ヶ月以内に売れる」「3ヶ月以内に売れない」を予測したい
- A. 課題1:回帰、課題2:回帰
- B. 課題1:回帰、課題2:分類
- C. 課題1:分類、課題2:回帰
- D. 課題1:分類、課題2:分類
課題1が回帰の理由:
「売却価格」を予測するので、予測結果は「3500万円」「4200万円」のような連続的な数値になります。
- 予測したい値:価格(数値)
- 出力例:3500万円、4200万円、5100万円…
- 使えるアルゴリズム:線形回帰、ランダムフォレスト回帰など
課題2が分類の理由:
「3ヶ月以内に売れる」か「売れない」かを予測するので、予測結果は2つのカテゴリーのどちらかになります。
- 予測したい値:カテゴリー(売れる/売れない)
- 出力例:「売れる(確率85%)」「売れない(確率70%)」
- 使えるアルゴリズム:ロジスティック回帰、決定木、ランダムフォレストなど
重要なポイント:
同じ「不動産データ」でも、「何を予測したいか」によって回帰と分類を使い分けます。
- 「いくらで売れるか」(数値)を知りたい → 回帰
- 「売れるか売れないか」(カテゴリー)を知りたい → 分類
実務でのヒント:
実際のビジネスでは、両方のモデルを作ることもあります。「価格」を予測するモデルと「売れるかどうか」を予測するモデルの両方があれば、より多角的な分析ができます。
学習メモ
機械学習入門 - Step 3