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

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

x の値がドメイン -infinity + + Positive に及ぶ 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 は考えられるすべての分類しきい値を考慮します。

バックプロパゲーション

#fundamentals

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

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

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

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

学習率は、各後方パスが各重みを増減する度合いを調整する乗数です。学習率を大きくすると、小さな学習率よりも各重みが増減します。

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

数年前、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(切片)の線のプロットです。

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

バイアスを倫理と公平性のバイアス予測バイアスと混同しないようにしてください。

バイナリ分類

#fundamentals

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

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

  • メール メッセージが迷惑メール(ポジティブ クラス)か迷惑メールではない(ネガティブ クラス)かを判断するモデル。
  • 医療上の症状を評価して、特定の病気(陽性のクラス)に遭遇したかどうかを判断し、その病気にかからない(陰性のクラス)モデル。

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

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

バケット化

#fundamentals

単一の特徴量バケットまたはビンと呼ばれる複数のバイナリ特徴量に変換する切り分けられた特徴は通常、連続した特徴です。

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

  • {0}10 度以下は「低温」のバケットです。
  • 摂氏 11 ~ 24 度は「一時的な」バケットになります。
  • 25 度以上は「ウォーム」バケットになります。

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

C

カテゴリデータ

#fundamentals

特徴: 取り得る値のセットを指定します。たとえば、traffic-light-state という名前のカテゴリ特徴について考えてみましょう。この特徴には、次の 3 つの値のいずれかが必要です。

  • red
  • yellow
  • green

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

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

数値データとは対照的です。

クラス

#fundamentals

ラベルが属すことができるカテゴリ。例:

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

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

分類モデル

#fundamentals

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

  • 入力文の言語を予測するモデル(フランス語、スペイン語 イタリア語)。
  • 樹種を予測するモデル(Maple?オーク??
  • 特定の健康状態について、陽性または陰性のクラスを予測するモデル。

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

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

分類しきい値

#fundamentals

バイナリ分類では、0 ~ 1 の数値。ロジスティック回帰モデルの未加工出力をポジティブ クラスまたはネガティブ クラスの予測に変換します。分類しきい値は、モデルのトレーニングで選択された値ではなく、人間が選択する値です。

ロジスティック回帰モデルは 0 ~ 1 の未加工の値を出力します。した後:

  • この未加工値が分類しきい値を超える場合、陽性のクラスが予測されます。
  • この未加工値が分類しきい値を下回っている場合は、負のクラスが予測されます。

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

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

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

#fundamentals

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

  • 1,000,000 個の否定ラベル
  • 10 個のポジティブ ラベル

ネガティブ ラベルとネガティブ ラベルの比率は 100,000 対 1 であるため、これはクラスの不均衡なデータセットです。

一方、次のデータセットは、ネガティブ ラベルとポジティブ ラベルの比率が比較的 1 に近いため、クラスの不均衡にはなりません

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

マルチクラス データセットでも、クラスの不均衡が生じることもあります。たとえば、次のマルチクラス分類データセットは、他の 2 つよりも多くのサンプルがあるため、クラスの不均衡になります。

  • クラス「green」で 1,000,000 個のラベル
  • クラス「紫」のラベルが 200 個
  • クラス「orange」の 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 つの異なるクラスの虹彩の種類(バージニア、バーシカラー、セトサ)を分類する 3 クラスのマルチクラス分類モデルでは、次の混同行列があるとします。グラウンド トゥルースがバージニアである場合、混同行列はセトサよりもモデルがバーシカラーを誤って予測する可能性が非常に高いことを示しています。

  セトサ(予測) 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 個の要素の Tensor は 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 つの特徴と 1 つのラベルを含む 3 つの例を示します。

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

ラベルとの比較)

特徴クロス

#fundamentals

カテゴリ特徴またはバケット化特徴によって形成される合成特徴

たとえば、次の 4 つのバケットのいずれかで温度を表す「ムード予測」モデルがあるとします。

  • freezing
  • chilly
  • temperate
  • warm

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

  • still
  • light
  • windy

特徴クロスがない場合、線形モデルは前の 7 つのバケットのそれぞれで独立してトレーニングされます。そのため、たとえば freezing は、windy などのトレーニングとは独立してトレーニングされます。

または、温度と風速の特徴クロスを作成します。この合成特徴には、次の 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

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

[0.92, 0.56]

4 つのレイヤ(入力レイヤ、2 つの隠れ層、1 つの出力レイヤ)入力レイヤには 2 つのノードがあり、一方は値 0.92、もう一方は値 0.56 です。

