機械学習用語集: 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 から + 無限大、+ 無限大まで続きます。

sigmoid アクティベーション関数のプロットは次のようになります。

x 値がドメイン -infity ~+ 正の値にまたがる 2 次元の曲線プロット。y 値はほぼ 0 からほぼ 1 の範囲です。x が 0 の場合、y は 0.5 です。曲線の傾きは常に正であり、最も高い勾配は 0.0.5 で、x の絶対値が増加するにつれて勾配が徐々に減少します。

人工知能

#fundamentals

高度なタスクを解決できる、人間以外のプログラムまたはモデル。たとえば、テキストを翻訳するプログラムやモデル、放射線画像の病気を識別するプログラムやモデルなど、いずれも人工知能が発揮されます。

正式には、機械学習は人工知能のサブフィールドです。しかし近年、一部の組織では人工知能機械学習という言葉が同じ意味で使用されます。

AUC(ROC 曲線の下の面積)

#fundamentals

0.0 から 1.0 までの数値。バイナリ分類モデルで、ポジティブ クラスネガティブ クラスから分離する能力を表します。AUC が 1.0 に近ければ近いほど、モデルはクラスを互いに分離する能力が向上します。

たとえば、次の図は、ポジティブ クラス(緑色の楕円)をネガティブ クラス(紫色の長方形)から完全に分離する分類モデルを示しています。この非現実的な完璧なモデルでは、AUC が 1.0 になっています。

片側に 8 個のポジティブ サンプル、反対側に 9 個のネガティブ サンプルを含む数値線。

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

6 つのポジティブ サンプルと 6 つのネガティブ サンプルを含む数値線。
          サンプルの順序は、正、負、正、負、正、負、負、負、正、負、正、負です。

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

ほとんどのモデルは両極端の中間に位置するものです。たとえば、次のモデルはポジティブをネガから多少分離しているため、AUC は 0.5 ~ 1.0 となっています。

6 つのポジティブ サンプルと 6 つのネガティブ サンプルを含む数値線。
          サンプルの順序は、ネガティブ、ネガティブ、ネガティブ、ネガティブ、ポジティブ、ネガティブ、ポジティブ、ネガティブ、ポジティブ、ポジティブ、ポジティブです。

AUC は、分類しきい値に設定した値を無視します。AUC では、可能なすべての分類しきい値が考慮されます。

B

逆伝播

#fundamentals

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

ニューラル ネットワークのトレーニングには、次の 2 パスサイクルのイテレーションが伴います。

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

多くの場合、ニューラル ネットワークには多数の隠しレイヤにまたがる多くのニューロンが存在します。各ニューロンは、さまざまな形で全体的な損失に寄与します。逆伝播は、特定のニューロンに適用される重みを増減するかどうかを決定します。

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

微積分用語では、バックプロパゲーションは微積分&#39 を実装しています。チェーンルールつまり、逆伝播では、各パラメータに関して、誤差の部分導関数を計算します。詳細については、こちらの機械学習クラッシュ コースのチュートリアルをご覧ください。

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

batch

#fundamentals

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

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

バッチサイズ

#fundamentals

バッチ内のの数。たとえば、バッチサイズが 100 の場合、モデルは反復処理ごとに 100 の例を処理します。

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

  • 確率的勾配降下法(SGD)。バッチサイズは 1 です。
  • フルバッチ。バッチサイズは、トレーニング セット全体のサンプル数です。たとえば、トレーニング セットに 100 万の例が含まれている場合、バッチサイズは 100 万の例になります。フルバッチは通常、非効率な戦略です。
  • mini-batch では通常、バッチサイズが 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 °C は「コールド」バケットです。
  • 摂氏 11 ~ 24 度は「温度」バケットです。
  • >= 25 度(摂氏)が「ウォーム」バケットになります。

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

C

カテゴリデータ

#fundamentals

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

  • red
  • yellow
  • green

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

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

対照的な数値データ

クラス

#fundamentals

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

  • スパムを検出するバイナリ分類モデルでは、2 つのクラスがスパムではなく、スパムである可能性があります。
  • 犬種を識別するマルチクラス分類モデルでは、クラスは poodlebeaglepug などになります。

分類モデルはクラスを予測します。一方、回帰モデルは、クラスではなく数値を予測します。

分類モデル

#fundamentals

