機械学習用語集: ML の基礎

このページでは、ML の基礎の用語集について説明します。すべての用語集の用語については、こちらをクリックしてください。

A

accuracy

#fundamentals

正しい分類予測の数を予測の合計数で割った値。つまり:

$$\text{Accuracy} = \frac{\text{correct predictions}} {\text{correct predictions + incorrect predictions }}$$

たとえば、正しい予測を 40 回行ったモデルと誤った予測を 10 回行ったモデルの精度は次のようになります。

$$\text{Accuracy} = \frac{\text{40}} {\text{40 + 10}} = \text{80%}$$

バイナリ分類では、正しい予測と誤った予測のカテゴリに具体的な名前が付けられます。したがって、バイナリ分類の精度式は次のようになります。

$$\text{Accuracy} = \frac{\text{TP} + \text{TN}} {\text{TP} + \text{TN} + \text{FP} + \text{FN}}$$

ここで

  • TP は、真陽性(正しい予測)の数です。
  • TN は、真陰性(正しい予測)の数です。
  • FP は、偽陽性(誤った予測)の数です。
  • FN は、偽陰性(誤った予測)の数です。

精度および再現率で精度を比較対照します。

活性化関数

#fundamentals

ニューラル ネットワークが特徴とラベルの間の非線形(複雑な)関係を学習できるようにする関数。

よく使用される活性化関数には、次のものがあります。

活性化関数のプロットは単一の直線ではありません。たとえば、ReLU 活性化関数のプロットは 2 つの直線で構成されています。

2 直線のデカルト図。最初の行の y 値は定数 0 で、x 軸に沿って -infinity,0 から 0,-0 まで続きます。2 行目は 0,0 から始まります。この直線の傾きは +1 で、0,0 から +infinity + infinity まで続きます。

シグモイド活性化関数のプロットは次のようになります。

x 値が領域の無限大から正の範囲にまたがり、y 値がほぼ 0 からほぼ 1 の範囲にわたる 2 次元曲線プロット。x が 0 のとき、y は 0.5 である。曲線の傾きは常に正で、最も高い傾きは 0.0.5 で、x の絶対値が増加するにつれて傾きは徐々に減少します。

意思決定の

#fundamentals

高度なタスクを解決できる人間以外のプログラムまたはモデルmodel。たとえば、テキストを翻訳するプログラムやモデル、あるいは放射線画像から疾患を特定するプログラムやモデルは、どちらも人工知能を示します。

正式には、機械学習は人工知能のサブフィールドです。しかし、近年では、人工知能と機械学習という用語を同じ意味で使用し始めている組織もあります。

AUC(ROC 曲線の下の面積)

#fundamentals

陽性クラス陰性クラスから分離するバイナリ分類モデルの機能を表す、0.0 ~ 1.0 の数値。AUC が 1.0 に近いほど、モデルはクラスを互いに分離する能力が高くなります。

たとえば次の図は、陽性のクラス(緑色の楕円)と陰性のクラス(紫の長方形)を完全に分離する分類モデルを示しています。この非現実的に完璧なモデルの AUC は 1.0 です。

片側に 8 つの正の例、反対側に 9 つの負の例がある数直線。

逆に、次の図は、ランダムな結果を生成した分類モデルの結果を示しています。このモデルの AUC は 0.5 です。

6 つの肯定的な例と 6 つの否定的な例を含む数直線。
          サンプルの順序には、Positive、Negative、Positive、Negative、Positive、Negative、Positive、Negative、Positive、Positive、Positive、Negative です。

はい。前のモデルの AUC は 0.0 ではなく 0.5 です。

ほとんどのモデルは、この 2 つの極端の間に位置しています。たとえば、次のモデルでは陽性と陰性を多少区別するため、AUC が 0.5 ~ 1.0 になります。

6 つの肯定的な例と 6 つの否定的な例を含む数直線。
          サンプルの順序には、Negative、Negative、Negative、Negative、Positive、Negative、Positive、Positive、Negative、Positive、Positive、Positive です。

AUC は分類しきい値に設定した値を無視します。代わりに、AUC は可能性のあるすべての分類しきい値を考慮します。

B

バックプロパゲーション

#fundamentals

ニューラル ネットワーク勾配降下法を実装するアルゴリズム。

ニューラル ネットワークのトレーニングでは、次の 2 パス サイクルの反復を多数行います。

  1. フォワードパスの際、システムはサンプルバッチを処理して予測を生成します。システムは、各予測を各ラベル値と比較します。予測とラベル値の違いが、この例の損失です。システムは、すべてのサンプルの損失を集計して、現在のバッチの損失の合計を計算します。
  2. バックワード パス(バックプロパゲーション)中は、すべての隠れ層にあるすべてのニューロンの重みが調整され、損失が低減されます。

多くの場合、ニューラル ネットワークには多くの隠れ層にまたがる多くのニューロンが含まれています。これらのニューロンはそれぞれ、さまざまな方法で全体的な損失に寄与します。バックプロパゲーションにより、特定のニューロンに適用する重みを増減するかどうかが決まります。

学習率は、各バックワード パスが各重みを増減する度合いを制御する乗数です。学習率を大きくすると、小さな学習率の場合よりも各重みが増減します。

計算的には、バックプロパゲーションは計算のチェーンルールを実装します。つまり、バックプロパゲーションでは、各パラメータを考慮して誤差の偏微分係数を計算します。詳細については、機械学習集中講座のチュートリアルをご覧ください。

何年も前、ML の実務担当者は、バックプロパゲーションを実装するためのコードを記述する必要がありました。TensorFlow のような最新の ML API には、バックプロパゲーションが実装されています。さて、

batch

#fundamentals

1 回のトレーニングのイテレーションで使用される一連のバッチサイズにより、バッチのサンプル数が決まります。

バッチとエポックの関係については、エポックをご覧ください。

バッチサイズ

#fundamentals

バッチ内のサンプルの数。 たとえば、バッチサイズが 100 の場合、モデルはイテレーションごとに 100 個のサンプルを処理します。

一般的なバッチサイズ戦略は次のとおりです。

  • 確率的勾配降下法(SGD)。バッチサイズは 1 です。
  • 完全なバッチ。バッチサイズはトレーニング セット全体のサンプル数です。たとえば、トレーニング セットに 100 万サンプルが含まれている場合、バッチサイズは 100 万サンプルになります。通常、完全なバッチは非効率的な戦略です。
  • ミニバッチ。バッチサイズは通常 10 ~ 1,000 です。通常、ミニバッチが最も効率的な方法です。

バイアス(倫理/公平性)

#fairness
#fundamentals

1. ある物事、人々、集団に対する固定観念、偏見、偏見。こうしたバイアスは、データの収集と解釈、システムの設計、ユーザーがシステムとやり取りする方法に影響する可能性があります。この種のバイアスには次のものがあります。

2. サンプリングまたはレポートの手順によって生じる体系的な誤差。この種のバイアスには次のものがあります。

機械学習モデルにおけるバイアス項予測バイアスと混同しないようにしてください。

バイアス(数学)またはバイアス項

#fundamentals

起点からの切片またはオフセット。バイアスは機械学習モデルのパラメータであり、次のいずれかで表されます。

  • b
  • w0

たとえば、バイアスは次の式の b になります。

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

単純な 2 次元直線では、バイアスとは単に「y 切片」を意味します。 たとえば、次の図の直線のバイアスは 2 です。

傾きが 0.5、バイアス(y 切片)が 2 の直線のプロット。

すべてのモデルが原点(0,0)から始まるわけではないため、バイアスが存在します。たとえば、遊園地の入場料が 2 ユーロで、顧客が 1 時間滞在するごとに 0.5 ユーロが追加されます。したがって、総コストをマッピングするモデルでは、最小コストが 2 ユーロであるため、バイアスが 2 になります。

バイアスを倫理や公平性のバイアス予測バイアスと混同しないでください。

バイナリ分類

#fundamentals

相互に排他的な 2 つのクラスのいずれかを予測する分類タスクの一種。

たとえば、次の 2 つの機械学習モデルは、それぞれバイナリ分類を行います。

  • メール メッセージが迷惑メール(陽性クラス)か、迷惑メールではない(陰性クラス)を判断するモデル。
  • 医学的症状を評価し、人が特定の病気にかかっているか(陽性クラス)、その疾患がない(陰性クラス)かを判断するモデル。

マルチクラス分類とは対照的です。

ロジスティック回帰分類しきい値もご覧ください。

バケット化

#fundamentals

通常、値の範囲に基づいて、1 つの特徴をバケットまたはビンと呼ばれる複数のバイナリ特徴に変換します。通常、チョップされた対象物は連続的な対象物です。

たとえば、温度を単一の連続した浮動小数点特徴量として表現する代わりに、温度の範囲を以下のような個別のバケットに切り分けることができます。

  • 摂氏 10 度以下であれば「コールド」バケットです。
  • 摂氏 11 ~ 24 度が「温帯」バケットです。
  • 摂氏 25 度以上であれば「ウォーム」バケットです。

このモデルは、同じバケットのすべての値を同じように扱います。たとえば、値 1322 はどちらも一時バケット内にあるため、モデルは 2 つの値を同じように扱います。

C

カテゴリデータ

#fundamentals

