Velvet Theory AIとデータの話を、やわらかく、筋道立てて。

機械学習の全体地図(1)全体像と「学び方」

機械学習を「学び方・タスク・モデル・手順」の4つの軸で整理する連載の第1回。やりたいことからの探し方、最初に押さえる言葉、課題に合う手法がわかる手法ナビ、教師あり・教師なし・強化学習などの学び方の違いと用語集をまとめます。

連載 機械学習の全体地図 第1回/全8回
  1. 第1回全体像と「学び方」
  2. 第2回タスクとモデル
  3. 第3回作って確かめる手順
  4. 第4回評価指標と落とし穴
  5. 第5回深層学習とLLM
  6. 第6回運用と責任あるAI
  7. 第7回Pythonで書く
  8. 第8回通しチュートリアル:解約予測

機械学習は「データから規則やパターンを自動で見つけ、予測や判断に使う技術」です。やりたいことが決まっているなら下の入口から、基礎から学びたいなら「全体の地図」から読み進めてください。

やりたいことから探す

数値を予測したい売上、需要、価格、所要時間など

回帰モデルの選び方コード例評価指標

当てはまるかを判定したい解約するか、不正か、迷惑メールかなど

分類通しチュートリアル偏ったデータ閾値を動かす

似たものをグループに分けたい顧客のタイプ分け、文書の話題分けなど

クラスタリングk-meansを動かすコード例

おかしなデータを見つけたい不正利用、設備の故障の予兆など

異常検知モデルの選び方コード例

おすすめ順に並べたい商品の推薦、検索結果の並び順など

ランキングモデルの選び方

文章や画像を扱いたい文書の分類、画像の判定など

学習済みモデルを使うモデルの選び方深層学習

LLMを業務に使いたい社内文書の質問応答、要約など

3つの選択肢LLMの限界責任あるAI

予測の理由を説明したい与信の判断根拠、顧客への説明など

説明可能性コード例モデルの選び方

作ったモデルを使い続けたい本番への導入、精度の監視など

運用(MLOps)保存と予測変化の検知

うまくいかなくて困っている精度が出ない、データが少ないなど

困ったとき

基礎から順に学びたい全体像から順に読み進める

最初の言葉から読む① 学び方手順の全体像用語集

全体の地図:4つの軸

手法の名前を暗記する前に、次の4つの軸で分けて考えると、どんな手法も地図のどこかに位置づけられます。

①〜③は、手法を見る別々の観点です。1つの手法は、この3つの組み合わせで表せます。たとえば「勾配ブースティング」(決定木を組み合わせたモデル。③で説明)は③モデルの名前で、①教師ありの②回帰にも分類にも使えます。④はどの手法にも共通する作り方です。

例:迷惑メール判定 = ①教師あり × ②二値分類 × ③ロジスティック回帰など

「動かしてみる」の図は、スライダーやボタンで操作できます。各章の最後には理解度チェックがあります。

最初に押さえる言葉

例として「携帯電話の顧客が解約するかを予測する」場合で説明します。

特徴量
予測の手がかりにする項目。例:契約月数、月額料金、問い合わせ回数
正解(ラベル)
当てたい答え。例:その顧客が解約したかどうか
モデル
特徴量から答えを出す計算の仕組み
学習
過去のデータを使い、モデルの中の数値(パラメータ)を、答えが当たるように調整すること
予測(推論)
学習したモデルで、まだ答えのわからない新しい顧客の答えを出すこと
学習用・検証用・テスト用データ
手元のデータを3つに分けて使う。学習用でモデルを作り、検証用で設定の良し悪しを比べ、テスト用で最後に1回だけ実力を確かめる
クラス
分類で答えになるカテゴリのこと。例:「解約する」「解約しない」の2クラス
陽性・陰性
分類で、見つけたい側(解約する)が陽性、そうでない側(解約しない)が陰性
ベースライン
比べる基準にする単純な方法。例:全員「解約しない」と予測する。これを超えられないモデルは役に立たない
精度
このページでは「予測の良さ」全般を指す。指標としての Accuracy は「正解率」と呼んで区別する

そのほかの言葉は用語集にまとめています。

① 学び方:何を手がかりに学ぶか

学習に使える「手がかり(教師信号)」の種類で5つに分かれます。色はこのページ全体で共通です。

教師あり全部に正解が付いている
教師なし正解はない
半教師あり一部だけ正解がある
今日は?です晴れ
自己教師あり隠した部分が正解

正解が「A」 正解が「B」 正解なし

教師あり正解付きデータから対応を学ぶ Supervised learning

入力(特徴量)x と正解 y の組を大量に見せ、x から y を当てる対応関係を学ぶ。最も実務で使われる形。

例:メール本文 →「迷惑/通常」、物件の条件 → 家賃

教師なし正解なしで構造を見つける Unsupervised learning

正解ラベルがないデータから、似たもののまとまり、データの主な傾向、珍しいものなどの構造を見つける。

例:購買履歴から顧客をグループ分けする

半教師あり少しの正解+大量の正解なし Semi-supervised learning

ラベル付けが高価なときに、少量のラベル付きデータと大量のラベルなしデータを併用する。

代表手法:自己訓練(自信のある予測を仮の正解として追加していく)、一貫性正則化(少し加工したデータでも同じ予測になるように学ぶ)、ラベル伝播(正解を近いデータへ広げていく)