予測がクラスモデル。たとえば、次のような分類モデルがあります。

  • 入力文の言語を予測するモデル(フランス語、スペイン語 イタリア語?
  • 樹木の種類を予測するモデル(Maple?オーク?バオバブ)
  • 特定の病状のポジティブ クラスとネガティブ クラスを予測するモデル。

一方、回帰モデルでは、クラスではなく数値が予測されます。

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

分類しきい値

#fundamentals

2 項分類では、ロジスティック回帰モデルの未加工の出力を陽性のクラスまたは陰性のクラスの予測に変換する 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 個のラベル(クラス「紫」)を含む
  • クラス「orange」の 350 個のラベル

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

クリッピング

#fundamentals

以下のいずれかまたは両方を行うことで外れ値を処理する手法。

  • 最大しきい値より大きい特徴値を、そのしきい値まで減少させます。
  • 最小しきい値を下回る特徴値をその最小しきい値まで増加させる。

たとえば、特定の特徴量の <0.5% が 40 ~ 60 の範囲外であるとします。この場合は、次のようにします。

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

外れ値によりモデルが損傷し、トレーニング中に重みがオーバーフローすることがあります。一部の外れ値は、精度などの指標を劇的に台無しにする可能性があります。クリッピングは、損傷を制限する一般的な方法です。

グラデーション クリッピング: トレーニング中に指定された範囲内の勾配値を強制します。

混同行列

#fundamentals

分類モデルで行われた正しい予測と誤った予測の数を要約する NxN テーブル。たとえば、バイナリ分類モデルで次の混同行列について考えてみます。

腫瘍(予測) 非チューナー(予測済み)
トゥマー(グラウンド トゥルース) 18(TP) 1(FP)
非チューナー(グラウンド トゥルース) 6(FN) 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

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

8 3 7 5 2 4 0 4 9 6

対して、スパースな特徴です。

depth

#fundamentals

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

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

入力レイヤは深度に影響しないことに注意してください。

個別の機能

#fundamentals

有限の値のセットを持つ特徴。たとえば、値が動物野菜ミネラルのいずれかである特徴は、個別の(またはカテゴリ的な)特徴です。

継続的な機能との比較。

動的

#fundamentals

頻繁に、または継続的に行われる処理。 「動的」と「オンライン」という用語は、機械学習における類義語です。機械学習における動的とオンラインの一般的な用途は次のとおりです。

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

動的モデル

#fundamentals

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

対照的に、静的モデルを使用します。

E

早期停止

#fundamentals

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

埋め込みレイヤ

#language
#fundamentals

特別な隠れ層。低次元のエンベディング ベクトルを徐々に学習するために高次元のカテゴリ特徴のトレーニングを行う。埋め込み層を使用すると、ニューラル ネットワークを高次元のカテゴリ特徴のみで実行するよりもはるかに効率的にトレーニングできます。

たとえば、Earth は現在 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

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

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

たとえば、学生のテストスコアに対する天候の影響を判断するためのモデルをトレーニングしているとします。ラベル付けされた例を 3 つ挙げます。

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

ラベルのない例を 3 つ挙げます。

温度 湿度 圧力  
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 つのラベルが含まれています。

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

対してラベルです。

特徴クロス

#fundamentals

「横断的」特徴によって形成される合成特徴カテゴリまたはバケットの特徴。

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

  • 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 つの値を持つバイナリのカテゴリ特徴は、ワンホット エンコードで表すことができます。この場合、特定の例の特徴ベクトルの部分は、次のように 3 番目の位置に 4 つのゼロと 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

機械学習で、あるモデルの予測が同じモデルまたは別のモデルのトレーニング データに影響を与える状況。たとえば、映画をおすすめするモデルは、ユーザーに表示される映画に影響を与え、その後の映画推奨モデルに影響を与えます。

G

一般化

#fundamentals

モデル: 以前は見えなかった新しいデータに対して正しい予測を行うことができます。一般化できるモデルは、過学習モデルとは逆です。

一般化曲線

#fundamentals

トレーニングの損失検証の損失の両方のプロットがイテレーションの回数に基づくプロット。

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

Y 軸に &#39; 損失&#39、X 軸に &#39;反復&#39; というラベルの付いたデカルトグラフ。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.d.)

#fundamentals

変化しない分布から抽出されたデータ。描画される各値は、以前に描画された値に依存しません。i.i.d. は、機械学習の理想的なガスです。数学的には便利な構造ですが、現実にはほとんど見られません。たとえば、あるウェブページを訪れるユーザーの分布は、一定の期間にわたって同様に同様です。つまり、その短時間に配布が変化することはありません。また、ある訪問者が他の訪問とは無関係に訪れるのが一般的です。ただし、この期間を長くすると、ウェブページの訪問者に季節的な差異が見られることがあります。

非ステーション性もご覧ください。

推論

#fundamentals

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

統計的な意味合いは多少異なります。詳細については、統計的推論に関する Wikipedia の記事をご覧ください。

入力レイヤ

#fundamentals

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

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

解釈可能性

#fundamentals

ML モデルについて、理解しやすい言葉で説明または説明する能力。

たとえば、ほとんどの線形回帰モデルは非常に解釈可能です。(単純に、各特徴のトレーニング済みの重みを調べる必要があります)。デシジョン フォレストは解釈力も高いです。ただし、モデルによっては、解釈のために高度な可視化が必要になります。

反復処理

#fundamentals

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

ニューラル ネットワークをトレーニングする場合、イテレーションは次の 2 つのパスで構成されます。

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

L

L0 正則化

#fundamentals

モデル内のゼロ以外の重み合計数にペナルティを与える正則化のタイプ。たとえば、11 個の非ゼロの重みを持つモデルは、10 個の重みがゼロの類似モデルよりもペナルティが課されます。

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 の平均損失です。

L 正則化

#fundamentals

重みの絶対値の合計に比例して重みにペナルティを課す正則化のタイプ。L1 正則化は、無関係または関連性があまりない特徴の重みを正確に 0 に引き上げるのに役立ちます。重み 0 の特徴は、実質的にモデルから削除されます。

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

L2 の損失

#fundamentals

損失関数。実際のラベル値とモデルが予測した値の差の 2 乗を計算する。たとえば、5 つのバッチの L2 損失の計算は次のとおりです。

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

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

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

平均二乗誤差は、サンプルあたりの L2 の平均損失です。2 乗損失は、L2 損失の別名です。

L2 正則化

#fundamentals

重みの二乗の合計に比例して重みをペナルティ化する、正則化の一種。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 ドル

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

ラベルのないサンプルのコントラスト付きラベルの例。

LAMBDA 関数

#fundamentals

正則化の同義語。

ラムダは過負荷な用語です。ここでは、正則化内の用語の定義に焦点を当てます。

レイヤ

#fundamentals

ニューラル ネットワーク内のニューロンのセット。よく使用される 3 種類のレイヤは次のとおりです。

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

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

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

学習率

#fundamentals

勾配降下法アルゴリズムが各反復処理で重みとバイアスをどの程度強く調整するかを示す浮動小数点数。たとえば、学習率 0.3 は、重み率とバイアスを 0.1 の学習率の 3 倍の強度で調整します。

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

線形モデル

#fundamentals

モデル: 1 つの特徴量ごとに 1 つの重みを割り当てて予測を行います。(線形モデルにはバイアスも組み込まれます)。一方、ディープモデルにおける特徴と予測の関係は、通常は非線形です。

線形モデルは、一般的にトレーニングが簡単で、ディープモデルよりも解釈可能です。ただし、ディープモデルは、機能間の複雑な関係を学習します。

線形回帰ロジスティック回帰の 2 種類の線形モデルがあります。

リニア

#fundamentals

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

直線関係のプロットは線です。

対照的なノンリニア

線形回帰

#fundamentals

次のタイプに該当する機械学習モデル:

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

対比回帰(ロジスティック回帰) また、分類によるコントラスト回帰。

ロジスティック回帰

#fundamentals

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

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

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

  • 72% の確率で迷惑メールに分類される。
  • 28% の確率で迷惑メールではない。

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

  1. このモデルは、入力特徴の線形関数を適用して、未加工の予測(y')を生成します。
  2. モデルは、生の予測を sigmoid 関数への入力として使用します。この関数は、未加工の予測を 0 ~ 1 の範囲の値に変換します。

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

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

ログ損失

#fundamentals

二項ロジスティック回帰で使用される損失関数

対数オッズ

#fundamentals

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

損失

#fundamentals

教師ありモデルトレーニングの間、モデルの予測からラベルまでの距離を測定します。

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

損失曲線

#fundamentals

トレーニング回数の関数としての損失のプロット反復処理次のプロットは、一般的な損失曲線を示しています。

イテレーションとトレーニング イテレーションのデカルト図。グラフは、最初のイテレーションで急激に減少し、その後、徐々に減少し、最後のイテレーションで平坦な傾斜が見られることを示します。

損失曲線を使用すると、モデルが収束しているかどうかや、過学習の状態にあるかどうかを判断できます。

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

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

損失関数

#fundamentals

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

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

さまざまな種類の損失関数が存在します。構築するモデルの種類に適した損失関数を選択します。例:

M

機械学習

#fundamentals

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

機械学習とは、これらのプログラムやシステムに関係する研究分野です。

多数派のクラス

#fundamentals

クラス不均衡なデータセットにおける、より一般的なラベル。たとえば、99% のネガティブ ラベルと 1% のポジティブ ラベルを含むデータセットを考えると、ネガティブ ラベルは大半のクラスになります。

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

ミニバッチ

#fundamentals

少数のランダムに選択された 1 つのバッチが 1 回のイテレーションで処理されました。ミニバッチのバッチサイズは通常、10 ~ 1,000 のサンプルです。

たとえば、トレーニング セット全体(フルバッチ)が 1,000 の例で構成されているとします。さらに、各ミニバッチのバッチサイズを 20 に設定したとします。したがって、各イテレーションで 1,000 のサンプルの中から無作為に 20 個の損失を計算し、それに応じて重みバイアスを調整します。

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

マイノリティ クラス

#fundamentals

クラスが不均衡なデータセットにおける、あまり一般的ではないラベル。たとえば、99% のネガティブ ラベルと 1% のポジティブ ラベルを含むデータセットを考えると、ポジティブ ラベルは少数派のクラスです。

一方、大半はクラスです。

モデル

#fundamentals

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

モデルの保存、復元、コピーの作成が可能です。

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

マルチクラス分類

#fundamentals

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

  • ハナショウブ
  • アヤメ
  • 虹彩バージョン

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

対照的に、2 つのクラスを正確に区別する分類問題は、バイナリ分類モデルです。たとえば、迷惑メールまたは迷惑メールではないのいずれかを予測するメールモデルは、バイナリ分類モデルです。

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

N

ネガティブ クラス

#fundamentals

バイナリ分類では、一方のクラスが「正」と呼ばれ、もう一方のクラスが「負」と呼ばれます。陽性のクラスとは、モデルがテストしている対象またはイベントで、陰性のクラスはそのもう一つの可能性です。例:

  • 医学的検査の陰性のクラスは「腫よう」ではないかもしれません。
  • メール分類のネガティブ クラスは「迷惑メールではない」可能性がある

対照的にポジティブ クラスです。

ニューラル ネットワーク

#fundamentals

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

入力レイヤ、2 つの隠れ層、出力レイヤを備えたニューラル ネットワーク。

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

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

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

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

ニューロン

#fundamentals

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

  1. 入力値の加重合計に、対応する重みを掛けて計算します。
  2. 重み付けされた合計をアクティベーション関数に入力として渡します。

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

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

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

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

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

#fundamentals

隠れ層にあるニューロン

ノンリニア

#fundamentals

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

2 つのプロット。1 つのプロットは線であるため、直線関係にあります。もう 1 つのプロットは曲線なので、非線形の関係になります。

非定常性

#fundamentals

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

  • 特定の店舗で販売される水着の数は、季節によって異なります。
  • 特定の地域で収穫された特定の果物の量は、大部分は 0 ですが、短期間では大きかったものです。
  • 気候変動のため、年間平均気温は変化しています。

対照的に固定性

正規化

#fundamentals

大まかに言うと、変数の実際の値の範囲を標準的な値の範囲に変換するプロセスです。例:

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

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

正規化は特徴量エンジニアリングの一般的なタスクです。特徴ベクトル内のすべての数値特徴がほぼ同じ範囲である場合、モデルは通常、より速くトレーニングされます(そして、より優れた予測を生成します)。

数値データ

#fundamentals

特徴: 整数または実数値で表します。たとえば、住宅評価モデルは、住宅の規模(平方フィートまたは平方メートル)を数値データとして表す可能性があります。特徴を数値データで表すと、その特徴の値がラベルに対して数学的関係にあることを意味します。つまり、家の中の平方メートルの数は、家の値と数学的な関係があると考えられます。

すべての整数データを数値データとして表す必要はありません。たとえば、世界の一部の地域の郵便番号は整数ですが、モデル内では整数の郵便番号を数値データとして表すべきではありません。20000 の郵便番号は、郵便番号 10000 の 2 倍(または半分)ではないからです。さらに、郵便番号によって異なる不動産の値に異なる値が関連付けられますが、郵便番号 20000 の不動産値は郵便番号 10000 の不動産価格の 2 倍の価値を持つと仮定できません。郵便番号は、代わりにカテゴリデータとして表す必要があります。

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

O

オフライン

#fundamentals

static と同義。

オフライン推論

#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
  • &st;スウェーデン" 1
  • "ノルウェー" 2
  • "フィンランド" 3
  • "アイスランド" 4

数値エンコードの場合、モデルは未加工の数値を数学的に解釈し、その数値でトレーニングを試みます。しかし実際には、アイスランドはノルウェーの 2 倍(半分)しか持っていないため、予想外の結論に至ります。

1 対 すべて

#fundamentals

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

  • 動物と動物の違い
  • 野菜と非野菜
  • ミネラルとミネラルの違い

online

#fundamentals

dynamic と同義。

オンライン推論

#fundamentals

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

対照的にオフラインでの推論

出力レイヤ

#fundamentals

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

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

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

過剰適合

#fundamentals

トレーニング データに厳密に一致するモデルを作成して、モデルが新しいデータに対して正しい予測を行えないようにします。

正則化により、過学習を軽減できます。また、多様で大規模なトレーニング セットでトレーニングを行うことで、過学習を軽減できます。

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

ラベルを提供する人間。 &nott;Annotator" は評価担当者の別名です。

Rectified Linear Unit(ReLU)

#fundamentals

次の動作を持つアクティベーション関数:

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

例:

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

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

2 本線のデカルト図。最初の行では、y 定数は 0 で、x 軸に沿って -infinity,0 から 0,-0 まで実行されます。2 行目は 0,0 から始まります。このラインは +1 の傾きを持つため、0.0 から + 無限大、+ 無限大まで続きます。

ReLU はよく使用されるアクティベーション関数です。単純な動作にもかかわらず、ReLU ではニューラル ネットワークが特徴ラベルの間の非線形の関係を学習します。

回帰モデル

#fundamentals

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

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

回帰モデルの 2 つの一般的なタイプは次のとおりです。

  • 線形回帰。ラベル値を特徴に最も適した線を見つけます。
  • ロジスティック回帰。システムが通常クラス予測にマッピングする確率(0.0 ~ 1.0)を生成します。

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

正則化

#fundamentals

過学習を軽減するメカニズム。正則化には次のタイプがあります。

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

正則化率

#fundamentals

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

ReLU

#fundamentals

Rectified Linear Unit の略です。

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 曲線は、コンパスの西端と北北を横切る揺れ円弧の近似値です。

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

AUC という数値指標は、ROC 曲線を 1 つの浮動小数点値に要約したものです。

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

#fundamentals

平均二乗誤差の平方根。

S

シグモイド関数

#fundamentals

「制約」入力値の制約値(通常は 0 ~ 1 または -1 ~+1)を入力する数学関数。つまり、任意の数(2、100 万、負の 10 億など)を sigmoid に渡すことができます。ただし、出力は制約された範囲内になります。sigmoid アクティベーション関数のプロットは次のようになります。

x 値がドメイン -infity ~+ 正の値にまたがる 2 次元の曲線プロット。y 値はほぼ 0 からほぼ 1 の範囲です。x が 0 の場合、y は 0.5 です。曲線の傾きは常に正であり、最も高い勾配は 0.0.5 で、x の絶対値が増加するにつれて勾配が徐々に減少します。

sigmoid 関数は、機械学習で次のような用途に使用されます。

Softmax

#fundamentals

マルチクラス分類モデルで考えられるクラスごとに確率を決定する関数。確率の合計は 1.0 になります。たとえば、次の表に、softmax がさまざまな確率を分散させる方法を示します。

画像は... 確率
0.85
0.13
horse 0.02

Softmax は full softmax とも呼ばれます。

これを候補サンプリングと対照します。

スパースな特徴

#language
#fundamentals

値が主にゼロまたは空である特徴。たとえば、1 個の 1 値と 100 万個の 0 値を含む特徴はスパースです。これに対して、高密度の特徴の値は、主にゼロや空ではありません。

機械学習では、驚くほど多くの特徴がスパースな特徴となります。カテゴリ特徴は通常、スパースな特徴です。たとえば、森林に生息する 300 種類のツリーの中で、1 個のサンプルでカエデだけを識別できます。また、動画ライブラリにアップロード可能な膨大な数の動画の中から、「Casablanca.&quot」を 1 つの例だけで識別することもできます。

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

スパース表現

#language
#fundamentals

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

たとえば、species という名前のカテゴリ特徴が、特定のフォレスト内の 36 種類のツリーを識別するとします。さらに、各が 1 つの種のみを識別すると仮定します。

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

位置 0 ~ 23 の値は値 0、位置 24 は値 1、位置 25 ~ 35 の位置は値 0 になります。

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

24

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

スパース ベクトル

#fundamentals

ほとんどがゼロのベクトル。スパースな特徴スパース性もご覧ください。

2 乗損失

#fundamentals

L2 の損失の類義語。

static

#fundamentals

継続的にではなく 1 回行うこと。 「静的」と「オフライン」という用語は類義語です。機械学習における静的とオフラインの一般的な用途は次のとおりです。

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

ダイナミックとの比較

静的推論

#fundamentals

オフライン推論の類義語。

静止

#fundamentals

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

現実世界では、静止された状態を表示する機能はごくわずかです。安定性と同等の機能(海面など)も時間の経過とともに変化します。

対照的に非定常性がある。

確率的勾配降下法(SGD)

#fundamentals

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

教師あり機械学習

#fundamentals

特徴と、対応するラベルからモデルをトレーニングする。教師あり機械学習は、一連の質問とそれに対応する答えを学習することで、科目を学習するのと似ています。生徒は、質問と回答のマッピングを理解した後で、同じトピックの新しい質問に対して回答を得ることができます。

教師なし機械学習と比較します。

合成機能

#fundamentals

特徴。入力特徴の中に存在しないものの、1 つ以上の特徴から組み立てられたものです。合成特徴の作成方法には、次のものがあります。

  • 連続的な特徴を範囲ビンにバケット化する。
  • 特徴クロスを作成する。
  • 1 つの特徴値を他の特徴値に乗算(または除算)した値、または他の特徴値で乗算した値。たとえば、ab が入力特徴の場合、合成特徴は次のようになります。
    • ab
    • 2
  • 超越関数を特徴値に適用する。たとえば、c が入力特徴の場合、合成特徴は次のとおりです。
    • sin(c)
    • ln(c)

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

T

テスト損失

#fundamentals

テストセットに対するモデルの損失を表す指標モデルを構築する場合、通常はテストの損失を最小限に抑えるよう努めます。低いテスト損失は、低いトレーニング損失や低い検証損失よりも強力なシグナルであるためです。

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

トレーニング

#fundamentals

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

トレーニングの損失

#fundamentals

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

損失曲線は、トレーニングの損失と反復回数をプロットしたものです。損失曲線は、トレーニングに関する次のヒントを提供します。

  • 下降傾向は、モデルが改善されていることを意味します。
  • 上昇傾向は、モデルが悪化していることを意味します。
  • 平坦な傾斜は、モデルが収束に達したことを意味します。

たとえば、ある程度理想的な損失曲線は次のようになります。

  • 最初のイテレーションで急激に下降する傾斜。これは、モデルを迅速に改善することを意味します。
  • トレーニングの終わりに近づくにつれて、徐々に平坦になる(しかし依然として緩やかな)傾斜。これは、最初の反復中よりもややゆっくりとしたペースで、継続的なモデル改善を意味します。
  • トレーニングの終盤に平らな勾配があること。収束を示唆しています。

トレーニングの損失と反復をプロットしたプロット。この損失曲線は、急な下降傾斜で始まります。傾きがゼロになるまで、勾配は徐々に平らになります。

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

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

#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

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

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

ラベルのない例

#fundamentals

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

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

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

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

ラベルのないサンプルとラベル付けされた例の対比。

教師なし機械学習

#clustering
#fundamentals

データセット(通常はラベルなしデータセット)内のパターンを見つけるためのモデルのトレーニング。

教師なし機械学習の最も一般的な使用例は、データを類似した例のグループごとにクラスタ化することです。たとえば、教師なし機械学習アルゴリズムでは、音楽のさまざまなプロパティに基づいて曲のクラスタを作成できます。生成されるクラスタは、他の機械学習アルゴリズム(音楽レコメンデーション サービスなど)への入力になります。クラスタリングは、有用なラベルが少ない場合または存在しない場合に役立ちます。たとえば、不正防止や不正行為などの領域では、クラスタを使用して人間がデータについて理解を深めることができます。

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

V

validation

#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 +0.7
575 -2.25

次に、機械学習モデルは、生の値ではなくその特徴の Z スコアでトレーニングします。