特定の有効な値のセットを持つ特徴。たとえば、traffic-light-state という名前のカテゴリ特徴について考えてみましょう。この特徴は、次の 3 つの値のいずれかしか持つことができません。

  • red
  • yellow
  • green

traffic-light-state をカテゴリ特徴として表すことで、モデルはドライバーの行動に対する redgreenyellow の異なる影響を学習できます。

カテゴリ特徴は、離散特徴と呼ばれることもあります。

数値データと比較します。

クラス

#fundamentals

ラベルが属するカテゴリ。例:

  • スパムを検出するバイナリ分類モデルでは、2 つのクラスがスパムであり、スパムではないという場合があります。
  • 犬の品種を識別するマルチクラス分類モデルでは、クラスがプードル、ビーグル、パグなどになります。

分類モデルはクラスを予測します。これに対して、回帰モデルはクラスではなく数値を予測します。

分類モデル

#fundamentals

予測がクラスmodelであるモデルmodel。たとえば、すべての分類モデルは次のとおりです。

  • 入力文の言語を予測するモデル(フランス語、スペイン語ですか? イタリア語など)。
  • 樹種を予測するモデル(Maple、オーク?Baobab など)?
  • 特定の病状の陽性または陰性のクラスを予測するモデル。

これに対して、回帰モデルはクラスではなく数値を予測します。

一般的な分類モデルには次の 2 つがあります。

分類しきい値

#fundamentals

バイナリ分類では、ロジスティック回帰モデルの生の出力を陽性クラスまたは陰性クラスのいずれかの予測に変換する 0 から 1 までの数値を指定します。分類しきい値は、モデルのトレーニングで選択された値ではなく、人が選択する値であるので注意してください。

ロジスティック回帰モデルは、0 ~ 1 の未加工の値を出力します。以下の手順を行います。

  • この未加工の値が分類しきい値より大きい場合、陽性のクラスが予測されます。
  • この未加工の値が分類しきい値よりも小さい場合、陰性クラスが予測されます。

たとえば、分類しきい値が 0.8 であるとします。未加工の値が 0.9 の場合、モデルは陽性のクラスを予測します。未加工の値が 0.7 の場合、モデルは陰性クラスを予測します。

分類しきい値の選択は、偽陽性偽陰性の数に強く影響します。

クラス不均衡なデータセット

#fundamentals

各クラスのラベルの合計数が大幅に異なる分類問題のデータセット。たとえば、2 つのラベルが次のように分割されているバイナリ分類データセットについて考えてみましょう。

  • 1,000,000 個の除外ラベル
  • 10 個の肯定的なラベル

陰性ラベルと陽性ラベルの比率は 100,000 対 1 であるため、これはクラス不均衡なデータセットとなります。

これとは対照的に、次のデータセットは、負のラベルと正のラベルの比率が比較的 1 に近いため、クラス不均衡ではありません。

  • 517 個の除外ラベル
  • 483 個の肯定的なラベル

マルチクラス データセットもクラス不均衡になる可能性があります。たとえば、次のマルチクラス分類データセットも、1 つのラベルが他の 2 つのラベルよりもはるかに多くの例を持っているため、クラス不均衡です。

  • クラスが「green」のラベルが 1,000,000 個
  • クラスが「紫」のラベルが 200 個
  • クラス「オレンジ」の 350 個のラベル

エントロピーマジョリティ クラスマイノリティ クラスもご覧ください。

クリッピング

#fundamentals

次のいずれかまたは両方を行って外れ値を処理する手法。

  • 最大しきい値を超える特徴値をその最大しきい値まで減らす。
  • 最小しきい値未満の特徴値をその最小しきい値まで増やす。

たとえば、特定の特徴に対する 0.5% 未満の値が 40 ~ 60 の範囲外であるとします。この場合、次のことができます。

  • 60(最大しきい値)を超えるすべての値をクリップして、正確に 60 にします。
  • 40(最小しきい値)未満のすべての値をクリップして 40 にします。

外れ値はモデルに損傷を与える可能性があり、トレーニング中に重みがオーバーフローすることがあります。また、外れ値によっては、精度などの指標が大幅に損なわれる可能性もあります。クリッピングは、損傷を制限する一般的な手法です。

勾配クリッピングは、トレーニング中に勾配値を指定された範囲内に強制します。

混同行列

#fundamentals

分類モデルによる正しい予測と誤った予測の数をまとめた NxN テーブル。たとえば、バイナリ分類モデルで次の混同行列があるとします。

腫瘍(予測) 非腫瘍(予測)
腫瘍(正解) 18(TP) 1(FN)
非腫瘍(正解) 6(FP) 452(TN)

上の混同行列は次のとおりです。

  • 正解が Tumor である 19 件の予測のうち、モデルは 18 件を正しく分類し、誤って 1 件を分類しました。
  • 正解が非腫瘍である 458 件の予測のうち、モデルは 452 件を正しく分類し、6 件を誤って分類しました。

マルチクラス分類問題の混同行列は、誤りのパターンを特定するのに役立ちます。たとえば、3 つの異なる虹彩の種類(Virginica、Versicolor、Setosa)を分類する 3 クラス マルチクラス分類モデルについて、次の混同行列があるとします。グラウンド トゥルースがバージニカの場合、混同行列は、モデルが Setosa よりも Versicolor を誤って予測する可能性がはるかに高いことを示しています。

  瀬戸佐(予測) Versicolor(予測) バージニカ(予測)
瀬戸佐(正解) 88 12 0
Versicolor(正解) 6 141 7
バージニカ(グラウンド トゥルース) 2 27 109

さらに別の例として、混同行列から、手書きの数字を認識するようにトレーニングされたモデルが、4 ではなく 9 と誤って予測したり、7 と誤って 1 と予測したりする傾向があることがわかります。

混同行列には、適合率再現率など、さまざまなパフォーマンス指標を計算するための十分な情報が含まれています。

連続的な特徴

#fundamentals

温度や重量など、有効な値の範囲が無限である浮動小数点特徴

非連続特徴と対比してください。

収束

#fundamentals

損失の値が各反復処理でほとんどまたはまったく変化しない場合に達成される状態。たとえば、次の損失曲線は、約 700 回の反復処理で収束することを示しています。

デカルト図。X 軸は損失です。Y 軸はトレーニングのイテレーション回数です。最初の数回の反復処理で損失が非常に大きいものの、急激に減少します。約 100 回のイテレーションの後、損失はまだ減少していますが、はるかに緩やかになっています。約 700 回の反復後、損失は横ばいのままです。

追加のトレーニングでモデルが改善されない場合、モデルは収束します。

ディープ ラーニングでは、最終的に減少するまでに多くのイテレーションで損失値が一定またはほぼ一定に保たれる場合があります。損失値が一定である時間が長い場合は、一時的に収束感が不正確になることがあります。

早期停止もご覧ください。

D

DataFrame

#fundamentals

メモリ内のデータセットを表すためによく使用されている pandas データ型。

DataFrame はテーブルやスプレッドシートに似ています。DataFrame の各列には名前(ヘッダー)があり、各行は一意の番号で識別されます。

DataFrame の各列は 2D 配列のように構造化されていますが、各列には独自のデータ型を割り当てることができます。

公式の pandas.DataFrame リファレンス ページもご覧ください。

データセットまたはデータセット

#fundamentals

元データのコレクション。通常、次のいずれかの形式で整理されます(ただし、すべてに限定されません)。

  • スプレッドシート
  • CSV(カンマ区切り値)形式のファイル

ディープ モデル

#fundamentals

複数の隠しレイヤを含むニューラル ネットワーク

ディープモデルは、ディープ ニューラル ネットワークとも呼ばれます。

ワイドモデルとは対照的です。

密な特徴

#fundamentals

ほとんどまたはすべての値がゼロでない特徴(通常は浮動小数点値のテンソル)。たとえば、次の 10 要素テンソルは、9 個の値がゼロ以外のため密です。

8 3 7 5 2 4 0 4 9 6

スパースな特徴と対比してください。

depth

#fundamentals

ニューラル ネットワークにおける以下の合計。

たとえば、5 つの隠れ層と 1 つの出力層があるニューラル ネットワークの場合、深度は 6 です。

なお、入力レイヤは奥行きに影響しません。

個別の特徴

#fundamentals

有限の有効な値のセットを持つ特徴。たとえば、値が動物、野菜、鉱物のみである特徴は、離散(またはカテゴリ)特徴です。

連続機能とは対照的です。

動的

#fundamentals

頻繁にまたは継続的に行われている。 機械学習における「動的」と「オンライン」という用語は同義語です。機械学習における動的とオンラインの一般的な使用例を次に示します。

  • 動的モデル(またはオンライン モデル)は、頻繁に、または継続的に再トレーニングされるモデルです。
  • 動的トレーニング(またはオンライン トレーニング)は、頻繁または継続的にトレーニングを行うプロセスです。
  • 動的推論(オンライン推論)は、オンデマンドで予測を生成するプロセスです。

動的モデル

#fundamentals

再トレーニングが頻繁に(場合によっては継続的に)行われるモデルmodel。動的モデルは、進化するデータに絶えず適応する「生涯学習者」です。動的モデルは、オンライン モデルとも呼ばれます。