自己教師ありデータ自身から正解を作る Self-supervised learning

人手のラベルを使わず、データの一部を隠して当てる等の「作った問題」で学ぶ。主に大規模な事前学習(最初に大量のデータで一般的な知識を身につけさせておくこと)に使い、後で少量の教師ありデータで調整する。

例:次の単語を予測(GPT系)、隠した単語を予測(BERT)、同じ画像の別加工を近づける対照学習(SimCLR)

強化学習行動の結果(報酬)から学ぶ Reinforcement learning

学ぶ主体(エージェント)が環境の中で行動し、その結果として報酬を受け取る。これを繰り返し、報酬の合計が最大になる行動の決め方(方策)を試行錯誤で学ぶ。まだ試していない行動を試す「探索」と、良いとわかっている行動を選ぶ「活用」のバランスが課題になる。

エージェント環境行動次の状態・報酬
エージェントが行動し、環境から次の状態と報酬を受け取る。これを繰り返して報酬の合計を最大にする。

代表的な手法の種類:

  • 価値ベース:各行動の良さを点数で見積もり、点数の高い行動を選ぶ(Q学習、DQN)
  • 方策ベース:行動の決め方そのものを直接学ぶ(方策勾配法、PPO)
  • Actor-Critic:価値ベースと方策ベースを組み合わせる
  • モデルベース:環境の仕組みも学び、先を読んで行動を選ぶ

関連する形として、いくつかの選択肢から当たりの多いものを探す「多腕バンディット」、熟練者の手本から学ぶ「模倣学習」がある。

区分があいまいなもの。自己教師あり学習は「教師なし学習の一種」とされることもあります。また、不正確・粗いラベルで学ぶ「弱教師あり学習」は教師ありの変形として扱えます。

学び方とは別に選ぶ「進め方」

上の5つのどれとも組み合わせられる、別の軸です。やや発展的な内容なので、初めて読む人は飛ばしても構いません。

観点選択肢内容
データの与え方バッチ学習/オンライン学習全データでまとめて学ぶか、届いたデータで逐次更新するか
ラベルの集め方受動/能動学習能動学習ではモデルが「ラベルを付けてほしいデータ」を選び、ラベル付け費用を減らす
知識の再利用ゼロから/転移学習・ファインチューニング/知識蒸留/マルチタスク学習/メタ学習/継続学習別の課題で学んだことを流用する、大きなモデルの知識を小さなモデルに移す、複数課題を同時に学ぶ、「学び方」を学ぶ、過去を忘れずに学び続ける。LLMでは学習し直さず、指示や例を与えて解かせる方法(インコンテキスト学習)も使われる
データの置き場所集中型/連合学習連合学習ではデータを手元から出さず、モデルの更新情報だけを集める
強化学習のデータオンライン/オフライン強化学習環境と実際にやりとりするか、過去の記録だけで学ぶか

理解度チェック

用語集

特徴量
Feature
モデルに入力する変数(説明変数)
ラベル・目的変数
Label / Target
予測したい正解の値
パラメータ
Parameter
学習によって決まる値(重みなど)
ハイパーパラメータ
Hyperparameter
人が学習前に決める設定(木の深さ、学習率など)
汎化性能
Generalization
未知のデータに対する精度。機械学習の本当の目標
正則化
Regularization
モデルが複雑になりすぎないよう罰則を加える工夫
学習率
Learning rate
勾配降下法で1回にパラメータを動かす大きさ
エポック
Epoch
学習データ全体を1周すること
推論
Inference
学習済みモデルで予測すること
埋め込み
Embedding
単語や商品などを意味を反映した数値ベクトルで表したもの
ベースライン
Baseline
比較基準となる単純な方法の成績
陽性・陰性
Positive / Negative
分類で、見つけたい側(解約する、病気がある など)が陽性、そうでない側が陰性
閾値
Threshold
確率がいくつ以上なら陽性と判定するかの境目(例:0.5)
損失関数
Loss function
予測がどれだけ外れたかを表す数値。学習はこれを小さくすること
勾配
Gradient
パラメータを少し動かしたとき、損失がどちらへどれだけ変わるか(坂の傾き)
交差検証
Cross-validation
データを分け、検証役を入れ替えながら何度か評価して平均する方法
パイプライン
Pipeline
前処理とモデルを1つにまとめたもの。リーク防止と本番での再利用に役立つ
トークン
Token
LLMが文章を扱う単位。単語や文字の断片

この記事について

ご利用にあたって

このページは機械学習を学ぶための資料です。内容の正確さには注意を払っていますが、完全性や最新性を保証するものではありません。業務や重要な判断に使う場合は、各ライブラリの公式ドキュメントや専門家の確認をあわせて行ってください。掲載しているコードは、ご自身の責任で利用してください。

「網羅」の範囲

機械学習の手法は今も増え続けているため、個々の手法名をすべて並べることはできません。このページでは、手法を①学び方・②タスク・③モデルの3つの観点で分け、各軸の中を重複や抜けがない区分にしています。④手順は全手法に共通する作り方です。手法名は各区分の代表例で、境界にまたがる手法はその旨を注記しています。新しい手法も、①〜③でどこに当たるかを確かめれば位置づけられます。

Spark