機械学習は、正確に予測するモデルを作成することに重点を置いています。評価メトリクスはモデルの効率を測定する方法を提供し、これによりパフォーマンスの結果に基づいてアルゴリズムを調整したり、切り替えたりすることもできます。
「尤度」の概念は、これらの指標の多くの中心であり、モデルの予測が観測データとどの程度一致しているかを測定します。したがって、モデルのトレーニングと評価において極めて重要な役割を果たします。
たとえば、尤度が高いモデルは、特定のモデルの仮定の下で観察されたデータの可能性が高いことを示唆しています。
TensorFlow や PyTorch などの技術ツールは、特に分類やシーケンス予測などのタスクで、尤度ベースのメトリクスをよく使用します。このようなツールは、これらの指標に合わせて調整された機能とライブラリを備えており、モデル評価のタスクをアクセスしやすく、非常に効率的に行うことができます。
可能性とそれに関連するメトリクスを理解することは、機械学習を行う人にとって不可欠です。これにより、モデルの評価と改善の基礎を形成することができます。
以下では、機械学習において 3 つの主要な評価指標がどのように機能し、相互に関連しているかを詳しく見ていきます。
クロスエントロピーは、2 セットの確率間の分散を評価し、多くの場合、実際のデータ パターンとモデルの予測結果を並べて表示します。数学的には、離散分布p
およびq
の場合、交差エントロピーH(p, q)
次の式で与えられます。
H(p, q) = -\sum p(x) \log(q(x))
ここで、 \( p(x) \) はイベントx
が発生する真の確率であり、 q(x)
モデルに従った同じイベントの推定確率です。
これは主に分類問題、特に出力が複数のクラスに属する可能性があるシナリオに適用されます。これは、モデルの予測が実際の結果からどれだけ離れているかを明確に示すために使用されます。クロスエントロピーが低いほど、モデルの予測は真の値とよりよく一致します。
クロスエントロピーを伴う計算を処理するために、いくつかのソフトウェア ライブラリが装備されています。特に:
tf.nn.softmax_cross_entropy_with_logits
のような関数を提供します。
torch.nn.CrossEntropyLoss
のような関数と同様の機能を提供し、マルチクラス分類タスクに適しています。
log_loss
関数を使用して、クロスエントロピーと密接に関連する対数損失を計算するユーティリティも提供します。Logloss は対数損失の略で、誤った分類にペナルティを与えることで分類器の精度を測定します。真のラベルy
と予測確率p
を使用したバイナリ分類の場合、対数損失は次の式で与えられます。
L(y, p) = -y \log(p) - (1 - y) \log(1 - p)
基本的に、対数損失は、真のラベルとバイナリ分類問題の予測の間の交差エントロピーです。マルチクラス分類に拡張すると、logloss は各クラスのクロスエントロピー値を合計し、2 つのメトリックが密接に関連するようになります。
これは主にバイナリおよびマルチクラスの分類問題で使用されます。その強みは、予測が実際のラベルからどれだけ逸脱しているかに基づいて、予測の不確実性を定量化できることにあります。
完全なモデルの対数損失は 0 になりますが、実際には値がこれより大きくなる傾向があります。
多くのソフトウェア ライブラリを使用すると、対数損失を計算できます。
Scikit-Learn 。 scikit-learn は、広く使用されている機械学習ライブラリとして、バイナリ分類シナリオとマルチクラス分類シナリオの両方に適したlog_loss
関数を提供します。
TensorFlow と PyTorch。これらのフレームワークは主にニューラル ネットワークと深層学習に焦点を当てていますが、分類タスクにクロスエントロピー損失関数を使用する場合、本質的に対数損失を計算します。
LightGBMとXGBoost。これらの勾配ブースティング フレームワークは、表形式データ コンペティションでの高いパフォーマンスで知られていますが、対数損失を計算する機能も含まれており、分類課題でモデルのパフォーマンスを評価する場合に特に役立ちます。
これは、確率分布または確率モデルがサンプルをどの程度正確に予測するかを測定するものです。
によって与えられた:
Perplexity(P) = 2^{H(P)}
ここで、 H(P)
は分布P
の交差エントロピーであり、パープレキシティは、モデルが各決定点で持つと考える選択肢の加重平均数を効果的に表します。
クロスエントロピーのコンテキストでは、より高いクロスエントロピー値はより高いパープレキシティに対応し、モデルの予測がより不確実であることを示します。
Perplexity の最も注目すべき用途は言語モデルであり、モデルが単語のシーケンスをどの程度正確に予測するかを測定します。パープレキシティが低いモデルは、平均分岐因子が少ないことを意味するため、つまり、簡単に言えば、シーケンス内の次の単語についてより確実であることを意味するため、優れていると見なされます。
言語モデルとは別に、複雑さは、シーケンスや分布に対する予測品質が重要である他の確率モデルでも関連するメトリクスになる可能性があります。
複雑さの計算と解釈を支援するいくつかのツールとプラットフォームがあります。
NLTK 。 Natural Language Toolkit は、確率的言語モデルを構築するためのユーティリティを提供し、これらのモデルを評価するための複雑さを計算します。
TensorFlow と PyTorch。深層学習ベースの言語モデルの場合、これらのフレームワークはどちらもクロスエントロピーを計算する機能を提供しており、クロスエントロピーは上記の式を使用してパープレキシティに変換できます。
ゲンシム。 Gensim は主にトピック モデリングで知られていますが、生成されたトピックの一貫性を評価する場合に特に役立つ、困惑度を計算するメソッドも含まれています。
クロスエントロピー、対数損失、パープレキシティはすべて、情報理論と確率モデリングに根ざした指標です。その主な目的は、分類または確率分布推定のいずれであっても、予測の品質を評価することです。高いレベルで:
普遍的な指標として、クロスエントロピーは、特定の確率分布を近似または一致させることが目的である問題に適しています。複数クラスの分類タスクで威力を発揮します。例には、各画像がいくつかのカテゴリの 1 つに属する画像分類や、症状に基づいて患者が罹患している可能性のある病気の種類を予測することが含まれます。
分類用に調整された対数損失は、バイナリおよびマルチクラス問題の頼りになるメトリックとなり、自信を持って不正確な予測に大きなペナルティを与えます。その強みは、正確な確率的予測に対する感度にあります。
たとえば、スパムの検出 (スパムかどうか)、顧客の解約予測 (解約するかどうか)、または特定の取引が不正であるかどうかの予測などです。
最後に、主に言語モデリングで使用されるパープレキシティは、モデルがシーケンスをどの程度正確に予測するかを評価します。値が低いほど、モデルの逐次予測がより確実であることを示します。これは、モデルがシーケンス内の次の単語またはフレーズを予測するテキスト生成タスク、機械翻訳、または音声認識に使用できます。
3 つのメトリクスはすべて確率モデルの評価を扱いますが、その適用可能性はタスクの性質 (分布マッチング、分類、シーケンス予測) に基づいて異なります。
経験豊富な機械学習の専門家が、タスクに最適なメトリックを選択して、モデルのパフォーマンスの最も有益な評価を保証します。
クロスエントロピー、ログロス、パープレキシティなどの評価指標の微妙な違いを認識することは、機械学習プロジェクトにおける情報に基づいた意思決定に直接影響します。これらのメトリクスはそれぞれ、独自の特徴と用途を持ち、予測モデルの精度と信頼性に大きく影響します。
ML では、TensorFlow、Scikit-learn、NLTK などのプラットフォームを使用すると、メトリクスの計算が容易になり、モデルの評価が向上します。最良の結果を得るために、選択した指標がプロジェクトの目標と一致していることを常に確認してください。
もちろん、使い慣れたよく知られたツールを適用するのは簡単ですが、それらを真に理解することが最終的にはより有益になる可能性があります。学習を続けて、直面するそれぞれのタスクに適切な指標を選択してください。