静的モデルと比較します。

E

早期停止

#fundamentals

トレーニングの損失の減少が終わる前にトレーニングを終了する正則化のメソッド。早期停止では、検証データセットの損失が増加し始めたとき、つまり一般化のパフォーマンスが悪化したときに、モデルのトレーニングを意図的に停止します。

Embedding レイヤ、

#language
#fundamentals

特別な隠しレイヤ。高次元のカテゴリ特徴をトレーニングして、低次元のエンベディング ベクトルを徐々に学習します。エンベディング レイヤを使用することで、ニューラル ネットワークは高次元カテゴリ特徴だけをトレーニングするよりもはるかに効率的にトレーニングできます。

たとえば、地球は現在約 73,000 種の樹木をサポートしています。樹種がモデルの特徴である場合、モデルの入力レイヤには長さが 73,000 のワンホット ベクトルが含まれているとします。たとえば、baobab は次のように表されます。

73,000 個の要素の配列。最初の 6,232 個の要素は値 0 を保持します。次の要素は値 1 を保持します。最後の 66,767 の要素は値 0 を保持します。

73,000 要素の配列は非常に長いです。モデルにエンベディング レイヤを追加しないと、72,999 個のゼロが乗算されるため、トレーニングに非常に時間がかかります。エンベディング レイヤを 12 次元で構成するのもよいでしょう。そのため、埋め込みレイヤは、樹種ごとに新しい埋め込みベクトルを徐々に学習します。

状況によっては、エンベディング レイヤの代わりとしてハッシュが合理的です。

エポック

#fundamentals

が 1 回処理されたようなトレーニング セット全体に対する完全なトレーニング パス。

エポックは、N/バッチサイズのトレーニングのイテレーションを表します。ここで、N はサンプルの合計数です。

たとえば、次のような状況を考えます。

  • データセットは 1,000 個のサンプルで構成されています。
  • バッチサイズは 50 サンプルです。

したがって、1 つのエポックで 20 回の反復処理が必要になります。

1 epoch = (N/batch size) = (1,000 / 50) = 20 iterations

#fundamentals

features の 1 行の値と、場合によってはラベルの値。教師あり学習の例は、次の 2 つの一般的なカテゴリに分類されます。

  • ラベル付きのサンプルは、1 つ以上の特徴とラベルで構成されています。ラベル付きのサンプルは、トレーニング中に使用されます。
  • ラベルのないサンプルは、1 つ以上の特徴で構成されていますが、ラベルは構成されていません。ラベルのないサンプルは推論で使用されます。

たとえば、学生のテストスコアに対する天候の影響を判断するためにモデルをトレーニングするとします。次の 3 つのラベル付きサンプルをご覧ください。

機能 ラベル
temperature 湿度 気圧 テストスコア
15 47 998 良好
19 34 1020 非常に良い
18 92 1012 悪い

次に、ラベルのない 3 つの例を示します。

temperature 湿度 気圧  
12 62 1014  
21 47 1017  
19 41 1021  

通常、データセットの行は一例としての未加工のソースです。 つまり、サンプルは通常、データセット内の列のサブセットで構成されます。さらに、例の特徴には、特徴クロスなどの合成特徴を含めることもできます。

F

偽陰性(FN)

#fundamentals

モデルが誤ってネガティブ クラスを予測した例。たとえば、モデルは特定のメール メッセージが迷惑メールではない(陰性クラス)と予測しますが、そのメール メッセージは実際には迷惑メールです。

偽陽性(FP)

#fundamentals

モデルが陽性のクラスを誤って予測した例。たとえば、モデルは特定のメール メッセージがスパム(陽性クラス)であると予測しますが、そのメール メッセージは実際にはスパムではありません

偽陽性率(FPR)

#fundamentals

実際のネガティブ サンプルについて、モデルが陽性クラスを誤って予測した割合。偽陽性率は次のように計算されます。

$$\text{false positive rate} = \frac{\text{false positives}}{\text{false positives} + \text{true negatives}}$$

偽陽性率は ROC 曲線の X 軸です。

特徴;特徴表現

#fundamentals

機械学習モデルへの入力変数。サンプルは、1 つ以上の特徴で構成されています。たとえば、学生のテストスコアに対する天候の影響を判断するためにモデルをトレーニングするとします。次の表に、3 つの例を示します。それぞれに 3 つの特徴と 1 つのラベルが含まれています。

機能 ラベル
temperature 湿度 気圧 テストスコア
15 47 998 92
19 34 1020 84
18 92 1012 87

label と対比してください。

特徴クロス

#fundamentals

カテゴリ特徴またはバケット化された特徴を「クロス」することで形成される合成特徴

たとえば、次の 4 つのバケットのいずれかで体温を表す「気分予測」モデルについて考えてみましょう。

  • freezing
  • chilly
  • temperate
  • warm

風速を次の 3 つのバケットのいずれかで表します。

  • still
  • light
  • windy

特徴クロスがない場合、線形モデルは上記の 7 つのバケットで個別にトレーニングを行います。そのため、このモデルは、windy などのトレーニングとは無関係に、freezing などでトレーニングを行います。

または、温度と風速の特徴クロスを作成することもできます。この合成特徴は、次の 12 個の値を取ります。

  • freezing-still
  • freezing-light
  • freezing-windy
  • chilly-still
  • chilly-light
  • chilly-windy
  • temperate-still
  • temperate-light
  • temperate-windy
  • warm-still
  • warm-light
  • warm-windy

特徴クロスにより、モデルは freezing-windy 日と freezing-still 日の気分の違いを学習できます。

それぞれに多数の異なるバケットを持つ 2 つの特徴から合成特徴を作成すると、結果として得られる特徴クロスの組み合わせは膨大な数になります。たとえば、1 つの特徴に 1,000 個のバケットがあり、もう 1 つの特徴に 2,000 個のバケットがある場合、結果として得られる特徴クロスのバケットは 2,000,000 個です。

正式には、クロスはデカルト積です。

特徴クロスは主に線形モデルで使用され、ニューラル ネットワークではほとんど使用されません。

特徴エンジニアリング

#fundamentals
#TensorFlow

以下の手順を含むプロセスです。

  1. モデルのトレーニングに役立つ特徴を決定する。
  2. データセットの元データを、これらの機能の効率的なバージョンに変換する。

たとえば、temperature が有用な機能であると判断すると、次に、バケット化を試して、モデルがさまざまな temperature 範囲から学習できるものを最適化できます。

特徴量エンジニアリングは、特徴量抽出と呼ばれることもあります。

特徴セット

#fundamentals

機械学習モデルでトレーニングされる特徴のグループ。たとえば、郵便番号、物件の大きさ、物件の状態から、住宅価格を予測するモデルの単純な特徴セットを構成できます。

特徴ベクトル

#fundamentals

サンプルを構成する feature 値の配列。特徴ベクトルは、トレーニング時と推論時に入力されます。たとえば、2 つの離散的な特徴を持つモデルの特徴ベクトルは次のようになります。

[0.92, 0.56]

4 つのレイヤ: 入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤです。
          入力レイヤには 2 つのノードがあり、1 つは値 0.92 を含み、もう 1 つは値 0.56 が含まれています。

各例で特徴ベクトルの値が異なるため、次の例の特徴ベクトルは次のようになります。

[0.73, 0.49]

特徴量エンジニアリングは、特徴ベクトルで特徴を表現する方法を決定します。たとえば、5 つの可能な値を持つバイナリ カテゴリ特徴は、ワンホット エンコーディングで表現される場合があります。この場合、特定の例の特徴ベクトルの部分は、次のように 4 つの 0 と 3 つ目の位置にある 1 つの 1.0 で構成されます。

[0.0, 0.0, 1.0, 0.0, 0.0]

別の例として、モデルが次の 3 つの特徴で構成されているとします。

  • ワンホット エンコーディングで表される 5 つの可能な値を持つバイナリ カテゴリ特徴。例: [0.0, 1.0, 0.0, 0.0, 0.0]
  • ワンホット エンコーディングで表現される 3 つの可能な値を持つもう一つのバイナリ カテゴリ特徴。例: [0.0, 0.0, 1.0]
  • 浮動小数点特徴(例: 8.3)。

この場合、各例の特徴ベクトルは 9 つの値で表現されます。上記のリストの値の例の場合、特徴ベクトルは次のようになります。

0.0
1.0
0.0
0.0
0.0
0.0
0.0
1.0
8.3

フィードバック ループ

#fundamentals

ML では、モデルの予測が、同じモデルまたは別のモデルのトレーニング データに影響する状況。たとえば、映画をおすすめするモデルは、ユーザーに表示される映画に影響を及ぼし、その後に続く映画のレコメンデーション モデルにも影響を及ぼします。

G

一般化

#fundamentals

未知の新しいデータに対して正しい予測を行うモデルの能力。一般化できるモデルは、過学習のモデルと逆の存在です。

一般化曲線

#fundamentals

イテレーション回数の関数としての、トレーニングの損失検証の損失の両方のプロット。

一般化曲線は、潜在的な過学習を検出するのに役立ちます。たとえば、次の一般化曲線は、検証の損失が最終的にトレーニングの損失よりも著しく高くなるため、過学習を示しています。

