教師あり学習:分類問題
あなたがメールを開くたびに、コンピュータは瞬時に「これは迷惑メールか、普通のメールか」を判断しています。病院では、医師がX線画像を見て「これは正常か、異常か」を診断します。これらはすべて 分類問題 と呼ばれるタイプの問題です。この記事では、機械学習の中でも最も基本的で重要な 教師あり学習の分類問題 について、具体的な手法とその応用を詳しく解説します。
教師あり学習とは?
教師あり学習とは、「正解」が分かっているデータを使って、コンピュータに予測方法を教える学習方式 です。まるで先生が生徒に問題と答えを示して教えるように、機械にもデータと正解のペアを大量に見せて学習させます。
たとえば、迷惑メール判定システムを作る場合:
- 学習データ:「お金を今すぐ送金してください」→ 迷惑メール
- 学習データ:「明日の会議の件でご連絡します」→ 普通のメール
- 学習データ:「無料でプレゼントを差し上げます」→ 迷惑メール
このように「メール内容」と「正解ラベル」のペアを何万件も見せることで、コンピュータは「どういう特徴があると迷惑メールなのか」を学習します。
要するに、「答えを教えながら学習させる」方法です。
分類問題の基本概念
分類問題とは、与えられたデータがどのカテゴリ(クラス)に属するかを予測する問題 です。
■分類問題の例
医療診断:
- 入力:症状、検査結果
- 出力:「正常」「異常」
画像認識:
- 入力:写真
- 出力:「犬」「猫」「鳥」
感情分析:
- 入力:「この映画は最高だった!」
- 出力:「ポジティブ」「ネガティブ」「中立」
信用審査:
- 入力:年収、勤続年数、借入歴
- 出力:「承認」「拒否」
■二分類と多クラス分類
二分類(バイナリ分類): 2つのクラスのうちどちらかを選ぶ問題です。
例:
- 迷惑メール判定:「迷惑メール」か「普通のメール」か
- 医療診断:「正常」か「異常」か
- 商品レビュー:「ポジティブ」か「ネガティブ」か
多クラス分類: 3つ以上のクラスの中から1つを選ぶ問題です。
例:
- 画像認識:「犬」「猫」「鳥」「魚」「馬」...
- 文書分類:「スポーツ」「政治」「経済」「芸能」...
- 音声認識:「あ」「い」「う」「え」「お」...
代表的な分類アルゴリズム
■1. ロジスティック回帰
ロジスティック回帰 は、分類問題のための最も基本的な手法の一つです。「回帰」という名前ですが、実際は分類問題を解くアルゴリズムです。
基本的な考え方: データの特徴から、そのデータが特定のクラスに属する 確率 を計算します。
たとえば、メール分類の場合:
- 「無料」という単語が含まれている → 迷惑メール確率+30%
- 「会議」という単語が含まれている → 迷惑メール確率-20%
- 送信者が知り合い → 迷惑メール確率-40%
- 最終的に確率が50%以上なら「迷惑メール」、50%未満なら「普通のメール」
長所:
- 理解しやすく、解釈が容易
- 計算が高速
- 確率として結果が出るため、「確信度」が分かる
短所:
- 複雑な関係性を捉えるのが困難
- 特徴量の準備が重要
■2. サポートベクターマシン(SVM)
SVM は、異なるクラスのデータを 最も適切に分離する境界線 を見つけるアルゴリズムです。
基本的な考え方: 2つのクラスのデータを分ける「境界線」を引く時、どちらのクラスからも 最も遠い位置 に境界線を引きます。これにより、新しいデータが来ても正確に分類できます。
たとえば、身長と体重で性別を分類する場合:
- 男性のデータと女性のデータの間に境界線を引く
- この境界線から最も近い男性データと女性データとの距離が最大になるように調整
- 新しい人の身長・体重が分かれば、境界線のどちら側かで性別を予測
カーネル という技術を使うことで、直線では分離できない複雑なデータも扱えます。
長所:
- 高い精度を実現できる
- 少ないデータでも効果的
- 理論的に優れている
短所:
- 大量データの処理が苦手
- パラメータ調整が複雑
- 結果の解釈が困難
■3. 決定木
決定木 は、人間の判断プロセスに最も近い、直感的に理解しやすいアルゴリズムです。
基本的な考え方: 「もしも○○なら」という条件を階層的に組み合わせて、最終的な判断に至ります。
たとえば、ローン審査の決定木:
年収 >= 400万円?
├─ Yes → 勤続年数 >= 3年?
│ ├─ Yes → 承認
│ └─ No → 年齢 >= 30歳?
│ ├─ Yes → 承認
│ └─ No → 拒否
└─ No → 拒否
長所:
- 理解しやすく、説明しやすい
- 数値データもカテゴリデータも扱える
- 特徴量の前処理がほとんど不要
短所:
- 過学習しやすい(学習データに過度に適合)
- 不安定(データが少し変わると結果が大きく変わる)
- 複雑な関係性を表現するのが困難
実際の応用例
■スパムメール検出
問題設定:
- 入力:メールの内容、送信者情報、件名など
- 出力:「スパム」または「正常」
特徴量の例:
- 「無料」「お金」「緊急」などの単語の出現回数
- メール本文の長さ
- 送信者が連絡先に登録されているか
- 添付ファイルの有無
- HTML形式かテキスト形式か
使用されるアルゴリズム: 主にロジスティック回帰やSVMが使用されます。Googleの Gmail では、何億通ものメールデータから学習した高精度なスパムフィルターが動作しています。
■医療画像診断
問題設定:
- 入力:X線画像、CT画像、MRI画像
- 出力:「正常」「異常」または具体的な病名
特徴量の例:
- 画像の明度、コントラスト
- 特定の形状やパターンの有無
- 過去の画像との比較
- 患者の年齢、性別、病歴
実際の成果:
- 皮膚がん検出:皮膚科医レベルの精度を実現
- 糖尿病性網膜症:眼科医による見落としを大幅に削減
- 新型コロナ肺炎:CT画像から感染の可能性を迅速に判定
■製造業の品質管理
問題設定:
- 入力:製品の画像、センサーデータ
- 出力:「良品」「不良品」
特徴量の例:
- 製品表面の傷、汚れ
- 寸法の測定値
- 重量、温度などのセンサーデータ
- 製造工程のパラメータ
導入効果:
- 検査時間の短縮:人間の検査員の10倍の速度
- 検査精度の向上:人間では発見困難な微細な欠陥も検出
- 24時間稼働:疲労による見落としがない
■金融与信審査
問題設定:
- 入力:申込者の属性情報、信用情報
- 出力:「承認」「拒否」
特徴量の例:
- 年収、勤続年数、職業
- 過去の借入・返済履歴
- 他社からの借入状況
- 年齢、家族構成
- 資産状況
注意点: 公平性と透明性が重要で、性別、人種、宗教などによる差別は法的に禁止されています。また、なぜその判断をしたかの説明責任も求められます。
評価指標と精度測定
分類問題では、モデルの性能を適切に評価することが重要です。
■混同行列(Confusion Matrix)
混同行列 は、予測結果と実際の正解を整理した表です。二分類の場合:
実際
正 負
予測 正 TP FP
負 FN TN
- TP(True Positive):正しく「正」と予測
- TN(True Negative):正しく「負」と予測
- FP(False Positive):間違って「正」と予測
- FN(False Negative):間違って「負」と予測
■基本的な評価指標
正解率(Accuracy): 全体のうち、正しく予測できた割合
正解率 = (TP + TN) / (TP + TN + FP + FN)
適合率(Precision): 「正」と予測したもののうち、実際に「正」だった割合
適合率 = TP / (TP + FP)
再現率(Recall): 実際に「正」のもののうち、正しく「正」と予測できた割合
再現率 = TP / (TP + FN)
F値(F-measure): 適合率と再現率の調和平均
F値 = 2 × (適合率 × 再現率) / (適合率 + 再現率)
■評価指標の使い分け
医療診断:
- 再現率重視:病気を見逃す(FN)のは危険
- 「疑わしいものは全て検査」という方針
スパムメール検出:
- 適合率重視:重要なメールを迷惑メール(FP)にするのは問題
- 「迷惑メールを少し見逃しても、重要メールは確実に届ける」
品質管理:
- F値でバランス:不良品の流出も、良品の廃棄も問題
まとめ
教師あり学習の分類問題は、機械学習の最も基本的で実用的な応用の一つです。正解が分かっているデータから学習し、新しいデータに対して適切な分類を行うことで、様々な実世界の問題を解決できます。
分類問題の本質:
- 正解ラベル付きデータから学習
- 新しいデータのカテゴリを予測
- 確率的な判断によって分類
主要なアルゴリズム:
- ロジスティック回帰:シンプルで解釈しやすい
- SVM:高精度で理論的に優れている
- 決定木:直感的で説明しやすい
応用分野:
- メール分類、医療診断、品質管理、与信審査など
評価の重要性:
- 正解率、適合率、再現率、F値で性能を測定
- 問題の性質に応じて適切な指標を選択
要するに、分類問題は「過去の経験から学んで、新しい状況で適切な判断を下す」という、人間の学習プロセスをコンピュータで再現した技術なのです。
次回は、同じ教師あり学習でも 回帰問題 とより高度な アンサンブル学習 について、具体的な手法とその応用を詳しく解説していきます。