それぞれの例は、特徴ベクトルに対して異なる値を提供するため、次の例の特徴ベクトルは次のようになります。

[0.73, 0.49]

特徴量エンジニアリングでは、特徴ベクトル内での特徴量の表現方法が決まります。たとえば、5 つの可能な値を持つバイナリカテゴリ特徴は、ワンホット エンコーディングで表すことができます。この場合、特定の例の特徴ベクトルの部分は、次のように 4 番目のゼロと 3 番目の位置にある単一の 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 軸に「loss」というラベルが、x 軸に「反復」というラベルの付いたデカルトグラフ。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

独立して同一に分散されている(つまり

#fundamentals

変化しない分布から引き出されるデータ。描画される各値は、以前に描画された値に依存しません。i.i.d. は、機械学習の理想的なガスです。これは有用な数学的構造ですが、現実にはほとんど見られません。たとえば、ウェブページへの訪問者の分布は、短期的には一定の期間になることがあります。つまり、その期間中は分布が変化せず、ある人の訪問は一般に別の訪問から独立しています。ただし、その期間を延長すると、ウェブページの訪問者の季節的な変動が見られる場合があります。

不定性についてもご確認ください。

推論

#fundamentals

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

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

入力レイヤ

#fundamentals

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

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

解釈可能性

#fundamentals

ML モデルの理由を人間にわかりやすく説明できる能力

たとえば、ほとんどの線形回帰モデルでは解釈が高くなりますが、(各特徴のトレーニング後の重みを調べるだけです)。また、デシジョン フォレストは解釈が容易です。ただし、一部のモデルでは、解釈のために高度な可視化が必要になります。

繰り返し

#fundamentals

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

ニューラル ネットワークをトレーニングする場合、1 回の反復処理には、次の 2 つのパスが含まれます。

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

L

L0 正則化

#fundamentals

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

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 つのバッチに対する L2 損失の計算は次のとおりです。

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

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

回帰モデルでは通常、損失関数として 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

正則化率と同義。

ラムダは、過負荷な用語です。ここでは、正規化における用語の定義について説明します。

レイヤ

#fundamentals

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

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

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

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

学習率

#fundamentals

反復処理のたびに、重みとバイアスの強さを調整する強さを示す浮動小数点数たとえば、学習率が 0.3 の場合、重みとバイアスは 0.1 の学習率の 3 倍に調整されています。

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

線形モデル

#fundamentals

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

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

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

線形

#fundamentals

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

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

非線形とは対照的です。

線形回帰

#fundamentals

以下の両方に当てはまる機械学習モデルの一種。

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

ロジスティック回帰」とは対照的です。また、分類を使用したコントラスト回帰も有効です。

ロジスティック回帰

#fundamentals

確率を予測する回帰モデル。ロジスティック回帰モデルには、以下の特性があります。

  • ラベルはカテゴリです。通常、ロジスティック回帰という用語は、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% のポジティブ ラベルを含むデータセットの場合、ポジティブ ラベルは少数派のクラスです。

大多数クラスと対照的です。

モデル

#fundamentals

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

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

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

マルチクラス分類

#fundamentals

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

  • アヤメ
  • アヤメ
  • アヤメ

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

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

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

×

陰性クラス

#fundamentals

バイナリ分類では、1 つのクラスは陽性、もう 1 つのクラスが陰性と呼ばれます。陽性のクラスはモデルのテスト対象またはイベントで、陰性のクラスはもう一つの可能性です。例:

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

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

ニューラル ネットワーク

#fundamentals

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

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

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

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

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

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

ニューロン

#fundamentals

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

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

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

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

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

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

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

#fundamentals

隠しレイヤ内のニューロン

非線形

#fundamentals

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

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

不定性

#fundamentals

1 つ以上のディメンション間で値が変わる特徴(通常は時間)。次のような例が挙げられます。

  • 店舗で販売される水着の数は季節によって異なります。
  • 特定の地域で収穫された特定の果物の量は、1 年の大部分でゼロになっていますが、一時的に多くなっています。
  • 気候変動に伴い、年間平均気温は変化しています。

固定とは対照的です。

正規化

#fundamentals

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

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

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

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

数値データ

#fundamentals

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

すべての整数データが数値データとして表されるわけではありません。たとえば、世界の一部の郵便番号は整数ですが、モデルでは整数の郵便番号を数値データとして表すことはできません。これは、20000 の郵便番号が 10,000 の郵便番号の 2 倍(または半分)有効になっていないためです。また、異なる郵便番号はそれぞれ別の不動産値に関連付けられていますが、郵便番号が 20, 000 の不動産値は 10, 000 の郵便番号の 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 です
  • 「Sweden」は 1
  • 「ノルウェー」は 2
  • 「フィンランド」は 3
  • 「アイスランド」は 4 です

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

1 対すべて

#fundamentals

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

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

online

#fundamentals

dynamic と同義。

オンライン推論

#fundamentals

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

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

出力レイヤ

#fundamentals

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

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

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

過剰適合

#fundamentals

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

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

pandas

#fundamentals

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

パラメータ

#fundamentals

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

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

一方、ハイパーパラメータは、お客様(またはハイパーパラメータの回転サービス)がモデルに提供する値です。たとえば、学習率はハイパーパラメータです。

陽性クラス

#fundamentals

テスト対象のクラス。

たとえば、がんモデルの陽性クラスは「腫瘍」である可能性があります。メールの分類で陽性と判定されたクラスは「スパム」の可能性があります。

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

後処理

#fairness
#fundamentals

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

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

予測

#fundamentals

モデルの出力。例:

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

プロキシラベル

#fundamentals

データセットで直接利用できないラベルを近似するために使用されるデータ。

たとえば、従業員のストレスレベルを予測するためのモデルのトレーニングが必要だとします。データセットに多数の予測特徴が含まれているが、ストレスレベルという名前のラベルが含まれていない。ここでは、ストレスレベルのプロキシラベルとして「職場での事故」を選択します。結局のところ、ストレスの多い従業員は落ち着いた従業員よりも多くの事故に遭遇します。または職場での事故は さまざまな理由で発生します

2 つ目の例として、雨ですか?データセットのブール値ラベルですが、データセットに雨のデータは含まれていません。写真がある場合は、雨が降っている?これは適切なプロキシラベルですか?文化的には、雨よりも日差しを守るために傘を持って持ち歩く人もいるかもしれません。

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

(右)

評価者

#fundamentals

ラベルを提供する人。「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 曲線は、コンパス ポイントを西から北に横切るシェイクアークに近い値です。

ROC 曲線上の点(0.0,1.0)は、理論的には理想的な分類しきい値を示します。ただし、理想的な分類しきい値の選択に影響を与える実際の問題はほかにもいくつかあります。たとえば、偽陰性のほうが偽陽性よりはるかに痛みが大きい場合があります。

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

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

#fundamentals

平均二乗誤差の平方根。

S

シグモイド関数

#fundamentals

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

x の値がドメイン -infinity + + Positive に及ぶ 2 次元曲線プロット。y 値の範囲はほぼ 0 からほぼ 1 です。x が 0 の場合、y は 0.5 です。曲線の傾きは常に正で、最大の傾きは 0.0.5 です。x の絶対値が増加するにつれて、傾きは徐々に減少します。

シグモイド関数は、機械学習において次のような用途に使用されます。

Softmax

#fundamentals

マルチクラス分類モデルで取り得る各クラスの確率を決定する関数。確率の合計は 1.0 になります。たとえば、次の表は、softmax がさまざまな確率をどのように分散するかを示しています。

画像の種類 確率
0.85
0.13
horse 0.02

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

候補サンプリングとは対照的です。

スパースな特徴

#language
#fundamentals

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

機械学習では、驚くほど多くの特徴がスパースな特徴となります。カテゴリ特徴は通常、スパースな特徴です。たとえば、森の中の 300 種の樹木の中から、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 Loss と同義。

static

#fundamentals

連続ではなく 1 回行われる処理。 静的とオフラインという用語は同義語です。機械学習での静的オフラインの一般的な用途は次のとおりです。

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

動的とは対照的です。

静的推論

#fundamentals

オフライン推論と同義。

静止

#fundamentals

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

現実には、固定性を示すものはほとんどありません。安定性を表す手段(海面など)でさえ、時間とともに変化します。

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

確率的勾配降下法(SGD)

#fundamentals

勾配降下法アルゴリズムのバッチサイズつまり、SGD は、トレーニング セットから均一にランダムに選択された 1 つの例を使用してトレーニングします。

教師あり機械学習

#fundamentals

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

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

合成特徴

#fundamentals

入力特徴の中に含まれていないものの、1 つ以上の入力要素から組み立てられた特徴。合成特徴を作成するためのメソッドには、次のようなものがあります。

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

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

テストの損失

#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 スコアの正規化によって RAW 値が Z スコアにマッピングされる方法を示しています。

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

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