y 軸を「loss」、x 軸を「iterations」とするデカルトグラフ。2 つのプロットが表示されます。1 つのプロットはトレーニングの損失を示し、もう 1 つのプロットは検証の損失を示しています。2 つのプロットも同じように始まりますが、トレーニングの損失は最終的に検証の損失よりもはるかに小さくなります。

勾配降下法

#fundamentals

損失を最小限に抑える数学的手法。勾配降下法は、重みバイアスを繰り返し調整し、損失を最小限に抑える最適な組み合わせを徐々に見つけます。

勾配降下法は、機械学習よりもはるかに古く、はるかに古いものです。

正解

#fundamentals

現実。

実際に起きたことです。

たとえば、大学 1 年目の学生が 6 年以内に卒業するかどうかを予測するバイナリ分類モデルについて考えてみましょう。このモデルの正解は、その学生が実際に 6 年以内に卒業したかどうかです。

H

隠れ層

#fundamentals

入力レイヤ(特徴)と出力レイヤ(予測)の間のニューラル ネットワークのレイヤ。各隠しレイヤは、1 つ以上のニューロンで構成されています。 たとえば、次のニューラル ネットワークには 2 つの隠しレイヤがあります。1 つ目のレイヤには 3 つのニューロンがあり、2 つ目のレイヤには 2 つのニューロンがあります。

4 つのレイヤ。最初のレイヤは、2 つの特徴を含む入力レイヤです。2 番目のレイヤは、3 つのニューロンを含む隠しレイヤです。3 番目のレイヤは、2 つのニューロンを含む隠しレイヤです。4 番目のレイヤは出力レイヤです。各対象物には 3 つのエッジがあり、それぞれが 2 番目のレイヤの異なるニューロンを指しています。2 番目のレイヤの各ニューロンには 2 つのエッジがあり、それぞれが 3 番目のレイヤの異なるニューロンを指しています。3 番目のレイヤ内の各ニューロンには 1 つのエッジが含まれ、それぞれが出力レイヤを指しています。

ディープ ニューラル ネットワークには複数の隠れ層が含まれています。たとえば上の図は、モデルに 2 つの隠れ層が含まれているため、ディープ ニューラル ネットワークです。

ハイパーパラメータ

#fundamentals

ユーザーまたはハイパーパラメータ調整サービスがモデルのトレーニングを連続して実行している間、これらの変数が調整されます。たとえば、学習率はハイパーパラメータです。トレーニング セッションを 1 回開始する前に、学習率を 0.01 に設定できます。0.01 が高すぎると判断した場合は、次のトレーニング セッションの学習率を 0.003 に設定することをおすすめします。

一方、パラメータは、モデルがトレーニング中に学習するさまざまな重みとバイアスです。

I

独立して同一に分布する(i.i.d)

#fundamentals

変化しない分布から描画され、各値が描画された値に依存しないデータ。i.i.d. は機械学習の理想的な気体です。これは有用な数学的構造ですが、現実の世界ではほとんど見られないものです。たとえば、ウェブページへの訪問者の分布は短い期間にわたって変化します。つまり、その短い期間に分布は変化せず、あるユーザーによる訪問は一般的に別の訪問とは無関係です。ただし、対象期間を延長すると、ウェブページにアクセスしたユーザーに季節ごとの変動が見られる場合があります。

非定常性もご覧ください。

推論

#fundamentals

機械学習において、トレーニング済みモデルをラベルのないサンプルに適用して予測を行うプロセス。

統計における推論の意味は、若干異なります。詳しくは、 統計的推論に関する Wikipedia の記事をご覧ください。

入力レイヤ

#fundamentals

特徴ベクトルを保持するニューラル ネットワークレイヤ。つまり、入力レイヤは、トレーニングまたは推論を提供します。たとえば、次のニューラル ネットワークの入力レイヤは 2 つの特徴で構成されています。

4 つのレイヤ: 入力レイヤ、2 つの隠しレイヤ、出力レイヤです。

解釈可能性

#fundamentals

ML モデルの推論を人間に理解しやすい言葉で説明または提示する能力。

たとえば、ほとんどの線形回帰モデルは、非常に解釈しやすいモデルです。(必要なのは、各特徴に対してトレーニングされた重みを確認することだけです)。デシジョン フォレストも非常に解釈が簡単です。ただし、一部のモデルでは、解釈可能にするために高度な可視化が必要です。

学習解釈ツール(LIT)を使用して ML モデルを解釈できます。

繰り返し

#fundamentals

トレーニング中に、モデルのパラメータ(モデルの重みバイアス)を 1 回更新すること。バッチサイズにより、1 回の反復処理でモデルが処理するサンプル数が決まります。たとえば、バッチサイズが 20 の場合、モデルは 20 個のサンプルを処理してからパラメータを調整します。

ニューラル ネットワークをトレーニングする場合、1 回のイテレーションに次の 2 つのパスが含まれます。

  1. 単一のバッチで損失を評価するためのフォワードパス。
  2. 損失と学習率に基づいてモデルのパラメータを調整するバックプロパゲーション

L

L0 正則化

#fundamentals

モデル内のゼロ以外の重みの合計数にペナルティをかける正則化の一種。たとえば、非ゼロの重みが 11 個のモデルには、非ゼロの重みが 10 個ある同様のモデルよりもペナルティが課せられます。

L0 正則化は、L0 ノルム正則化と呼ばれることもあります。

L1 損失

#fundamentals

損失関数。実際のラベル値と、モデルが予測した値の差の絶対値を計算します。たとえば、5 つのバッチに対する L1 損失の計算は次のようになります。

例の実際の値 モデルの予測値 デルタの絶対値
7 6 1
5 4 1
8 11 3
4 6 2
9 8 1
  8 = L1 損失

L1 損失は、L2 損失に比べて外れ値の影響が小さくなります。

平均絶対誤差は、例ごとの L1 損失の平均です。

L1 正則化

#fundamentals

重みの絶対値の合計に応じて重みにペナルティをかける正則化の一種。L1 正則化は、無関係またはほとんど関連性のない特徴の重みをちょうど 0 にするうえで役立ちます。重みが 0 の特徴は、事実上モデルから除去されます。

L2 正則化とは対照的です。

L2 損失

#fundamentals

損失関数。実際のラベル値と、モデルが予測した値の差の 2 乗を計算します。たとえば、5 つのバッチに対する L22 損失を計算する場合、次のようになります。

例の実際の値 モデルの予測値 デルタの 2 乗
7 6 1
5 4 1
8 11 9
4 6 4
9 8 1
  16 = L2 損失

二乗により、L2 損失は外れ値の影響を増幅します。つまり、L2 損失は、L1 損失よりも悪い予測に強く反応します。たとえば、直前のバッチの L1 損失は 16 ではなく 8 になります。16 個のうち 9 個が 1 つの外れ値で占められていることに注意してください。

回帰モデルでは通常、損失関数として L2 損失を使用します。

平均二乗誤差は、例ごとの L2 損失の平均です。二乗損失は L2 損失の別名です。

L2 正則化

#fundamentals

重みの 2 乗の合計に応じて重みにペナルティをかける正則化の一種。L2 正則化は、外れ値の重み(高い正の値または低い負の値を持つもの)を 0 に近づけますが、まったく 0 ではないようにするのに役立ちます。値が 0 に非常に近い特徴はモデルに残りますが、モデルの予測にはほとんど影響しません。

L2 正則化は、線形モデルでの一般化を常に改善します。

L1 正則化とは対照的です。

ラベル

#fundamentals

教師あり機械学習において、の「回答」または「結果」の部分。

ラベル付きのサンプルは、それぞれ 1 つ以上の特徴とラベルで構成されています。たとえば、スパム検出データセットでは、ラベルは「スパム」または「スパムではない」のいずれかになります。降雨データセットの場合、ラベルは特定の期間に降った雨量です。

ラベル付けされた例

#fundamentals

1 つ以上の特徴ラベルを含む例。たとえば次の表は、住宅評価モデルの 3 つのラベル付きサンプルを示しています。それぞれに 3 つの特徴と 1 つのラベルがあります。

寝室の数 浴室の数 住宅の築年数 住宅価格(ラベル)
3 2 15 345,000 ドル
2 1 72 179,000 ドル
4 2 34 392,000 ドル

教師あり機械学習では、モデルはラベル付きのサンプルでトレーニングを行い、ラベルのないサンプルで予測を行います。

ラベル付けされたサンプルとラベルのないサンプルを対比してください。

ラムダ

#fundamentals

正則化率」と同義。

ラムダはオーバーロードされた項です。ここでは、regularization におけるこの用語の定義に焦点を当てます。

レイヤ

#fundamentals

ニューラル ネットワークにおけるニューロンのセット。一般的なレイヤには次の 3 種類があります。

たとえば、次の図は、1 つの入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤを持つニューラル ネットワークを示しています。

1 つの入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤを持つニューラル ネットワーク。入力レイヤは 2 つの特徴で構成されています。最初の隠れ層は 3 つのニューロンで構成され、2 番目の隠れ層は 2 つのニューロンで構成されています。出力レイヤは単一のノードで構成されます。

TensorFlow では、レイヤテンソルと構成オプションを入力として受け取り、他のテンソルを出力として生成する Python 関数でもあります。

学習率

