機械学習用語集(Machine Learning Glossary)とは?基礎から評価・運用まで体系理解
機械学習は、データから規則性やパターンを学び、未知のデータに対して分類、予測、推薦、異常検知などを行う技術です。近年では、画像認識、自然言語処理、需要予測、広告配信、医療診断支援、不正検知、生成AIなど、非常に多くの領域で活用されています。しかし、機械学習を学び始めると、Model、Feature、Label、Training、Loss Function、Evaluation Metric、Overfitting、Pipeline、MLOpsなど、似たように見える用語が一気に出てくるため、全体像をつかみにくくなりがちです。
特に機械学習では、用語を単語単位で暗記するだけでは不十分です。たとえば、損失関数と評価指標はどちらもモデルの良し悪しに関係しますが、前者は学習中にモデルを更新するための基準であり、後者は学習後に人間が性能を判断するための基準です。また、特徴量と説明変数、検証データとテストデータ、過学習と汎化性能のように、関係が近い用語ほど混同しやすくなります。そのため、機械学習用語はカテゴリごとに整理し、どの工程で使う言葉なのかを理解することが重要です。
この記事では、機械学習でよく使われる主要用語を、基本概念、学習の種類、タスク、データ、前処理、特徴量、評価、モデル、深層学習、自然言語処理、画像認識、パイプライン、MLOpsまで広く整理します。単なる英語と日本語の対応表ではなく、「どの場面で使うか」「なぜ重要か」「何と混同しやすいか」まで分かるように、グロッサリー形式で体系的に解説します。
1. 基本概念(Basic Concepts)
機械学習を理解するうえで最初に押さえるべきなのは、「データを使ってモデルを学習し、そのモデルで未知のデータを予測する」という基本の流れです。人間がすべての条件分岐を手書きするのではなく、データから関係性を学習し、新しい入力に対して結果を出す点が機械学習の特徴です。この基本構造を理解すると、分類、回帰、深層学習、自然言語処理など、さまざまな分野の考え方がつながりやすくなります。
基本概念の用語は、ほぼすべての機械学習プロジェクトで登場します。Model、Feature、Label、Training、Predictionなどは、アルゴリズムが変わっても共通して使われる言葉です。まずはこれらの意味を正確に押さえることで、機械学習の全体像を理解しやすくなります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Machine Learning | 機械学習 | データから規則やパターンを学び、未知のデータに対して予測や判断を行う技術です。人間がすべての条件を直接書くのではなく、モデルがデータから関係性を学習します。 |
| Model | モデル | データから学習した予測ルールや関数のことです。入力データを受け取り、分類結果、数値予測、確率などを出力します。 |
| Algorithm | アルゴリズム | モデルを学習させるための手法です。線形回帰、決定木、ランダムフォレスト、ニューラルネットワークなどが代表例です。 |
| Training | 学習 | モデルにデータを与え、予測が正解に近づくように内部パラメータを調整する処理です。機械学習の中心となる工程です。 |
| Prediction | 予測 | 学習済みモデルに新しいデータを入力し、結果を出す処理です。分類ならクラス、回帰なら数値、確率モデルなら確率を出します。 |
| Inference | 推論 | 学習済みモデルを使って、実際に予測結果を出す段階です。本番環境でユーザー入力に応答する処理も含みます。 |
| Dataset | データセット | 学習や評価に使うデータのまとまりです。表形式、画像、音声、テキスト、時系列など、タスクに応じて形式が変わります。 |
| Feature | 特徴量 | モデルに入力する説明変数です。家賃予測なら、面積、駅からの距離、築年数などが特徴量になります。 |
| Label | ラベル | 教師あり学習で使われる正解データです。画像分類なら「犬」「猫」、売上予測なら実際の売上値などがラベルになります。 |
基本概念では、FeatureとLabelの関係を理解することが特に重要です。モデルはFeatureを入力として受け取り、Labelに近い出力を出せるように学習します。この関係が分かると、教師あり学習の仕組みだけでなく、データ分割、損失関数、評価指標の意味も理解しやすくなります。
2. 学習の種類(Types of Learning)
機械学習は、正解ラベルの有無や、学習の進み方によっていくつかの種類に分けられます。最も基本的なのは、正解ラベルを使う教師あり学習、ラベルなしデータから構造を見つける教師なし学習、行動と報酬を通じて学ぶ強化学習です。これらの違いを理解すると、問題に対してどのアプローチを使うべきか判断しやすくなります。
たとえば、過去の売上データと実際の売上値がある場合は教師あり学習を使いやすいです。一方、顧客を似たグループに分けたいが正解ラベルがない場合は教師なし学習が向いています。ゲームAIやロボット制御のように、行動の結果として報酬を得る問題では強化学習が関係します。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Supervised Learning | 教師あり学習 | 入力データと正解ラベルのペアを使って学習する方法です。分類や回帰でよく使われ、最も基本的な機械学習の形です。 |
| Unsupervised Learning | 教師なし学習 | 正解ラベルがないデータから、構造やパターンを見つける学習方法です。クラスタリングや次元削減などに使われます。 |
| Reinforcement Learning | 強化学習 | エージェントが環境の中で行動し、報酬を最大化するように学習する方法です。ゲームAI、ロボット制御、最適化問題などで使われます。 |
| Semi-supervised Learning | 半教師あり学習 | 少量のラベル付きデータと大量のラベルなしデータを組み合わせて学習する方法です。ラベル作成コストが高い場合に有効です。 |
| Self-supervised Learning | 自己教師あり学習 | データ自身から疑似的な正解を作り、事前学習を行う方法です。自然言語処理や画像モデルの事前学習で重要です。 |
| Online Learning | オンライン学習 | データが逐次到着するたびにモデルを更新する方法です。リアルタイム推薦やストリームデータで使われます。 |
| Batch Learning | バッチ学習 | まとまったデータを一度に使って学習する方法です。一般的な機械学習では、この形式がよく使われます。 |
学習の種類は、データの状態と目的によって選びます。正解があるなら教師あり学習、正解がなく構造を見たいなら教師なし学習、行動と報酬があるなら強化学習というように整理できます。実務では、ラベル作成コストやデータ量も重要な判断材料になります。
3. タスクの種類(Machine Learning Tasks)
機械学習では、何を予測したいのかによってタスクが分かれます。代表的なタスクには、カテゴリを当てる分類、数値を予測する回帰、似たデータをまとめるクラスタリング、異常なパターンを見つける異常検知などがあります。タスクの種類は、使うモデルや評価指標にも大きく影響します。
たとえば、迷惑メールかどうかを判定する問題は分類です。住宅価格を予測する問題は回帰です。顧客を購買傾向ごとに分ける問題はクラスタリングです。このように、まずタスクを正しく定義することで、後続のモデル選定や評価設計が適切になります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Classification | 分類 | 入力データを決められたカテゴリに分けるタスクです。迷惑メール判定、画像分類、病気の有無判定などが例です。 |
| Regression | 回帰 | 数値を予測するタスクです。売上、気温、家賃、需要量など、連続値を予測したい場合に使います。 |
| Clustering | クラスタリング | データを似たもの同士のグループに分けるタスクです。顧客分類、文書分類、画像の類似グループ化などに使われます。 |
| Anomaly Detection | 異常検知 | 通常とは異なるパターンを見つけるタスクです。不正取引検出、機械故障検知、セキュリティ監視などで使われます。 |
| Recommendation | 推薦 | ユーザーに合う商品、動画、記事、学習内容などを提案するタスクです。EC、動画配信、学習アプリなどで重要です。 |
| Ranking | ランキング | 複数の候補を重要度や関連度の順に並べるタスクです。検索結果、広告表示、推薦順位などで使われます。 |
| Forecasting | 予測・時系列予測 | 時間の流れに沿って未来の値を予測するタスクです。売上予測、在庫予測、アクセス数予測などで使われます。 |
タスクの種類を間違えると、モデルも評価指標もずれてしまいます。まず「カテゴリを当てたいのか」「数値を予測したいのか」「グループを見つけたいのか」「未来の値を予測したいのか」を明確にすることが、機械学習設計の出発点になります。
4. データと特徴量(Data & Features)
機械学習の性能は、アルゴリズムだけで決まるわけではありません。むしろ実務では、データの質や特徴量の作り方がモデル性能を大きく左右します。どれだけ高性能なモデルを使っても、入力データにノイズが多かったり、予測に必要な情報が含まれていなかったりすれば、良い結果は得られません。
データには、数値データ、カテゴリデータ、テキストデータ、時系列データなどがあります。それぞれ扱い方が異なるため、モデルに入力する前に適切な前処理や特徴量設計が必要です。特徴量の意味を理解することは、モデル改善だけでなく、結果の解釈にもつながります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Feature | 特徴量 | モデルに入力する情報です。数値、カテゴリ、テキスト、画像特徴などがあり、予測に役立つ形へ整える必要があります。 |
| Target Variable | 目的変数 | 予測したい値やラベルです。回帰では数値、分類ではクラスラベルになることが多いです。 |
| Explanatory Variable | 説明変数 | 目的変数を予測するために使う入力側の変数です。特徴量とほぼ同じ意味で使われることもあります。 |
| Numerical Data | 数値データ | 年齢、価格、距離、温度など数値として扱えるデータです。スケーリングや外れ値処理が重要になります。 |
| Categorical Data | カテゴリデータ | 性別、地域、商品カテゴリなど、種類を表すデータです。モデルに入れる前にエンコーディングが必要になることが多いです。 |
| Text Data | テキストデータ | 文章や単語列として表されるデータです。自然言語処理では、分かち書き、埋め込み、ベクトル化などが必要になります。 |
| Time Series Data | 時系列データ | 時間順に並んだデータです。未来情報を混ぜない分割や、季節性・トレンドの扱いが重要です。 |
| Noise | ノイズ | 予測に役立たないばらつきや誤差です。ノイズが多いとモデルが不要なパターンまで学習し、過学習しやすくなります。 |
データと特徴量は、機械学習の土台です。モデルを複雑にする前に、データの意味、欠損、外れ値、ラベルの品質、特徴量の作り方を確認する方が、性能改善につながることも多くあります。
5. 前処理(Preprocessing)
前処理は、生データをモデルが学習しやすい形に整える工程です。実務データには、欠損値、表記ゆれ、外れ値、カテゴリ変数、スケール差、重複、不自然な値などが含まれることが多く、そのままモデルに入れると正しく学習できない場合があります。前処理は、機械学習の精度と安定性を支える重要な工程です。
前処理で特に注意が必要なのは、学習データとテストデータの扱いです。全データを使ってスケーリングや欠損値補完の基準を作ると、テストデータの情報が学習側に混ざるデータリークが起こる可能性があります。前処理は、単なる準備作業ではなく、評価の信頼性にも関係します。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Preprocessing | 前処理 | データを学習に使える形へ整える工程です。欠損値処理、スケーリング、エンコーディング、外れ値処理などが含まれます。 |
| Missing Value | 欠損値 | データの一部が空欄やNaNになっている状態です。削除、平均補完、中央値補完、専用モデルによる補完などで対応します。 |
| Imputation | 補完 | 欠損値を別の値で埋める処理です。単純な平均補完だけでなく、カテゴリ別の中央値や予測モデルを使う方法もあります。 |
| Normalization | 正規化 | 値を一定範囲に収める処理です。0〜1に変換することで、特徴量間のスケール差を小さくできます。 |
| Standardization | 標準化 | 平均0、標準偏差1になるように変換する処理です。線形モデル、SVM、ニューラルネットワークなどでよく使われます。 |
| Encoding | エンコーディング | カテゴリデータを数値に変換する処理です。One-hot encodingやLabel encodingなどがあります。 |
| Outlier Treatment | 外れ値処理 | 極端に大きい値や小さい値を確認・修正する処理です。外れ値を残すか除くかは、データの意味を見て判断します。 |
| Data Cleaning | データクリーニング | 重複、誤入力、形式不一致、不自然な値などを修正する工程です。実務では非常に重要です。 |
前処理は、モデルの前に一度だけ行う作業ではなく、学習時と予測時で一貫して適用する必要があります。そのため、実務では前処理をパイプライン化し、同じ変換ルールを再利用できるように設計することが重要です。
6. 特徴量エンジニアリング(Feature Engineering)
特徴量エンジニアリングは、元データから予測に役立つ情報を作る工程です。良い特徴量は、単純なモデルでも高い性能を出す助けになります。反対に、意味の弱い特徴量やノイズの多い特徴量が多すぎると、モデルが不要なパターンまで学習してしまい、性能が下がることもあります。
特徴量エンジニアリングでは、データの意味と問題設定を理解することが重要です。たとえば、日付データをそのまま使うより、曜日、月、祝日かどうか、月末かどうかなどに分解した方が、モデルがパターンを学びやすくなる場合があります。これは、アルゴリズムだけでなく、問題への理解が必要な工程です。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Feature Engineering | 特徴量エンジニアリング | 元データから予測に役立つ特徴量を作る工程です。日付から曜日を作る、金額から単価を作る、テキストをベクトル化するなどが含まれます。 |
| Feature Selection | 特徴量選択 | 多くの特徴量の中から、予測に役立つものを選ぶ処理です。不要な特徴量を減らすことで、過学習や計算コストを抑えられます。 |
| Feature Extraction | 特徴抽出 | 生データから情報を抽出して特徴量に変換する処理です。画像の特徴抽出、テキストのベクトル化、時系列の統計量作成などが例です。 |
| One-hot Encoding | ワンホットエンコーディング | カテゴリごとに0/1の列を作る方法です。カテゴリ間に順序を持たせたくない場合に使われます。 |
| Label Encoding | ラベルエンコーディング | カテゴリを整数に変換する方法です。ただし、モデルによってはカテゴリ間に順序があると誤解される可能性があります。 |
| Binning | ビニング | 連続値を範囲ごとに区切ってカテゴリ化する方法です。年齢層、価格帯、距離帯などを作るときに使えます。 |
| Interaction Feature | 交互作用特徴量 | 複数の特徴量を組み合わせて作る特徴量です。「価格 ÷ 面積」で単価を作るような処理が例です。 |
| Dimensionality Reduction | 次元削減 | 多数の特徴量を少ない次元へ圧縮する処理です。可視化、ノイズ削減、計算効率改善に使われます。 |
特徴量エンジニアリングでは、モデルに何を見せるべきかを考えることが重要です。アルゴリズムを変えるより、特徴量の作り方を改善した方が性能が伸びるケースも多くあります。ただし、予測時に取得できない情報や未来情報を特徴量に入れると、データリークになるため注意が必要です。
7. データ分割(Data Splitting)
モデルを正しく評価するには、学習に使うデータと評価に使うデータを分ける必要があります。同じデータで学習と評価を行うと、モデルが覚えたデータに対して良い結果を出しているだけなのに、性能が高いように見えてしまいます。これは実運用で性能が落ちる大きな原因になります。
データ分割では、Training Data、Validation Data、Test Dataの役割を明確にすることが重要です。訓練データはモデルを学習させるために使い、検証データはモデル選択やハイパーパラメータ調整に使い、テストデータは最終的な性能確認に使います。この区別が曖昧になると、評価の信頼性が下がります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Training Data | 訓練データ | モデルを学習させるためのデータです。モデルはこのデータからパターンを学びます。 |
| Validation Data | 検証データ | モデル選択やハイパーパラメータ調整に使うデータです。学習中の調整に使いますが、最終評価には使いません。 |
| Test Data | テストデータ | 最終的な性能確認に使うデータです。モデル調整には使わず、最後に一度だけ使うのが理想です。 |
| Train-Test Split | 訓練・テスト分割 | データを学習用と評価用に分ける基本的な方法です。scikit-learnでは train_test_split がよく使われます。 |
| Hold-out Method | ホールドアウト法 | データを固定比率で分割して評価する方法です。シンプルですが、分割の偶然に影響されることがあります。 |
| Cross Validation | 交差検証 | データを複数回分割して評価し、平均的な性能を見る方法です。データが少ない場合や評価を安定させたい場合に有効です。 |
| Stratified Split | 層化分割 | 分類タスクで、各クラスの比率を保ったままデータを分割する方法です。クラス不均衡がある場合に重要です。 |
| Time Series Split | 時系列分割 | 時間順を保ったままデータを分ける方法です。未来の情報が学習に混ざらないようにするため、時系列予測では必須です。 |
データ分割は、評価の信頼性を決める工程です。特に時系列データでは、ランダム分割を使うと未来の情報が過去の学習に混ざる可能性があります。分類ではクラス比率を保つ層化分割が必要になる場合もあります。問題設定に合った分割方法を選ぶことが、正しい評価の前提になります。
8. モデル学習(Model Training)
モデル学習では、入力データと正解ラベルを使って、モデル内部のパラメータを調整します。線形回帰であれば係数、ニューラルネットワークであれば重みやバイアスが学習によって更新されます。モデルは、損失関数によって予測のズレを測り、そのズレが小さくなるように学習を進めます。
学習の流れを理解すると、パラメータ、ハイパーパラメータ、学習率、バッチサイズ、エポックなどの意味が整理しやすくなります。特に深層学習では、学習率やバッチサイズの設定が学習の安定性に大きく影響します。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Parameter | パラメータ | モデルが学習によって自動的に調整する値です。線形回帰の係数やニューラルネットワークの重みなどが該当します。 |
| Hyperparameter | ハイパーパラメータ | 学習前に人間が設定する値です。学習率、木の深さ、正則化係数、バッチサイズなどが代表例です。 |
| Fit | fit / 学習実行 | モデルに訓練データを与えて学習させる処理です。scikit-learnでは model.fit(X_train, y_train) の形で使います。 |
| Epoch | エポック | 学習データ全体を1回使い切る単位です。ニューラルネットワークでは、複数エポックにわたって重みを更新します。 |
| Batch | バッチ | 学習データを小さなまとまりに分けた単位です。大量データを一度に処理できない場合や、勾配更新を安定させるために使います。 |
| Batch Size | バッチサイズ | 1回の更新に使うデータ数です。大きいと安定しやすい一方、メモリ使用量が増えます。 |
| Learning Rate | 学習率 | パラメータをどれくらい大きく更新するかを決める値です。大きすぎると発散し、小さすぎると学習が遅くなります。 |
| Training Loop | 学習ループ | 予測、損失計算、勾配計算、パラメータ更新を繰り返す処理です。深層学習では特に重要です。 |
モデル学習は、単に fit() を呼ぶだけの作業ではありません。どのデータを使い、どの損失関数を最小化し、どのハイパーパラメータで学習するかによって、モデルの性能や安定性は大きく変わります。
9. 損失関数と最適化(Loss & Optimization)
損失関数は、モデルの予測がどれくらい間違っているかを数値化する関数です。モデルはこの損失を小さくするように学習します。回帰ではMSEやMAE、分類ではクロスエントロピーなどが使われます。損失関数は、モデルが「何を良い予測とみなすか」を決める基準です。
最適化は、その損失を小さくするようにモデルのパラメータを更新する処理です。代表的な方法に勾配降下法があります。損失関数と最適化を理解すると、モデルがどのように学習しているのかを内部の仕組みとして理解しやすくなります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Loss Function | 損失関数 | 予測と正解のズレを数値化する関数です。モデルはこの値を小さくするように学習します。 |
| Cost Function | コスト関数 | 複数データに対する損失の平均や合計を表すことが多いです。損失関数とほぼ同じ意味で使われる場合もあります。 |
| Gradient | 勾配 | 損失を減らすために、パラメータをどちらの方向へ動かせばよいかを示す値です。 |
| Gradient Descent | 勾配降下法 | 勾配を使って損失が小さくなる方向へパラメータを更新する方法です。 |
| Stochastic Gradient Descent | 確率的勾配降下法 | データの一部を使って勾配を計算し、少しずつ更新する方法です。大規模データや深層学習でよく使われます。 |
| Optimizer | 最適化手法 | パラメータ更新の方法を決める仕組みです。SGD、Adam、RMSPropなどがあります。 |
| Convergence | 収束 | 学習が進み、損失やパラメータの変化が小さくなった状態です。ただし、収束しても最良のモデルとは限りません。 |
| Local Minimum | 局所最小 | 損失が周辺より低いが、全体で最小とは限らない点です。複雑なモデルでは、このような点に留まることがあります。 |
損失関数と評価指標は混同されやすいですが、役割が異なります。損失関数は学習を動かすための基準であり、評価指標は学習後に結果を判断するための基準です。実務では、評価したい指標と学習に使う損失が完全に一致しないこともあります。
10. 評価指標(Evaluation Metrics)
評価指標は、モデルの性能を判断するための数値です。分類ではAccuracy、Precision、Recall、F1 Score、AUCなどが使われ、回帰ではMSE、MAE、R² Scoreなどが使われます。どの評価指標を使うかは、タスクの目的によって変わります。
たとえば、クラス不均衡がある分類問題でAccuracyだけを見ると、ほとんどのデータを多数派クラスに分類するだけで高い精度に見える場合があります。不正検知や医療診断のように見逃しが重要な問題では、RecallやF1 Scoreを見る必要があります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Evaluation Metric | 評価指標 | モデルの性能を測るための基準です。損失関数とは異なり、人間が結果を判断するために使うことが多いです。 |
| Accuracy | 正解率 | 全体のうち、正しく予測できた割合です。分かりやすい指標ですが、クラス不均衡があると誤解を招くことがあります。 |
| Precision | 適合率 | モデルが陽性と予測したもののうち、実際に陽性だった割合です。誤検知を減らしたい場合に重要です。 |
| Recall | 再現率 | 実際の陽性のうち、モデルが正しく陽性と予測できた割合です。見逃しを減らしたい場合に重要です。 |
| F1 Score | F1スコア | PrecisionとRecallのバランスを取る指標です。クラス不均衡がある分類問題でよく使われます。 |
| MSE | 平均二乗誤差 | 回帰で使われる誤差指標です。大きな誤差を強く罰するため、外れ値に敏感です。 |
| MAE | 平均絶対誤差 | 予測値と正解値の差の絶対値を平均した指標です。MSEより外れ値の影響を受けにくいです。 |
| R² Score | 決定係数 | 回帰モデルがどれくらいデータのばらつきを説明できているかを示す指標です。1に近いほど説明力が高いとされます。 |
評価指標は、問題の目的に合わせて選ぶ必要があります。単純な正解率だけを見ると、見逃しや誤検知のリスクを見落とすことがあります。そのため、分類では複数の評価指標を組み合わせ、回帰では誤差の意味や外れ値の影響を考えながら指標を選ぶことが重要です。
11. 分類評価(Classification Evaluation)
分類問題では、単に正解した割合を見るだけでは不十分です。どのクラスをどのように間違えたのか、誤検知と見逃しのどちらが多いのか、しきい値を変えると性能がどう変わるのかを確認する必要があります。特に医療、不正検知、セキュリティ、品質検査などでは、間違いの種類が大きな意味を持ちます。
分類評価では、混同行列、Precision、Recall、F1、ROC Curve、AUC、Thresholdなどの用語が重要です。これらを理解することで、モデルの性能をより立体的に評価できます。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Confusion Matrix | 混同行列 | 分類結果を、正解クラスと予測クラスの組み合わせで表にしたものです。どのクラスを間違えやすいかを確認できます。 |
| True Positive | 真陽性 | 実際に陽性で、モデルも陽性と予測したケースです。検出したい対象を正しく見つけた状態です。 |
| False Positive | 偽陽性 | 実際は陰性なのに、モデルが陽性と予測したケースです。誤検知とも呼ばれます。 |
| True Negative | 真陰性 | 実際に陰性で、モデルも陰性と予測したケースです。問題がないものを正しく問題なしと判定した状態です。 |
| False Negative | 偽陰性 | 実際は陽性なのに、モデルが陰性と予測したケースです。見逃しとも呼ばれ、医療や不正検知では特に危険です。 |
| ROC Curve | ROC曲線 | 分類しきい値を変えたときの性能を可視化する曲線です。モデルの識別能力を確認するために使います。 |
| AUC | AUC | ROC曲線の下の面積を表す指標です。1に近いほど分類能力が高いとされますが、データ条件によって解釈に注意が必要です。 |
| Threshold | しきい値 | 確率をクラスに変換する基準です。しきい値を変えるとPrecisionとRecallのバランスが変わります。 |
分類評価では、「どれくらい正解したか」だけではなく、「どの間違いがどれくらい起きているか」を見ることが重要です。見逃しが危険な問題ではRecallを重視し、誤検知がコストになる問題ではPrecisionを重視するなど、業務上の目的に合わせて評価する必要があります。
12. 過学習と汎化(Overfitting & Generalization)
機械学習で重要なのは、訓練データに対して高い性能を出すことではなく、未知のデータに対しても良い性能を出すことです。訓練データでは高精度なのに、テストデータや本番データでは性能が低い状態を過学習と呼びます。反対に、訓練データでも十分に学習できていない状態は未学習です。
過学習と汎化を理解するには、Bias、Variance、Regularization、Early Stoppingなどの用語が重要です。モデルが単純すぎると未学習になり、複雑すぎると過学習しやすくなります。良いモデルは、このバランスを取る必要があります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Overfitting | 過学習 | 訓練データに過度に適応し、未知データで性能が落ちる状態です。複雑すぎるモデルやデータ不足で起きやすくなります。 |
| Underfitting | 未学習 | モデルがデータのパターンを十分に学べていない状態です。訓練データでもテストデータでも性能が低くなります。 |
| Generalization | 汎化 | 学習していない未知データに対しても正しく予測できる性質です。機械学習で最も重要な目標の1つです。 |
| Bias | バイアス | モデルの仮定が単純すぎることで生じる誤差です。バイアスが高いと未学習になりやすいです。 |
| Variance | 分散 | 訓練データの変化に対してモデルが敏感に変わる性質です。分散が高いと過学習しやすくなります。 |
| Bias-Variance Tradeoff | バイアス・分散トレードオフ | モデルの単純さと複雑さのバランスを表す考え方です。良いモデルは、バイアスと分散の両方を適度に抑えます。 |
| Regularization | 正則化 | モデルが複雑になりすぎないように制約を加える方法です。過学習を防ぐためによく使われます。 |
| Early Stopping | 早期終了 | 検証データの性能が悪化し始めた時点で学習を止める方法です。深層学習でよく使われます。 |
過学習を防ぐには、検証データで性能を確認すること、モデルを複雑にしすぎないこと、正則化やデータ増強を使うことが重要です。最終的に目指すのは、訓練データで最高性能を出すことではなく、未知データで安定した性能を出すことです。
13. 代表的なアルゴリズム(Common Algorithms)
機械学習には多くのアルゴリズムがあります。どのアルゴリズムを使うべきかは、タスク、データ量、特徴量の性質、解釈性、計算速度、運用コストによって変わります。最初から複雑なモデルを使うより、シンプルなモデルで基準性能を作り、その後に複雑なモデルを試す流れが実務では安全です。
代表的なアルゴリズムには、線形回帰、ロジスティック回帰、決定木、ランダムフォレスト、勾配ブースティング、SVM、k近傍法、ナイーブベイズなどがあります。それぞれ得意なデータやタスクが異なります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Linear Regression | 線形回帰 | 入力特徴量と目的変数の関係を直線的に表す回帰モデルです。シンプルで解釈しやすく、回帰の基礎として重要です。 |
| Logistic Regression | ロジスティック回帰 | 分類問題でよく使われる線形モデルです。名前にRegressionとありますが、主に分類に使われます。 |
| Decision Tree | 決定木 | 条件分岐を木構造で表すモデルです。解釈しやすい一方、深くしすぎると過学習しやすいです。 |
| Random Forest | ランダムフォレスト | 複数の決定木を組み合わせるアンサンブルモデルです。安定した性能を出しやすく、表形式データでよく使われます。 |
| Gradient Boosting | 勾配ブースティング | 弱いモデルを順番に追加し、前のモデルの誤りを補正していく手法です。表形式データで高性能を出しやすいです。 |
| Support Vector Machine | サポートベクターマシン | クラス間の境界を最大限広げるように分類するモデルです。中小規模データで強い場合があります。 |
| k-Nearest Neighbors | k近傍法 | 近いデータ点の多数決や平均で予測する方法です。直感的ですが、大規模データでは計算コストが高くなりやすいです。 |
| Naive Bayes | ナイーブベイズ | 確率に基づく分類モデルです。特徴量の独立性を仮定し、テキスト分類などで使われることがあります。 |
アルゴリズム選定では、精度だけでなく、説明しやすさ、学習速度、推論速度、データとの相性も見る必要があります。実務では、最初に線形モデルや木系モデルでベースラインを作り、必要に応じてより複雑なモデルを検討する流れがよく使われます。
14. 決定木とアンサンブル(Trees & Ensemble)
決定木系のモデルは、表形式データでよく使われます。単体の決定木は条件分岐が見えるため解釈しやすいですが、深くしすぎると訓練データに合わせすぎて過学習しやすくなります。その弱点を補うために、複数のモデルを組み合わせるアンサンブル学習が使われます。
アンサンブルには、BaggingやBoostingのような手法があります。Random ForestはBagging系、XGBoostやLightGBMはBoosting系としてよく知られています。表形式データでは、これらのモデルが非常に高い性能を出すことがあります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Decision Tree | 決定木 | 条件分岐によって予測するモデルです。人間にも理解しやすい構造ですが、深くすると訓練データを覚えすぎることがあります。 |
| Ensemble Learning | アンサンブル学習 | 複数のモデルを組み合わせて性能を高める方法です。単体モデルより安定し、汎化性能が上がることがあります。 |
| Bagging | バギング | データをランダムに分けて複数モデルを学習し、結果を統合する方法です。Random Forestの基本的な考え方です。 |
| Boosting | ブースティング | 前のモデルが間違えた部分を次のモデルが補うように学習する方法です。高精度ですが、過学習に注意が必要です。 |
| Random Forest | ランダムフォレスト | 多数の決定木を使い、分類では多数決、回帰では平均で予測します。扱いやすく、ベースラインとしてもよく使われます。 |
| XGBoost | XGBoost | 勾配ブースティング系の高性能ライブラリです。表形式データのコンペや実務で広く使われてきました。 |
| LightGBM | LightGBM | 高速な勾配ブースティングライブラリです。大規模データやカテゴリ特徴量を含む表形式データでよく使われます。 |
| Feature Importance | 特徴量重要度 | モデルがどの特徴量を重視したかを示す指標です。解釈の参考になりますが、因果関係を示すものではありません。 |
決定木とアンサンブルは、実務の表形式データで非常に強力です。ただし、特徴量重要度を因果関係のように解釈するのは危険です。重要度はあくまでモデルが予測に使った度合いであり、その特徴量が結果の原因であることを証明するものではありません。
15. ニューラルネットワーク(Neural Networks)
ニューラルネットワークは、多数の重みと層を使って複雑なパターンを学習するモデルです。画像、音声、自然言語のような非構造データで特に強力ですが、表形式データでは木系モデルの方が扱いやすい場合もあります。ニューラルネットワークは万能ではなく、データ量、計算資源、解釈性、運用コストを考慮して使う必要があります。
ニューラルネットワークを理解するには、Neuron、Layer、Weight、Bias、Activation Function、Backpropagationなどの用語を押さえる必要があります。これらは、深層学習の基本構造を理解するための土台になります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Neural Network | ニューラルネットワーク | 複数の層と重みを使って入力から出力への関係を学習するモデルです。深層学習の基本構造です。 |
| Neuron | ニューロン | 入力を受け取り、重み付き和と活性化関数を通して出力を作る単位です。ニューラルネットワークの基本部品です。 |
| Layer | 層 | ニューロンをまとめた構造です。入力層、隠れ層、出力層などがあります。 |
| Weight | 重み | 入力の重要度を表すパラメータです。学習によって更新され、モデルの判断を形作ります。 |
| Bias | バイアス項 | ニューロンの出力を調整するための追加パラメータです。入力が0でも出力を調整できるようにします。 |
| Activation Function | 活性化関数 | ニューロンの出力に非線形性を加える関数です。ReLU、Sigmoid、Tanhなどがあります。 |
| Backpropagation | 誤差逆伝播法 | 損失の勾配を出力側から入力側へ伝え、各重みを更新する方法です。ニューラルネットワーク学習の中心です。 |
| Deep Learning | 深層学習 | 多層のニューラルネットワークを使う機械学習の分野です。画像認識、音声認識、自然言語処理などで大きな成果を出しています。 |
ニューラルネットワークは、非線形で複雑な関係を表現できる点が強みです。一方で、学習に時間がかかる、データ量が必要、説明が難しいといった課題もあります。モデル選定では、精度だけでなく、実務で扱えるかどうかも考える必要があります。
16. 深層学習モデル(Deep Learning Models)
深層学習では、データの種類に応じてさまざまなモデル構造が使われます。画像にはCNN、系列データにはRNNやLSTM、自然言語処理ではTransformerがよく使われてきました。近年では、Transformerはテキストだけでなく、画像、音声、マルチモーダル処理にも広く応用されています。
モデル名を覚えるだけではなく、それぞれがどのようなデータ構造に向いているのかを理解することが重要です。画像は局所的なパターンが重要であり、文章や時系列は順序や文脈が重要です。モデル構造は、データの性質に合わせて選ぶ必要があります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| CNN | 畳み込みニューラルネットワーク | 画像の局所的な特徴を捉えるのに強いモデルです。画像分類、物体検出、画像認識で広く使われます。 |
| RNN | 再帰型ニューラルネットワーク | 時系列や文章のような順序データを扱うモデルです。ただし、長い文脈の保持が難しいという課題があります。 |
| LSTM | LSTM | RNNの一種で、長期的な依存関係を扱いやすくしたモデルです。時系列予測や自然言語処理で使われてきました。 |
| Transformer | トランスフォーマー | Attentionを中心にしたモデル構造です。自然言語処理だけでなく、画像、音声、マルチモーダルにも広く使われています。 |
| Attention | アテンション | 入力のどの部分に注目するかを学習する仕組みです。長い文脈や重要な特徴を扱うために重要です。 |
| Embedding | 埋め込み | 単語、カテゴリ、画像特徴などを連続的なベクトルに変換した表現です。意味や類似性を数値空間で扱えるようにします。 |
| Pretraining | 事前学習 | 大量データであらかじめモデルを学習する工程です。その後、特定タスクに合わせて微調整することが多いです。 |
| Fine-tuning | ファインチューニング | 事前学習済みモデルを特定タスク向けに追加学習する方法です。少ないデータでも高性能を出しやすくなります。 |
深層学習モデルは、データの性質と目的に合わせて選びます。CNNは画像、RNNやLSTMは系列、Transformerは長い文脈や大規模事前学習に強いというように整理すると、モデル選定の理解が深まります。
17. 自然言語処理(Natural Language Processing)
自然言語処理は、人間の言語をコンピュータで扱う分野です。文章分類、翻訳、要約、検索、感情分析、チャットボット、生成AIなど、多くの応用があります。テキストはそのままでは数値ではないため、機械学習モデルで扱うにはトークン化や埋め込みが必要になります。
日本語では、英語と違って単語の区切りが明確でないため、トークン化の考え方が特に重要です。また、単語や文の意味をベクトルとして表現するEmbeddingは、検索、類似文判定、分類、生成など多くの処理で使われます。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| NLP | 自然言語処理 | 人間の言語をコンピュータで扱う分野です。翻訳、要約、感情分析、チャットボット、検索などで使われます。 |
| Token | トークン | 文章を分割した単位です。単語、文字、サブワードなどがトークンになります。モデルはこの単位で文章を処理します。 |
| Tokenization | トークン化 | 文章をトークンに分割する処理です。日本語では単語境界が明確でないため、形態素解析やサブワード分割が重要になります。 |
| Vocabulary | 語彙 | モデルが扱えるトークンの一覧です。語彙にない単語は未知語やサブワードとして処理されます。 |
| Word Embedding | 単語埋め込み | 単語をベクトルとして表現する方法です。意味が近い単語ほどベクトル空間でも近くなるように学習されます。 |
| Sentence Embedding | 文埋め込み | 文全体をベクトル化した表現です。類似文検索、クラスタリング、検索拡張などで使われます。 |
| Language Model | 言語モデル | 単語や文章の出現確率を学習するモデルです。文章生成、補完、翻訳、要約などの基盤になります。 |
| Prompt | プロンプト | 生成AIや言語モデルに与える指示文です。出力の質や方向性に大きく影響します。 |
自然言語処理では、文章をどう分割し、どう数値化し、どう意味を保持するかが重要です。近年はTransformer系モデルが中心ですが、Token、Embedding、Language Modelの基本理解は、生成AIや検索システムを理解するうえでも欠かせません。
18. 画像認識(Computer Vision)
画像認識は、画像や動画を解析し、その内容を理解する分野です。画像分類、物体検出、セグメンテーション、顔認識、医療画像分析、自動運転などで使われます。画像データはピクセルの集合として扱われますが、そのままでは高次元で情報量が多いため、特徴抽出や前処理が重要になります。
画像認識では、CNNやデータ拡張、バウンディングボックス、セグメンテーションなどの用語がよく登場します。タスクによって、画像全体を分類するのか、物体の位置を検出するのか、ピクセル単位で領域を分けるのかが変わります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Computer Vision | コンピュータビジョン | 画像や動画を解析し、内容を理解する分野です。画像分類、物体検出、顔認識、医療画像分析などで使われます。 |
| Image Classification | 画像分類 | 画像全体が何のカテゴリに属するかを予測するタスクです。犬・猫分類、製品分類、異常画像判定などが例です。 |
| Object Detection | 物体検出 | 画像内のどこに何があるかを検出するタスクです。物体の種類と位置を同時に予測します。 |
| Segmentation | セグメンテーション | 画像内の各ピクセルがどの領域に属するかを分類するタスクです。医療画像、自動運転、背景除去などで使われます。 |
| Bounding Box | バウンディングボックス | 物体の位置を囲む長方形です。物体検出で、検出対象の範囲を表すために使います。 |
| Data Augmentation | データ拡張 | 画像を回転、反転、拡大、色変更などして、学習データを増やす方法です。過学習対策に有効です。 |
| Convolution | 畳み込み | 画像の局所的な特徴を抽出する処理です。エッジ、模様、形状などを段階的に捉えるために使われます。 |
| Feature Map | 特徴マップ | 畳み込み処理によって得られる特徴の表現です。モデルが画像内のどこにどの特徴を見ているかを表します。 |
画像認識では、モデル構造だけでなく、画像サイズ、解像度、色空間、データ拡張、アノテーション品質が重要になります。特に物体検出やセグメンテーションでは、ラベルの精度がモデル性能に大きく影響します。
19. パイプラインと実務フロー(Pipeline & Workflow)
機械学習の実務では、データ収集、前処理、特徴量作成、学習、評価、保存、推論、監視までを一連の流れとして管理します。この流れを機械学習パイプラインとして設計すると、再現性と保守性が高まります。ノートブック上で一度だけ動くコードではなく、繰り返し実行できる処理として整理することが重要です。
パイプライン化によって、前処理漏れ、データリーク、再現不能な実験、本番環境とのズレを防ぎやすくなります。特にscikit-learnでは、PipelineやColumnTransformerを使うことで、前処理とモデルを一つの流れとして管理できます。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Machine Learning Pipeline | 機械学習パイプライン | データ処理からモデル学習、評価、推論までを一連の流れとして整理した仕組みです。再現性と自動化に重要です。 |
| Data Pipeline | データパイプライン | データの収集、変換、保存、更新を管理する流れです。モデルの前段階として非常に重要です。 |
| Training Pipeline | 学習パイプライン | 前処理、特徴量作成、学習、評価をまとめた流れです。実験を再現するために必要になります。 |
| Inference Pipeline | 推論パイプライン | 学習済みモデルを使って、実際の入力から予測結果を出す流れです。本番環境では速度と安定性が重要です。 |
| Pipeline | パイプライン | 複数の処理を順番につなげた仕組みです。scikit-learnでは前処理とモデルをまとめて扱うためによく使われます。 |
| ColumnTransformer | ColumnTransformer | 数値列とカテゴリ列など、列ごとに異なる前処理を適用するための仕組みです。表形式データで便利です。 |
| Reproducibility | 再現性 | 同じデータと設定で、同じ結果を再現できる性質です。実務や研究では非常に重要です。 |
| Experiment Tracking | 実験管理 | モデル、データ、パラメータ、評価結果を記録する仕組みです。どの実験が良かったかを後から確認できます。 |
パイプライン化の目的は、コードをきれいにすることだけではありません。学習時と予測時で同じ前処理を使うこと、評価条件を揃えること、実験結果を追跡できることが重要です。機械学習を実務で使うなら、パイプライン設計は避けて通れない考え方です。
20. モデル解釈と説明可能性(Interpretability & Explainability)
機械学習モデルは、予測結果だけでなく「なぜその予測になったのか」が重要になる場面があります。特に医療、金融、教育、人事、公共領域などでは、モデルが高精度であるだけでは不十分で、判断理由を説明できることが信頼性に関わります。
解釈性と説明可能性は近い概念ですが、少し違います。解釈性はモデル自体が人間に理解しやすい性質を指し、説明可能性は複雑なモデルの予測結果に対して説明を与える性質を指します。線形モデルや浅い決定木は解釈しやすく、深層学習や複雑なアンサンブルは説明補助が必要になることがあります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Interpretability | 解釈性 | モデルの判断理由を人間が理解しやすい性質です。線形モデルや浅い決定木は比較的解釈しやすいです。 |
| Explainability | 説明可能性 | モデルの予測結果を説明できる性質です。複雑なモデルでも、SHAPやLIMEなどを使って説明を補助できます。 |
| Feature Importance | 特徴量重要度 | どの特徴量が予測に強く影響したかを示す指標です。ただし、因果関係を示すものではありません。 |
| SHAP | SHAP | 各特徴量が予測結果にどの程度貢献したかを説明する手法です。個別予測の説明にも使いやすいです。 |
| LIME | LIME | 複雑なモデルの予測を、局所的に単純なモデルで近似して説明する手法です。個別の予測理由を理解するために使われます。 |
| Black Box Model | ブラックボックスモデル | 内部の判断過程が分かりにくいモデルです。高性能な深層学習モデルや複雑なアンサンブルモデルでよく問題になります。 |
| Model Transparency | モデル透明性 | モデルの構造や判断過程がどれだけ明確かを表す考え方です。説明責任が必要な領域で重要です。 |
| Human-in-the-loop | 人間参加型 | モデル判断に人間の確認や介入を組み込む設計です。高リスク判断や教育支援などで使われます。 |
説明可能性は、単なる技術的な補助ではなく、モデルを使う人や影響を受ける人が結果を信頼できるかに関係します。高精度でも説明できないモデルは、実務では採用しにくい場合があります。特に重要な判断を扱う場合は、人間による確認や介入を含めた設計が必要です。
21. MLOpsと運用(MLOps & Deployment)
機械学習モデルは、作って終わりではありません。本番環境にデプロイし、性能を監視し、入力データの変化に対応し、必要に応じて再学習する必要があります。この運用全体を支える考え方がMLOpsです。MLOpsは、機械学習モデルを継続的に安全に使うための仕組みだといえます。
実務では、開発時に高い精度が出たモデルでも、本番環境で時間が経つと性能が下がることがあります。ユーザー行動、季節、流行、市場環境、入力データの分布が変わるためです。そのため、モデルの性能やデータ分布を監視し、必要に応じて再学習やモデル更新を行う必要があります。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| MLOps | MLOps | 機械学習モデルの開発、デプロイ、監視、再学習を安定して運用するための仕組みです。DevOpsの考え方をMLに拡張したものです。 |
| Deployment | デプロイ | 学習済みモデルを本番環境で使える状態にすることです。API、バッチ処理、アプリ組み込みなど形式はさまざまです。 |
| Model Serving | モデルサービング | モデルに入力を渡し、予測結果を返す仕組みです。リアルタイムAPIや推論サーバーとして実装されることがあります。 |
| Monitoring | 監視 | 本番環境でモデルの性能、入力データ、予測結果、処理時間などを継続的に確認することです。 |
| Data Drift | データドリフト | 本番環境の入力データ分布が、学習時のデータ分布から変化する現象です。モデル性能低下の原因になります。 |
| Concept Drift | コンセプトドリフト | 入力と正解の関係そのものが時間とともに変わる現象です。市場変化、ユーザー行動変化、制度変更などで起こります。 |
| Retraining | 再学習 | 新しいデータを使ってモデルを再度学習することです。データ変化に対応するために必要になります。 |
| Model Versioning | モデルバージョン管理 | どのモデルをいつ、どのデータと設定で作ったかを管理する仕組みです。問題発生時の追跡やロールバックに重要です。 |
MLOpsでは、モデル精度だけでなく、安定性、再現性、監視、更新フローが重要になります。実務では「一度高精度なモデルを作る」よりも、「継続的に安全に改善できる仕組み」を作ることが求められます。
22. よくある問題と注意点(Common Issues)
機械学習では、コードが動いていても正しいとは限りません。データリーク、評価設計ミス、過学習、偏ったデータ、不適切な指標選択などによって、実際よりも性能が高く見えることがあります。こうした問題は、モデルのアルゴリズムよりも、データや評価設計に原因があることが多いです。
特に実務では、データが現実を正しく表しているか、本番環境で使える特徴量だけを使っているか、評価指標が目的に合っているかを確認する必要があります。問題を早い段階で見つけるためには、よくある失敗パターンを知っておくことが重要です。
| 英語(EN) | 日本語(JP) | 説明 |
|---|---|---|
| Data Leakage | データリーク | 本来使ってはいけない未来情報やテストデータ情報が学習に混ざる問題です。評価が不自然に高くなり、本番で性能が落ちます。 |
| Class Imbalance | クラス不均衡 | あるクラスのデータが極端に多く、別のクラスが少ない状態です。Accuracyだけでは性能を誤解しやすくなります。 |
| Sampling Bias | サンプリングバイアス | 収集されたデータが実際の分布を正しく表していない問題です。特定ユーザーや条件に偏ると、モデルも偏ります。 |
| Label Noise | ラベルノイズ | 正解ラベルに誤りやばらつきがある状態です。モデルが間違った情報を学んでしまう原因になります。 |
| Overfitting | 過学習 | 訓練データに合わせすぎて、未知データで性能が落ちる問題です。複雑なモデルやデータ不足で起きやすいです。 |
| Metric Mismatch | 指標ミスマッチ | 目的に合わない評価指標を使っている状態です。不正検知でAccuracyだけを見ると、重要な見逃しを評価できません。 |
| Distribution Shift | 分布変化 | 学習時と本番時でデータの分布が変わることです。モデルの性能が時間とともに低下する原因になります。 |
| Reproducibility Issue | 再現性問題 | 同じ実験を再現できない問題です。random seed、データバージョン、ライブラリバージョン管理が不足していると起こります。 |
機械学習の失敗は、モデルを高度にするだけでは解決できません。むしろ、データの流れ、分割方法、評価指標、運用環境を見直すことで解決することが多くあります。モデル改善の前に、問題設計と評価設計が正しいかを確認することが大切です。
まとめ
機械学習は、データ、特徴量、モデル、損失関数、評価指標、最適化、過学習対策、パイプライン、運用までがつながった技術です。用語をカテゴリごとに整理すると、どの工程で何を考えるべきかが見えやすくなります。単語だけを暗記するのではなく、データから学習し、評価し、改善し、本番で運用する流れの中で理解することが重要です。
特に重要なのは、Feature、Label、Train-Test Split、Loss Function、Evaluation Metric、Overfitting、Generalization、Pipeline、Data Leakage、MLOpsです。これらを押さえると、機械学習を単なるモデル実装ではなく、データから運用まで含めた設計として理解できるようになります。
機械学習の学習では、アルゴリズム名を覚えることも大切ですが、それ以上に「どの問題に対して、どのデータを使い、どの指標で評価し、どのように運用するのか」を考える力が重要です。用語を体系的に理解することで、モデルの実装だけでなく、実務で使える機械学習設計に近づくことができます。
EN
JP
KR