2026年10月8日に、Googleの教師あり学習、機械学習入門、scikit-learnのpitfallsを再読しました。教師あり学習は入力とラベルから予測を学びますが、学習用の成績を新しい入力の性能と同一視しません。前処理を全データへ先に適用すると漏えいが起きるため、パイプラインと分離した評価を使います。教師なし・強化・生成の方法も、目的・データ・失敗の影響をそろえて選びます。
30秒で要点
- 教師あり学習は入力と予測対象、教師なし学習はデータの構造、強化学習は行動の結果として得る報酬を手がかりにします。「どれが高精度か」という順位ではありません。
- 学習はモデルの調整、推論は調整したモデルの利用です。初めての入力に答えられるかは、学習と分離した評価で確かめます。
- 使い分けは、決めたいこと、得られるデータ、失敗の影響から考えます。生成AIや自己教師あり学習も含め、一つのシステムで複数の方法が組み合わされます。
迷惑メールを判定したい、顧客の傾向を探りたい、在庫の発注を調整したい。どれもデータを使う仕事ですが、何を答えにするかは違います。この違いを先に整理すると、AIへの期待と、必要な評価をそろえられます。
本記事は機械学習の基本を、学習の材料、具体例、評価、業務での選び方の順に説明します。例示の数値はすべて教材用の仮想値です。実モデルの性能や、導入企業の成果ではありません。
学習と推論を分けて考える
機械学習では、データと学習の目標を使い、モデルの内部の値などを調整します。調整したモデルを新しい入力へ適用する処理が推論です。例えば、過去メールと分類結果から判定のモデルを作るのが学習、新しいメールをそのモデルで判定するのが推論です。Googleの教師あり学習の説明
表が収まらない場合は、横にスクロールできます
| 段階 | 迷惑メール判定で行うこと | 混同しないこと |
|---|---|---|
| 学習 | 過去メールの特徴とラベルからモデルを調整する | 学習用メールをよく当てるだけでは十分ではない |
| 評価 | 調整に使わないメールで誤りを調べる | 評価結果を見て何度も選び直すと、その集合にも合わせ込む |
| 推論 | 利用時点で得られる情報から新しいメールを判定する | 一回の回答だけで、その場でモデルが再学習したとは限らない |
| 運用の見直し | 誤判定、新しい表現、利用者の負担を確認する | 過去の評価が将来の性能を保証するわけではない |
入力として使う情報を特徴量、予測したい値や区分をラベル・目的変数と呼びます。モデルが訓練用データの細部に合わせ込み、新しいデータでは役に立たなくなることを過学習といいます。初めて見る入力へ適用できることが汎化であり、「学習データにないパターンはすべて判定できない」という意味ではありません。
人とAIを、理解する/しないの二択だけで比べても、業務での受入条件は決まりません。どの入力を与え、何を答えとし、どの誤りをどれだけ許容するかを具体化します。データが多いだけでも十分ではなく、目的に合う範囲、品質、対象の偏り、評価方法を確認します。
三つの方法は、何を手がかりに学ぶかが違う
Googleの機械学習入門を踏まえると、まず次のように整理できます。表が収まらない場合は、横にスクロールできます
| 学習方法 | 学習で与える主な手がかり | 答えたい問いの例 | 評価で残る問い |
|---|---|---|---|
| 教師あり | 入力と対応するラベル | このメールは迷惑か、売上はいくらか | どの対象をどのように間違えるか |
| 教師なし | ラベルを付けていないデータの構造 | 似た顧客はどこに集まるか | 分け方は安定し、目的に役立つか |
| 強化 | 行動と、その結果の報酬 | この状況で次に何をするか | 報酬と業務目的が合い、制約を守るか |
ここでいう教師なしは、目的や設定まで不要という意味ではありません。例えばクラスタリングなら、何を似ているとするかを決めます。強化学習も、正解の行動を一つずつ渡さない代わりに、報酬や環境の設計が必要です。
教師あり学習:答えの例から、新しい入力を予測する
分類と数値の予測
「迷惑メール/通常メール」「猫/犬」のように区分を答える課題は分類です。来月の販売数や住宅価格のように数値を答える課題は回帰です。いずれも学習時には入力と対応する対象値をそろえます。
メールなら、本文や送信元などの入力と、決めた基準による分類を用意します。猫と犬の画像なら、画像に付けたラベルが学習の手がかりになります。背景が猫の画像だけ室内、犬だけ屋外なら、動物ではなく背景に依存してしまう可能性もあるため、対象や撮影条件を分けた評価を考えます。
ラベルがあると正誤を照合できますが、そのラベル自体が正しいとは限りません。担当者間で判定が割れるメールをどう扱うか、過去の誤った判断を正解にしていないか、後から確定する情報を入力に混ぜていないかを確認します。
仮想100件で、正解率だけでは足りない理由を見る
学習に使わない100件を、同じ判定基準で人が確認したとします。迷惑メール20件、通常メール80件に対する、ある仮想モデルの結果です。
表が収まらない場合は、横にスクロールできます
| 人が確認した区分 | モデルが迷惑と判定 | モデルが通常と判定 | 合計 |
|---|---|---|---|
| 迷惑メール | 18 | 2 | 20 |
| 通常メール | 8 | 72 | 80 |
| 合計 | 26 | 74 | 100 |
正解率は (18 + 72) / 100 = 90% です。一方、迷惑メールの見逃しは 2 / 20 = 10%、通常メールの誤検知は 8 / 80 = 10% です。迷惑と判定した26件のうち、本当に迷惑なのは 18 / 26 ≈ 69.2% でした。率ごとに分母が異なります。
すべてを通常メールとするだけでも、この集合では80%が正解になります。そのため「90%だから導入可能」とは決めません。大事なメールの誤隔離を重く見るか、迷惑メールを残す負担を重く見るかで、判定の基準や人へ戻す条件が変わります。この100件だけから、将来の利用者全体で同じ率になるとは言えません。
学習データを増やす前に、評価の漏れを防ぐ
予測する時点では分からない結果を特徴量に含めると、評価は良く見えても実際には使えません。また、全データで平均値を求めてから訓練用と評価用へ分けるなど、前処理を通して評価集合の情報が混ざることもあります。scikit-learnのデータ漏えいの説明
最初にデータを分け、訓練から求める処理は訓練データだけで調整します。同じ顧客のほぼ同じ記録が両側へ入らないか、将来を予測するのに未来の記録を使っていないかも点検します。処理をまとめるPipelineは助けになりますが、時間や顧客の分け方まで自動で正しくなるわけではありません。
売上予測、解約リスクの推定、検品なども候補になります。ただし、学習用のラベルを新たに作る費用だけでなく、既存記録をラベルとして使える条件や、誤りを調べる人の時間まで見積もります。
教師なし学習:データの構造を探り、人が意味を確かめる
顧客を分ける前に、何を似ているとするか決める
顧客の購入金額や頻度から似た集まりを探すのが、クラスタリングの例です。以下は仕組みを考えるための仮想データで、実際にクラスタリングを実行した結果ではありません。
表が収まらない場合は、横にスクロールできます
| 顧客 | 年代 | 月の購入額 | 月の購入回数 |
|---|---|---|---|
| A | 30代 | 5万円 | 2回 |
| B | 20代 | 2万円 | 1回 |
| C | 30代 | 6万円 | 3回 |
この表から、人はAとCの金額が近いと感じるかもしれません。しかし、金額を円で表すのか万円で表すのか、頻度とどの程度重視するのか、年代をどう扱うのかによって、距離の計算は変わります。データが3件だけの表から、実際の顧客集団の数や特徴を確定することもできません。
クラスタに「優良顧客」という名前を付けるのは解釈です。購入額が大きくても利益や継続率が高いとは限らず、施策を分けるなら、何の違いを根拠にするか確認します。グループが見つかったことは、施策が売上を増やす因果的な証拠ではありません。
異常検知と、探索の使いどころ
取引額やアクセスの傾向から普段と異なる記録を探すこともできます。ただし「珍しい」と「不正」は同じではありません。異常スコアの高い記録を人が確認し、正常な例外、計測ミス、本当に調べるべき事象を分けます。既知の不正ラベルで教師ありの判定を行う構成もあり、異常検知が常に教師なしとは限りません。
顧客の傾向、似た文書の整理、設備やログの変化を探索する用途では、ラベル作成前に構造を眺められる利点があります。一方で、欠測や重複の処理、どの特徴を使うか、分け方の安定性を調べる作業は残ります。「ラベル不要だから準備費用が必ず低い」とは考えません。
強化学習:行動の先の結果を、報酬として扱う
状態、行動、報酬の関係
強化学習では、エージェントが環境の状態を受け取り、行動し、結果に応じた報酬を得ます。その経験から、どの状況でどの行動を選ぶかという方策を調整します。直後の結果だけでなく後の報酬も扱えますが、何をどの期間で評価するかは設計次第です。
囲碁なら盤面が状態、着手が行動、勝敗が報酬の例です。途中0、勝ち+1、負け−1という設計では、途中で目立つ動きをしたこと自体を成功にしません。2016年のAlphaGoは、人の棋譜からの教師あり学習に、自己対戦による強化学習、価値予測、木探索を組み合わせています。強化学習だけで作られた例ではありません。AlphaGo原論文の学習パイプライン
報酬の点数と、安全の条件を混同しない
自動運転を想定した教材では、道路状況を受けてアクセルやブレーキを選ぶ関係を説明できます。しかし、目的地へ到着したら+1、衝突したら−100、遅れたら−10と点数を置いただけで、安全な運転を実現したことにはなりません。これは構造を考える仮想例であり、実車の学習方法や安全基準ではありません。
罰点があることと、危険な行動が許されないことは別です。試行できる範囲、実行してはいけない行動、停止、シミュレーションと現実の違いを確認します。報酬を高くする行動が、利用者の利益や事業の目的とずれる可能性もあります。再学習できることも、変化した環境へ自動で安全に適応する保証ではありません。
業務の候補は、目的と制約を組にする
表が収まらない場合は、横にスクロールできます
| 候補の例 | 行動・評価を考える入口 | 報酬だけに任せない条件 |
|---|---|---|
| 在庫管理 | 発注量と欠品・保管費 | 発注上限、納期、廃棄や供給変動 |
| 広告配信 | 配信先や量と成果 | 予算、対象条件、計測窓、利用者への影響 |
| 価格調整 | 提示価格と利益など | 契約・表示条件、供給、短期売上以外の影響 |
| 計算資源の配分 | 割当と遅延・費用 | 容量上限、重要処理の扱い、停止・復旧 |
これらは問題の置き方の例です。強化学習が実用上の最適解になるという実績紹介ではありません。履歴から予測して固定ルールで決める方が十分なこともあります。試行環境や評価の用意に費用がかかるため、既存の方法との比較から始めます。
自己教師あり学習と生成AIは、どこに入るか
自己教師あり学習では、人が一件ずつラベルを付ける代わりに、データ自身から予測する対象を作ります。歴史的なBERTの例なら、文中の一部を隠して、その元の内容を予測する課題を用います。その後、ラベルのある別の課題へ調整することもできます。BERT原論文の第3節
この例では、人の手作業ラベルがないことと、学習の正解信号がないことは違います。本文中の語から目標を作るので、教師あり/なしの二つだけでは説明が粗くなる場面があります。BERTの特定の方式を、現在のすべての言語モデルの方式と同一視もしません。
生成AIは、文章や画像などを生成する性質に注目した呼び方です。事前学習と用途への調整では異なる学習が使われることがあり、「教師あり、教師なし、強化、生成AI」の四択として優劣を付けるものではありません。検索した文章を回答に添えることや、会話に新しい指示を加えることも、それだけでモデルの学習を行ったとは限りません。
使い分けは、データと失敗の影響から決める
三方法の精度、学習時間、解釈しやすさを一律の高・中・低にすると、モデルや課題の違いが消えます。代わりに、次の順で確認します。
- 決めたいことを一つにする。 分類や数値予測か、構造の探索か、連続する行動の選択かを書きます。
- 手がかりを調べる。 ラベルがどのように作られたか、利用時にも得られる特徴か、報酬や行動の記録があるかを確認します。
- 単純な基準を作る。 全件同じ回答、既存ルール、単純な集計など、比較対象を置きます。
- 評価を先に分ける。 対象、期間、分母、誤りの種類と人へ戻す条件を決めます。探索なら解釈・安定性・次の調査の有用性も確認します。
- 費用と失敗を含める。 データ準備、試行、確認、再作業、停止の負担まで比べます。
ラベル付けの新規予算が少なくても、既存の記録を使えるかを調べる余地はあります。一方、十分な評価用の情報がないまま、方法名だけで実運用へ進むことはできません。実環境での試行を認められない場合は、その条件を守り、使える検証環境と残る差を明示します。
組み合わせる例:ECのおすすめを段階に分ける
仮想のECサイトなら、購買傾向を探索して顧客理解を進め、商品への反応を予測し、表示の選び方を別に評価する構成が考えられます。各段階で教師なし、教師あり、強化学習を候補にできますが、三つ全部を使うことが完成形ではありません。
まず人気商品を同じ条件で提示するなどの基準を置きます。次に、予測が改善しても返品や不満が増えていないかを確認します。表示の変更が購入を増やしたかを知りたい場合は、予測の評価と施策の効果の検証を分けます。顧客を分類できたことから、売上増加の因果関係は導けません。
最小検証:一枚の設計メモを作る
最初の一歩は、学習方法を選ぶ前に、対象業務について「入力」「答え・行動」「使える手がかり」「比較対象」「失敗したら困ること」を一行ずつ書くことです。迷惑メールの例なら、通常メールを誤って隔離した件数を、正解率と別に数えるところまで決めます。
小さな教材データで計算や処理の流れを確かめることと、実データで性能を確かめることは別です。実運用の対象・期間・権限に合う評価を追加し、見直す条件を決めてから利用範囲を広げます。