#fundamentals

勾配降下法 アルゴリズムに、各反復処理での重みとバイアスを調整する強さを示す浮動小数点数。たとえば、学習率が 0.3 の場合、0.1 の学習率の場合の 3 倍強力に重みとバイアスが調整されます。

学習率は重要なハイパーパラメータです。学習率を低く設定しすぎると、トレーニングに非常に長い時間がかかります。学習率を高く設定しすぎると、勾配降下法で収束に到達することが困難になることがよくあります。

線形

#fundamentals

加算と乗算だけで表すことができる 2 つ以上の変数間の関係。

線形関係のプロットは直線になります。

非線形と比較します。

線形モデル

#fundamentals

特徴modelごとに 1 つの重みmodelを割り当てて予測modelを行うモデルmodel。(線形モデルにはバイアスも組み込まれます)。これとは対照的に、ディープモデルにおける特徴と予測の関係は、一般的に非線形です。

通常、線形モデルのほうがトレーニングが簡単で、ディープモデルよりも解釈しやすい。ただし、ディープモデルは特徴間の複雑な関係を学習します。

線形回帰ロジスティック回帰は、線形モデルの一種です。

線形回帰

#fundamentals

次の両方に該当する機械学習モデルの一種。

  • モデルが線形モデルである。
  • 予測は浮動小数点値です。(これは線形回帰の回帰の部分です)。

線形回帰とロジスティック回帰を対比してください。また、回帰と分類を対比してください。

ロジスティック回帰

#fundamentals

確率を予測する回帰モデルの一種。ロジスティック回帰モデルには次の特徴があります。

  • ラベルは categorical です。ロジスティック回帰という用語は通常、2 項ロジスティック回帰、つまり 2 つの可能な値を持つラベルの確率を計算するモデルを指します。あまり一般的でないバリアントの多項式ロジスティック回帰では、可能な値が 3 つ以上あるラベルの確率を計算します。
  • トレーニング中の損失関数はログ損失です。(可能な値が 3 つ以上のラベルの場合は、複数のログ損失ユニットを並列に配置できます)。
  • このモデルは、ディープ ニューラル ネットワークではなく線形アーキテクチャをとっています。 ただし、この定義の残りの部分は、カテゴリラベルの確率を予測するディープモデルにも適用されます。

たとえば、入力メールが迷惑メールまたは迷惑メールではない確率を計算するロジスティック回帰モデルについて考えてみましょう。推論中に、モデルが 0.72 と予測したとします。そのため、このモデルは以下を推定しています。

  • 迷惑メールである可能性は 72% です。
  • 28% の確率で迷惑メールではないこと。

ロジスティック回帰モデルでは、次の 2 段階のアーキテクチャを使用します。

  1. このモデルは、入力特徴の一次関数を適用して未加工の予測(y')を生成します。
  2. このモデルは、その未加工の予測をシグモイド関数への入力として使用します。シグモイド関数は、未加工の予測を 0 ~ 1 の間の値(排他的な値)に変換します。

他の回帰モデルと同様に、ロジスティック回帰モデルは数値を予測します。ただし、この数値は通常、次のようにバイナリ分類モデルの一部になります。

  • 予測数が分類しきい値より大きい場合、バイナリ分類モデルは陽性クラスを予測します。
  • 予測数が分類しきい値よりも小さい場合、バイナリ分類モデルは陰性クラスを予測します。

ログ損失

#fundamentals

バイナリロジスティック回帰で使用される損失関数

対数オッズ

#fundamentals

イベントのオッズの対数。

損失

#fundamentals

教師ありモデルトレーニング中、モデルの予測ラベルからどれくらい離れているかの測定値。

損失関数は損失を計算します。

損失曲線

#fundamentals

トレーニングのイテレーション回数に応じた損失のプロット。次のプロットは一般的な損失曲線を示しています。

損失とトレーニング イテレーションのデカルトグラフ。最初のイテレーションで損失が急速に減少し、その後に緩やかに減少し、最後のイテレーションで平坦な傾きが続きます。

損失曲線は、モデルが収束しているのか、または過学習なのかを判断するのに役立ちます。

損失曲線では、次のタイプの損失をすべてプロットできます。

一般化曲線もご覧ください。

損失関数

#fundamentals

トレーニングまたはテスト中に、サンプルのバッチの損失を計算する数学関数。損失関数では、適切な予測を行うモデルでは、誤った予測を行うモデルよりも少ない損失が返されます。

トレーニングの目標は通常、損失関数が返す損失を最小限に抑えることです。

損失関数にはさまざまな種類があります。構築するモデルの種類に応じて適切な損失関数を選択してください。例:

M

機械学習

#fundamentals

入力データからモデルトレーニングするプログラムまたはシステム。トレーニング済みモデルは、モデルのトレーニングに使用したものと同じ分布から抽出された新しい(未知の)データから有用な予測を行うことができます。

機械学習は、これらのプログラムやシステムに関連する科目も意味します。

マジョリティ クラス

#fundamentals

クラス不均衡データセット内のより一般的なラベル。たとえば、99% の陰性ラベルと 1% の陽性ラベルを含むデータセットの場合、陰性ラベルはマジョリティ クラスになります。

マイノリティ クラスとは対照的です。

ミニバッチ

#fundamentals

ランダムに選択された小さなサブセットで、1 回のイテレーションで処理されるバッチのサブセット。ミニバッチのバッチサイズは通常 10 ~ 1,000 サンプルです。

たとえば、トレーニング セット全体(完全なバッチ)が 1,000 個のサンプルで構成されているとします。さらに、各ミニバッチのバッチサイズを 20 に設定したとします。したがって、反復処理ごとに 1,000 個のサンプルのうち 20 個をランダムに損失を決定し、それに応じて重みバイアスが調整されます。

完全なバッチ内のすべてのサンプルの損失よりも、ミニバッチで損失を計算する方がはるかに効率的です。

マイノリティ クラス

#fundamentals

クラス不均衡データセット内のあまり一般的でないラベル。たとえば、99% の陰性ラベルと 1% の陽性ラベルを含むデータセットの場合、陽性ラベルはマイノリティクラスです。

majority class(マジョリティ クラス)とは対照的です。

model

#fundamentals

一般的に、入力データを処理して出力を返す数学的構造。言い換えると、モデルは、システムが予測を行うために必要なパラメータと構造のセットです。教師あり機械学習では、モデルはを入力として受け取り、出力として予測を推測します。教師あり機械学習では、モデルは多少異なります。例:

モデルを保存、復元、コピーできます。

教師なし機械学習ではモデルも生成されます。通常は、入力例を最適なクラスタにマッピングできる関数です。

マルチクラス分類

#fundamentals

教師あり学習において、データセットに 3 つ以上のラベルのクラスが含まれている分類問題。たとえば、Iris データセットのラベルは、次の 3 つのクラスのいずれかである必要があります。

  • アイリスセットサ
  • アイリス ヴァージニカ
  • 虹彩

新しいサンプルで Iris タイプを予測する Iris データセットでトレーニングされたモデルが、マルチクラス分類を行っています。

これに対して、2 つのクラスを区別する分類問題はバイナリ分類モデルです。たとえば、スパムまたはスパムではないと予測するメールモデルはバイナリ分類モデルです。

クラスタリングの問題では、マルチクラス分類は 3 つ以上のクラスタを参照します。

N

陰性クラス

#fundamentals

バイナリ分類では、一方のクラスは陽性、もう一方は陰性と呼ばれます。陽性のクラスはモデルがテストする対象またはイベントであり、陰性のクラスは他にもあります。例:

  • 医学的検査の陰性クラスは「腫瘍ではない」かもしれません。
  • メールの分類器の陰性クラスが「迷惑メールではない」可能性があります。

正のクラスとは対照的です。

ニューラル ネットワークの

#fundamentals

1 つ以上の隠しレイヤmodelを含むモデルmodelディープ ニューラル ネットワークは、複数の隠れ層を含むニューラル ネットワークの一種です。たとえば、次の図は 2 つの隠れ層を含むディープ ニューラル ネットワークを示しています。

入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤを持つニューラル ネットワーク。

ニューラル ネットワーク内の各ニューロンは、次のレイヤのすべてのノードに接続します。たとえば、上の図では、最初の隠れ層の 3 つのニューロンが、2 番目の隠れ層の 2 つのニューロンのそれぞれに別々に接続されています。

コンピュータに実装されたニューラル ネットワークは、脳や他の神経系のニューラル ネットワークと区別するために、人工ニューラル ネットワークと呼ばれることもあります。

一部のニューラル ネットワークは、異なる特徴とラベルの間の非常に複雑な非線形関係を模倣することがあります。

畳み込みニューラル ネットワーク再帰型ニューラル ネットワークもご覧ください。

ニューロン

#fundamentals

機械学習において、ニューラル ネットワーク隠れ層内の個別のユニット。各ニューロンは次の 2 段階のアクションを実行します。

  1. 入力値にそれに対応する重みを掛けて、加重合計を計算します。
  2. 加重合計を入力として活性化関数に渡します。

最初の隠しレイヤのニューロンが、入力レイヤの特徴値からの入力を受け付けます。最初の隠れ層にあるニューロンは、前の隠れ層のニューロンからの入力を受け入れます。たとえば、2 番目の隠れ層のニューロンは、1 番目の隠れ層のニューロンからの入力を受け入れます。

次の図は、2 つのニューロンとその入力を示しています。

入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤを持つニューラル ネットワーク。2 つのニューロンがハイライト表示されています。1 つは最初の隠れ層にあり、もう 1 つは 2 番目の隠れ層にあります。最初の隠れ層にあるハイライト表示されたニューロンは、入力レイヤ内にある両方の特徴から入力を受け取ります。2 番目の隠れ層のハイライト表示されたニューロンは、最初の隠れ層の 3 つのニューロンのそれぞれから入力を受け取ります。

ニューラル ネットワークのニューロンは、脳や神経系の他の部分にあるニューロンの挙動を模倣します。

ノード(ニューラル ネットワーク)

#fundamentals

隠れ層ニューロン

非線形

#fundamentals

加算と乗算だけでは表すことのできない、2 つ以上の変数間の関係。線形関係は線で表すことができますが、非線形関係は線で表すことはできません。たとえば、それぞれ 1 つの特徴を 1 つのラベルに関連付ける 2 つのモデルについて考えてみましょう。左側のモデルは線形で、右側のモデルは非線形です。

2 つのプロット。1 つのプロットは直線なので、これは線形関係です。
          もう 1 つのプロットは曲線なので、これは非線形の関係です。

不定性

#fundamentals

1 つ以上のディメンション(通常は時間)にわたって値が変化する特徴。たとえば、次のような非定常性の例について考えてみましょう。

  • 特定の店舗で販売されている水着の数は、季節によって異なります。
  • 特定の地域で収穫される果物の量は、年間を通じてほぼゼロですが、短期間では多くなります。
  • 気候変動により、年間平均気温が変化しています。

定常性とは対照的です。

正規化

#fundamentals

大まかに言うと、変数の実際の範囲を次のような標準的な範囲の値に変換する処理を指します。

  • -1 ~+1
  • 0~1
  • 正規分布

たとえば、特定の特徴の実際の範囲が 800 から 2,400 であるとします。特徴量エンジニアリングの一環として、実際の値を標準的な範囲(-1 ~+1 など)に正規化できます。

正規化は、特徴量エンジニアリングでの一般的なタスクです。通常、特徴ベクトルの範囲がほぼ同じ場合、モデルのトレーニングが速くなり、予測の精度が向上します。

数値データ

#fundamentals

整数または実数値で表される特徴。たとえば、住宅評価モデルでは、住宅の大きさ(平方フィートまたは平方メートル単位)を数値データとして表すことが考えられます。特徴を数値データとして表現することは、特徴の値とラベルと数学的な関係があることを示します。つまり、1 軒の住宅の平方メートル数は、おそらく住宅の金額となんらかの数学的関係を持っています。

すべての整数データを数値データとして表す必要があるわけではありません。たとえば、世界のある地域では整数の郵便番号を使用できますが、整数の郵便番号をモデルで数値データとして表現しないでください。これは、20000 の郵便番号が 10000 の郵便番号の 2 倍(または半分)ではないためです。さらに、郵便番号が異なれば不動産の価値も異なりますが、郵便番号 20000 の不動産の価値が、郵便番号 10000 の不動産の価値の 2 倍であるとは限りません。郵便番号はカテゴリデータとして表す必要があります。

数値特徴量は連続特徴量と呼ばれることもあります。

O

オフライン

#fundamentals

静的と同義。

オフライン推論

#fundamentals

モデルが予測のバッチを生成し、それらの予測をキャッシュに保存(保存)するプロセス。これにより、アプリはモデルを再実行しなくても、キャッシュから目的の予測にアクセスできます。

たとえば、4 時間に 1 回地域の天気予報(予測)を生成するモデルについて考えてみましょう。各モデルが実行されると、システムは現地の天気予報をすべてキャッシュに保存します。天気アプリはキャッシュから天気予報を取得します。

オフライン推論は静的推論とも呼ばれます。

オンライン推論とは対照的です。

ワンホット エンコーディング

#fundamentals

カテゴリデータをベクトルとして表現すると、次のようになります。

  • 1 つの要素が 1 に設定されている。
  • 他の要素はすべて 0 に設定されます。

ワンホット エンコーディングは、通常、有限の有効な値のセットを持つ文字列や識別子を表すために使用されます。たとえば、Scandinavia という名前の特定のカテゴリ特徴に、次の 5 つの有効な値があるとします。

  • 「デンマーク」
  • 「スウェーデン」
  • 「ノルウェー」
  • 「フィンランド」
  • 「アイスランド」

ワンホット エンコーディングでは、5 つの値のそれぞれを次のように表現できます。

country ベクトル
「デンマーク」 1 0 0 0 0
「スウェーデン」 0 1 0 0 0
「ノルウェー」 0 0 1 0 0
「フィンランド」 0 0 0 1 0
「アイスランド」 0 0 0 0 1

ワンホット エンコーディングにより、モデルは 5 つの国のそれぞれに基づいて異なる接続を学習できます。

特徴を数値データとして表現する方法は、ワンホット エンコーディングの代替方法です。残念ながら、スカンジナビア諸国を数字で表すことはおすすめしません。たとえば、次の数値表現について考えてみましょう。

  • 「デンマーク」は 0 です。
  • 「Sweden」は 1 です。
  • 「ノルウェー」は 2
  • 「フィンランド」は 3
  • 「アイスランド」は 4

数値エンコードでは、モデルは未加工の数値を数学的に解釈し、それらの数値でトレーニングを試みます。しかし、アイスランドはノルウェーの 2 倍(または半分)ではないので、モデルには奇妙な結論がでてきます。

1 対すべて

#fundamentals

N 個のクラスを持つ分類問題の場合、N 個の別々のバイナリ分類器(可能な結果ごとに 1 つのバイナリ分類器)で構成されるソリューションとなります。たとえば、動物、野菜、鉱物としてサンプルを分類するモデルの場合、1 対すべてソリューションは、次の 3 つの個別のバイナリ分類器を提供します。

  • 動物と動物ではない
  • 野菜かそうでないか
  • 鉱物資源か鉱物資源ではない

online

#fundamentals

動的と同義。

オンライン推論

#fundamentals

オンデマンドで予測を生成する。たとえば、アプリが入力をモデルに渡し、予測のリクエストを発行したとします。オンライン推論を使用するシステムは、モデルを実行して予測をアプリに返すことでリクエストに応答します。

オフライン推論とは対照的です。

出力レイヤ

#fundamentals

ニューラル ネットワークの「最終」レイヤです。出力レイヤには予測が含まれます。

次の図は、入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤを持つ小規模なディープ ニューラル ネットワークを示しています。

1 つの入力レイヤ、2 つの隠しレイヤ、1 つの出力レイヤを持つニューラル ネットワーク。入力レイヤは 2 つの特徴で構成されています。最初の隠れ層は 3 つのニューロンで構成され、2 番目の隠れ層は 2 つのニューロンで構成されています。出力レイヤは単一のノードで構成されます。

過剰適合

#fundamentals

トレーニング データmodelと非常に一致するモデルmodelを作成していて、モデルが新しいデータに対する正しい予測を行えない場合。

正則化は過学習を減らすことができます。大規模で多様なトレーニング セットでトレーニングすることで、過学習を減らすこともできます。

P

pandas

#fundamentals

numpy 上に構築された列指向のデータ分析 API。TensorFlow を含む多くの機械学習フレームワークは、入力として pandas データ構造をサポートしています。詳細については、pandas のドキュメントをご覧ください。

パラメータ

#fundamentals

モデルがトレーニング中に学習する重みバイアス。たとえば、線形回帰モデルでは、パラメータは次の式でバイアス(b)とすべての重み(w1w2 など)で構成されます。

$$y' = b + w_1x_1 + w_2x_2 + … w_nx_n$$

一方、ハイパーパラメータは、ユーザー(またはハイパーパラメータ変換サービス)がモデルに提供する値です。たとえば、学習率はハイパーパラメータです。

陽性クラス

#fundamentals

テスト対象のクラス。

たとえば、がんモデルの陽性クラスは「tumor」などです。 メールの分類子が「迷惑メール」の分類が「迷惑メール」の可能性があります。

ネガティブ クラスとは対照的です。

後処理

#fairness
#fundamentals

モデルの実行後にモデルの出力を調整する。後処理を使用して、モデル自体を変更することなく、公平性の制約を適用できます。

たとえば、ある属性に対して真陽性率がその属性のすべての値で同じであることを確認して、機会の等価が維持されるように分類しきい値を設定し、バイナリ分類器に後処理を適用できます。

予測

#fundamentals

モデルの出力。例:

  • バイナリ分類モデルの予測は、陽性クラスまたは陰性クラスのいずれかです。
  • マルチクラス分類モデルの予測は 1 つのクラスです。
  • 線形回帰モデルの予測は数値です。

プロキシラベル

#fundamentals

データセットで直接入手できないラベルの近似値に使用されるデータ。

たとえば、従業員のストレスレベルを予測するモデルをトレーニングする必要があるとします。データセットには多くの予測特徴が含まれていますが、「ストレスレベル」というラベルが含まれていません。ストレスレベルの代替ラベルとして「職場での事故」を選択します。結局のところ、強いストレスを抱えている従業員は、平穏な従業員よりも多くの事故に遭います。それとも、職場での事故は、実際には複数の理由で上下するかもしれません。

2 番目の例として、データセットのブール値ラベルを「雨が降っていますか?」にしたいものの、データセットに雨のデータが含まれていないとします。写真がある場合は、「雨が降っているか?」のプロキシラベルとして、傘を持っている人の写真を選ぶとよいでしょう。これは適切なプロキシラベルですか?その可能性がありますが、文化圏によっては、雨よりも日差しから守るための傘を持参することが多い人もいます。

プロキシラベルは多くの場合、不完全なものです。可能であれば、プロキシラベルではなく実際のラベルを選択します。ただし、実際のラベルが存在しない場合は、プロキシラベルを慎重に選択し、最も可能性が低いプロキシラベルの候補を選択してください。

R

評価者

#fundamentals

ラベルを提供する人間。「Annotator」は評価者の別名です。

正規化線形ユニット(ReLU)

#fundamentals

次の動作を持つ活性化関数

  • 入力が負またはゼロの場合、出力は 0 です。
  • 入力が正の場合、出力は入力と等しくなります。

例:

  • 入力が -3 の場合、出力は 0 です。
  • 入力が +3 の場合、出力は 3.0 です。

ReLU のプロットは次のとおりです。

2 直線のデカルト図。最初の行の y 値は定数 0 で、x 軸に沿って -infinity,0 から 0,-0 まで続きます。2 行目は 0,0 から始まります。この直線の傾きは +1 で、0,0 から +infinity + infinity まで続きます。

ReLU は、非常によく使われる活性化関数です。単純な動作にもかかわらず、ReLU はニューラル ネットワークが特徴ラベルの間の非線形関係を学習できます。

回帰モデル

#fundamentals

非公式に、数値予測を生成するモデルを指します。(これとは対照的に、分類モデルではクラス予測が生成されます)。たとえば、すべての回帰モデルは次のとおりです。

  • 特定の住宅価格(423,000 ユーロなど)を予測するモデル
  • 特定の樹木の寿命(23.2 年など)を予測するモデル
  • 今後 6 時間に特定の都市で降る雨量を予測するモデル(0.18 インチなど)。

一般的な回帰モデルには次の 2 種類があります。

  • 線形回帰。ラベル値を特徴に最も適合する直線を検出します。
  • ロジスティック回帰。システムは通常、0.0 ~ 1.0 の間の確率でクラス予測にマッピングします。

数値予測を出力するモデルが、必ずしも回帰モデルであるとは限りません。場合によっては、数値予測が数値クラス名を持つ単なる分類モデルになります。たとえば、数値の郵便番号を予測するモデルは分類モデルであり、回帰モデルではありません。

正則化

#fundamentals

過学習を軽減するメカニズム。一般的な正則化には、次のようなものがあります。

正則化は、モデルの複雑さに対するペナルティとして定義することもできます。

正則化率

#fundamentals

トレーニング中の正則化の相対的な重要度を指定する数値。正則化率を上げると、過学習は軽減されますが、モデルの予測性能が低下する可能性があります。逆に、正則化率を減らすか省略すると、過学習が増加します。

ReLU

#fundamentals

正規化線形ユニットの略語。

リトリーブ強化生成

#fundamentals

大規模言語モデル(LLM)アプリケーションで一般的に使用されるソフトウェア アーキテクチャ。リトリーブ拡張生成を使用する一般的な動機は次のとおりです。

  • モデルによって生成された回答の事実上の正確性を高める
  • モデルがトレーニングされていない知識にアクセスできるようにする
  • モデルが使用する知識の変更
  • モデルでソースを引用できるようにする

たとえば、化学アプリが PaLM API を使用して、ユーザークエリに関連するサマリーを生成するとします。アプリのバックエンドがクエリを受信すると、バックエンドはユーザーのクエリに関連するデータをまず検索(「取得」)し、関連する化学データをユーザーのクエリに追加(「拡張」)し、追加されたデータに基づいてサマリーを作成するよう LLM に指示します。

ROC(受信機動作特性)曲線

#fundamentals

バイナリ分類のさまざまな分類しきい値における真陽性率偽陽性率のグラフ。

ROC 曲線の形状は、バイナリ分類モデルの陽性クラスと陰性クラスを分離する能力を示しています。たとえば、バイナリ分類モデルで、すべての陰性クラスをすべての陽性クラスから完全に分離するとします。

右側に 8 つのポジティブ サンプル、左側に 7 つのネガティブ サンプルがある数直線。

上記のモデルの ROC 曲線は次のようになります。

ROC 曲線。X 軸は偽陽性率、Y 軸は真陽性率です。この曲線は逆 L 型をしています。この曲線は(0.0,0.0)から始まり(0.0,1.0)まで直線します。すると、曲線は(0.0,1.0)から(1.0,1.0)になります。

これとは対照的に、次の図は、負のクラスと正のクラスをまったく分離できない恐ろしいモデルの未加工のロジスティック回帰値をグラフにしたものです。

陽性の例と陰性の分類が完全に混在している数直線。

このモデルの ROC 曲線は次のようになります。

ROC 曲線。実際には、(0.0,0.0) から (1.0,1.0) への直線になります。

一方、現実の世界では、ほとんどのバイナリ分類モデルで陽性と陰性のクラスがある程度分離されますが、通常は完全にではありません。したがって、一般的な ROC 曲線は両極端の中間にあります。

ROC 曲線。X 軸は偽陽性率、Y 軸は真陽性率です。ROC 曲線は、コンパス ポイントを西から北に移動する揺れのある弧を描いています。

理論的には、ROC 曲線上の(0.0,1.0)に最も近い点が理想的な分類しきい値を特定します。ただし、理想的な分類しきい値の選択には、他にもいくつかの現実の問題が影響します。たとえば、偽陰性は偽陽性よりもはるかに痛いことがあります。

AUC という数値指標は、ROC 曲線を単一の浮動小数点値に要約します。

二乗平均平方根誤差(RMSE)

#fundamentals

平均二乗誤差の平方根。

S

シグモイド関数

#fundamentals

入力値を制約された範囲(通常は 0 ~ 1 または -1 ~+1)に「押しつぶす」数学関数。つまり、任意の数値(2、100、負の 10 億など)をシグモイドに渡しても、出力は制約された範囲内になります。シグモイド活性化関数のプロットは次のようになります。

x 値が領域の無限大から正の範囲にまたがり、y 値がほぼ 0 からほぼ 1 の範囲にわたる 2 次元曲線プロット。x が 0 のとき、y は 0.5 である。曲線の傾きは常に正で、最も高い傾きは 0.0.5 で、x の絶対値が増加するにつれて傾きは徐々に減少します。

シグモイド関数には、機械学習で次のような用途があります。

Softmax

#fundamentals

マルチクラス分類モデルにある可能性のある各クラスの確率を決定する関数。確率を加算すると 1.0 となります。たとえば、次の表は、Softmax がさまざまな確率を分散する方法を示しています。

画像の種類 確率
.85
.13
horse 0.02

Softmax は完全ソフトマックスとも呼ばれます。

候補サンプリングとの対比。

スパースな特徴

#language
#fundamentals

値が主にゼロまたは空の特徴。たとえば、値が 1 で 100 万の 0 が 1 つ存在する特徴はスパースです。一方、密な特徴は、主に 0 や空でない値を持ちます。

機械学習では、驚くほど多くの特徴がスパースな特徴です。通常、カテゴリ特徴はスパースな特徴です。たとえば、ある森林の 300 種の樹種のうち、1 つの例でカエデの木だけを識別できます。あるいは、動画ライブラリにある何百万本もの動画の中で、1 つの例で「Casablanca」だけを識別することもできます。

モデルでは通常、スパースな特徴をワンホット エンコーディングで表現します。ワンホット エンコードが大きい場合は、ワンホット エンコードの上に埋め込みレイヤを配置して効率を高めることができます。

スパース表現

#language
#fundamentals

スパースな特徴にゼロ以外の要素の位置のみを保存する。

たとえば、species という名前のカテゴリ特徴から、特定の森林の 36 種類の樹木が識別されるとします。さらに、各は単一の種のみを識別するものと仮定します。

各例では、ワンホット ベクトルを使用して樹種を表すことができます。ワンホット ベクトルには、1 つの 1(その例では特定の樹種を表す)と 35 個の 0(この例にはない 35 の樹種を表す)が含まれます。そのため、maple のワンホット表現は次のようになります。

位置 0 ~ 23 に値 0、位置 24 に値 1、位置 25 ~ 35 に値 0 を保持するベクトル。

一方、スパース表現では、単に特定の種の位置を特定できます。maple が位置 24 にある場合、maple のスパース表現は次のようになります。

24

スパース表現は、ワンホット表現よりもはるかにコンパクトです。

スパース ベクトル

#fundamentals

値がほぼ 0 のベクトル。スパースな特徴スパース性もご覧ください。

二乗損失

#fundamentals

L2 損失と同義。

static

#fundamentals

継続的にではなく 1 回実行される処理。静的とオフラインという用語は同義語です。機械学習における静的とオフラインの一般的な使用例を次に示します。

  • 静的モデル(またはオフライン モデル)は、一度トレーニングされ、しばらくの間使用されるモデルです。
  • 静的トレーニング(またはオフライン トレーニング)は、静的モデルをトレーニングするプロセスです。
  • 静的推論(またはオフライン推論)は、モデルが一度に予測のバッチを生成するプロセスです。

動的」と対比してください。

静的推論

#fundamentals

オフライン推論と同義。

定常性

#fundamentals

1 つ以上のディメンションで値が変わらない特徴(通常は時間)。たとえば、2021 年と 2023 年の値がほぼ同じ特徴は、定常性を示します。

実際には、静止している特徴はほとんどありません。安定性と同義の機能(海面など)でさえ、時間とともに変化します。

非定常性とは対照的です。

確率的勾配降下法(SGD)

#fundamentals

バッチサイズが 1 である勾配降下法アルゴリズム。つまり、SGD はトレーニング セットからランダムに選択された 1 つの例でトレーニングを行います。

教師あり機械学習

#fundamentals

特徴modelとそれに対応するmodelからモデルmodelをトレーニングする。教師あり機械学習は、一連の質問とその回答を研究することによって主題を学習することに似ています。質問と回答のマッピングを習得したら、同じトピックに関する新しい(まだ見たことのない)質問に回答できるようになります。

教師なし機械学習と比較してください。

合成特徴

#fundamentals

入力特徴の中に存在しないが、1 つ以上の特徴から構成された特徴。合成特徴を作成するメソッドには、次のようなものがあります。

  • 連続特徴を範囲ビンにバケット化する。
  • 特徴クロスの作成
  • 1 つの特徴値を他の特徴値と乗算(または除算)すること、またはそれ自体で乗算すること。たとえば、ab が入力特徴である場合、合成特徴の例を次に示します。
    • ab
    • a2
  • 超長関数を特徴値に適用する。たとえば、c が入力特徴である場合、合成特徴の例を次に示します。
    • sin(c)
    • ln(c)

正規化またはスケーリングのみで作成された特徴は合成特徴とはみなされません。

T

テスト損失

#fundamentals

テストセットに対するモデルの損失を表す指標モデルmodelを構築する場合、通常はテストの損失を最小限に抑えるようにします。これは、トレーニングの損失検証損失が低いよりも、テストの損失が低いほど、品質シグナルが強いためです。

テストの損失とトレーニングの損失または検証の損失の間に大きなギャップがある場合は、正則化率を増やす必要があることを示す場合があります。

トレーニング

#fundamentals

モデルを構成する理想的なパラメータ(重みとバイアス)を決定するプロセス。トレーニングでは、システムがを読み取り、徐々にパラメータを調整します。トレーニングでは、各例が数回から数十億回まで使用されます。

トレーニングの損失

#fundamentals

特定のトレーニング イテレーションにおけるモデルの損失を表す指標。たとえば、損失関数が平均二乗誤差であるとします。10 回目の反復におけるトレーニング損失(平均二乗誤差)は 2.2 で、100 回目の反復におけるトレーニング損失は 1.9 であるとします。

損失曲線は、トレーニングの損失と反復回数を対比してプロットします。損失曲線から得られるトレーニングに関する次のヒントがわかります。

  • 傾きが下がっている場合は、モデルが改善されていることを意味します。
  • 傾きが上向きであれば、モデルが悪化していることになります。
  • 傾きが平坦である場合はモデルが収束に達していることを意味します。

たとえば、次のやや理想的な損失曲線は以下のようになります。

  • 最初のイテレーションで急激な下降傾向がある場合、これはモデルの大幅な改善を意味します。
  • トレーニングの終了近くまで徐々に平坦化する(ただし、まだ下向きの)傾き。これは、最初のイテレーション時よりもやや遅いペースでモデルの改善が継続していることを意味します。
  • トレーニング終盤に向かって平坦な勾配があり、収束を示唆している。

トレーニングの損失とイテレーションの対比のプロット。この損失曲線は急な下降から始まります。傾きは、傾きが 0 になるまで徐々に平坦化していきます。

トレーニングの損失は重要ですが、一般化もご覧ください。

トレーニング サービング スキュー

#fundamentals

トレーニング時のモデルのパフォーマンスと、サービング時の同じモデルのパフォーマンスの差。

トレーニング セット

#fundamentals

モデルのトレーニングに使用されるデータセットのサブセット。

従来、データセットの例は、次の 3 つの異なるサブセットに分割されています。

データセット内の各例は、前述のサブセットの 1 つだけに属していることが理想的です。たとえば、1 つの例がトレーニング セットと検証セットの両方に属するべきではありません。

真陰性(TN)

#fundamentals

モデルが陰性クラスを正しく予測する例。たとえば、特定のメール メッセージがスパムではないこと、そしてそのメール メッセージが実際にはスパムではないと推測します。

真陽性(TP)

#fundamentals

モデルが陽性のクラスを正しく予測した例。たとえば、このモデルは、特定のメール メッセージがスパムであり、そのメール メッセージが実際にはスパムであると推測します。

真陽性率(TPR)

#fundamentals

再現と同義。つまり:

$$\text{true positive rate} = \frac{\text{true positives}} {\text{true positives} + \text{false negatives}}$$

真陽性率は ROC 曲線の Y 軸です。

U

学習不足

#fundamentals

モデルがトレーニング データの複雑さを完全に把握していないため、予測能力が低いモデルmodelを生成する。次のような多くの問題は学習不足を引き起こす可能性があります。

  • 間違った特徴のセットでトレーニングする
  • エポックが少なすぎる、または学習率が低すぎるトレーニング。
  • 正則化率が高すぎるトレーニング。
  • ディープ ニューラル ネットワークにおける隠れ層が少なすぎる。

ラベルなしの例

#fundamentals

対象物は含まれているがラベルは含まれていない例。たとえば、次の表は、住宅評価モデルのラベルのない 3 つの例を示しています。それぞれに 3 つの特徴がありますが、住宅価格はありません。

寝室の数 浴室の数 住宅の築年数
3 2 15
2 1 72
4 2 34

教師あり機械学習では、モデルはラベル付きのサンプルでトレーニングを行い、ラベルのないサンプルで予測を行います。

半教師あり教師なしの学習では、トレーニング中にラベルなしのサンプルが使用されます。

ラベルのないサンプルとラベル付きのサンプルを比較してください。

教師なし機械学習

#clustering
#fundamentals

モデルmodelをトレーニングして、データセット(通常はラベルのないデータセット)内のパターンを見つけます。

教師なし機械学習の最も一般的な用途は、類似サンプルのグループにデータをクラスタ化することです。たとえば、教師なし機械学習アルゴリズムでは、音楽のさまざまな特性に基づいて曲をクラスタ化できます。結果として得られるクラスタは、他の機械学習アルゴリズム(たとえば、音楽レコメンデーション サービス)への入力になる可能性があります。クラスタリングは、有用なラベルが不足しているか存在しない場合に役立ちます。たとえば、不正使用対策や不正行為などの分野では、クラスタが人間によるデータの理解を深めるのに役立ちます。

教師あり機械学習とは対照的です。

V

排除できます。

#fundamentals

モデルの品質の初期評価。 検証では、モデルの予測の品質を検証セットに照らして確認します。

検証セットはトレーニング セットとは異なるため、検証により過学習を防ぐことができます。

検証セットに照らしてモデルを評価し、2 回目のテストとしてテストセットに照らしてモデルを評価します。

検証の損失

#fundamentals

トレーニングの特定のイテレーション時の検証セットに対するモデルの損失を表す指標

一般化曲線もご覧ください。

検証セット

#fundamentals

トレーニングされたモデルに対して初期評価を行うデータセットのサブセット。通常、トレーニング済みのモデルを検証セットに対して数回評価してから、テストセットに対してモデルを評価します。

従来は、データセット内のサンプルを次の 3 つの異なるサブセットに分割していました。

データセット内の各例は、前述のサブセットの 1 つだけに属していることが理想的です。たとえば、1 つの例がトレーニング セットと検証セットの両方に属するべきではありません。

W

weight

#fundamentals

モデルで別の値と乗算される値。 トレーニングはモデルの理想的な重みを決定するプロセスです。推論は、これらの学習した重みを使用して予測を行うプロセスです。

加重合計

#fundamentals

関連するすべての入力値にそれぞれ対応する重みを掛けた合計。たとえば、関連する入力が以下で構成されているとします。

入力値 入力重み
2 -1.3
-1 0.6
3 0.4

加重合計は次のようになります。

weighted sum = (2)(-1.3) + (-1)(0.6) + (3)(0.4) = -2.0

加重合計は、活性化関数の入力引数です。

Z

Z スコアの正規化

#fundamentals

元の特徴値を、その特徴の平均からの標準偏差の数を表す浮動小数点値に置き換えるスケーリング手法。たとえば、平均が 800 で標準偏差が 100 の特徴について考えてみましょう。次の表は、Z スコアの正規化によって未加工の値が Z スコアにどのようにマッピングされるかを示しています。

未加工の値 Z スコア
800 0
950 +1.5
575 -2.25

機械学習モデルは、未加工の値ではなく、その特徴の Z スコアでトレーニングを行います。