モデルのスコアとレーティング
Strength Scores(強みのスコア、F1 スコア)
F1スコアは、Tealium Predictが使用しているマシンラーニングモデルの種類に対応する品質を評価するために、エキスパートが使用する典型的な指標です。F1スコアは、_Precision_(適合率)および_Recall_(再現率)という2つの指標の間のバランスを表します。
F1スコアを計算するには、適合率と再現率の値を次の式に入力します。
F1スコア = 2 * ( (適合率 * 再現率) / (適合率 + 再現率) )
高適合率モデル
1つの例として、赤と緑、2種類の色のリンゴがあるとしましょう。モデルを使用して、どのリンゴが赤なのか予測することを試みます。モデルの_適合率_が高い場合、この事実は、リンゴが赤であることを予測する際に、このモデルが通常は正しいことを意味します。このモデルが、おそらく赤であると思われるリンゴのリストを作成した場合、高適合率とは、このリストがたいていは正確であり、リストに掲載されているリンゴが実際に赤であることを意味します。
高再現率モデル
同じ例を使用して、モデルの_再現率_(感度)が高い場合、このモデルは大半の赤いリンゴを識別する能力を持っていることになります。高再現率のモデルは、赤いリンゴを列挙した詳細なリストを作成する際に適切な役割を果たします。
適合率と再現率を対比する比喩
赤と緑のリンゴに関する同じ例を使用し、適合率と再現率が高いか低いか、ということに基づいて予期される結果を次の一覧に示します。
- 高適合率、低再現率 = 赤いリンゴを掲載した短いリストで、かなり正確です。
- 高適合率、高再現率 = 赤いリンゴを掲載した、より長いリストで、かなり正確です。
- 低適合率、低再現率 = 赤いリンゴを掲載した短いリストで、かなり不正確です。このリストには、より多くの緑のリンゴが掲載されています。
- 低適合率、高再現率 = 赤いリンゴを掲載した長いリストで、かなり不正確です。このリストには、緑のリンゴが掲載されています。
理想的なモデルはもちろん、高適合率と高再現率の両方を達成しているモデルです。トレードオフの可能性というコンセプト(赤であると予測されるリンゴの量、およびそれらの予測の適合率)は、繰り返し発生する問題であり、マシンラーニングモデルを実際にどのように使用すればよいか、という考え方に影響を与えます。
混同行列
Confusion Matrix(混同行列)とは、トレーニング済みモデルを評価するために使用される重要なツールです。トレーニングとテストのプロセスの間、モデルの作成または再トレーニングを実施する際に混同行列が自動的に実行されます。Tealium Predictによって試みられるのは、Training Date Range(トレーニング期間)内の訪問者を[true]および[false]という2つのグループに”分類”することです。これら2つのグループは、モデルのTarget Attribute(ターゲット属性)によって通知された動作を、ユーザー(訪問者)が実際に実行したかどうか、という事実を反映しています。購入を行ったかどうか、メールリストにサインアップしたかどうか、などが該当します。
Confusion Matrix(混同行列)により、trueまたはfalseという予測値を、trueまたはfalseという実際の値と比較する方法で、これらの予測の適合率を簡単に表示することができます。以下の4象限の説明に示すように、4種類のシナリオが考えられます。
過去のデータ(Training Date Range、トレーニング期間)を使用してモデルのトレーニングを実施しているという事実に基づき、予測値と実際の値に関するこの比較が可能になります。モデルをデプロイした後、シナリオは変化します。当日の特定の訪問者に関する予測がデプロイ済みモデルによって実行され、予測の時間枠が”in the next 10 days”(今後10日間)である場合、10日間が経過するまでは、その予測値がtrueとfalseのどちらになったかを決定することはできません。
混同行列の4象限
Confusion Matrix(混同行列)の4象限について、以下の一覧で説明します。
- True Positive(真陽性) 予測されたtrueは正しい(予測されたtrueは実際にtrueだった)
- True Negative(真陰性) 予測されたfalseは正しい(予測されたfalseは実際にfalseだった)
- False Positive(偽陽性) 予測されたtrueは正しくない(予測されたtrueは実際はfalseだった)
- False Negative(偽陰性) 予測されたfalseは正しくない(予測されたfalseは実際はtrueだった)
4象限の値を使用して、F1スコアの2つの構成要素(再現率と適合率)を計算することができます。
これらの値を計算する方法を次の一覧に示します。
- Accuracy(精度) = (TP + TN) / (TP + FP + FN + TN) 精度とは、正しい予測の数を、実施した予測の総数で割った値です。
- Precision(適合率) 陽性というすべての予測のうち、実際に陽性であった比率を示します。
- Recall(再現率) 陽性という予測のうち、正しかった比率を示します。
予測した陽性と予測した陰性を区別するためにConfusion Matrix(混同行列)が使用するしきい値は、0.5です。
式の定義に関するリファレンス
Confusion Matrix(混同行列)のセクションおよびこの記事の他の部分で参照している、Tealium Predictのモデル化の式で使用されている各要素に関するわかりやすいリファレンスを次の一覧に掲載します。
- Visitor’s Visit (Vn)(訪問者による訪問(Vn)) Webサイトを訪問する、または1つ以上のデータレイヤーエンリッチメントイベントをトリガーする、訪問者の行動です。
- Prediction Time Window (Wn)(予測時間枠(Wn)) Prediction Time Window(予測時間枠)が開始されるのは、日数単位で測定される各訪問者による訪問が終了した時点であり、Prediction Outcome(予測結果)を決定するためにこの時間枠が使用されます。
- Prediction (Pn)(予測(Pn)) Deployed Model(デプロイ済みモデル)によって生成されたスコアです。このスコアは、Visitor(訪問者)による次回のVisit(訪問)の間に、Target Attribute Value(ターゲット属性値)の結果が_True_に設定される可能性を表しています(Prediction Time Window(予測時間枠)のうちに次回訪問が発生することを前提としています)。この値は、モデルのうち対応するPrediction Attribute(予測属性)の中に格納されます。
- Prediction Attribute(予測属性) 数値型のVisit(訪問)。対応するDeployed Model(デプロイ済みモデル)によってPrediction(予測)の値が生成された後、その予測値を格納しているデータレイヤーの属性をスコープとして使用するのが、このVisit(訪問)値です。新しいモデルを作成するときに、Prediction Attribute(予測属性)はデフォルトで作成されます。
- Prediction Threshold (PT)(予測のしきい値(PT)) Target Attribute Value(ターゲット属性値)を基準としてPrediction(予測)の値を測定するために選択した、数値型のしきい値です。たとえば、Prediction Threshold(予測のしきい値)として0.5を選択し、Prediction(予測)の値を0.51に設定した場合、Target Attribute Value(ターゲット属性値)の結果は_True_に設定されることが予期されます。
- Target Attribute(ターゲット属性) モデルで予測しようとしているアクションを表すために選択された、Flag(フラグ)またはBadge(バッジ)の属性です。
- Target Attribute Value (AVn)(ターゲット属性値(AVn)) 訪問者による訪問が終了した後、Target Attribute(ターゲット属性)がとる_True_または_False_という値です。
- Prediction Outcome (O)(予測結果(O)) Prediction(予測)の精度であり、Target Attribute Value(ターゲット予測値)、Prediction Threshold(予測のしきい値)、Prediction Time Window(予測時間枠)によって決定されます。Prediction Time Window(予測時間枠)のうちにVisitor(訪問者)が再アクセスした場合、Target Attribute Value(ターゲット予測値)を使用してPrediction Outcome(予測結果)が測定されます。選択したPrediction Time Window(予測時間枠)のうちに訪問者が再アクセスしなかった場合、Target Attribute Value(ターゲット予測値)は無視されます。
- Prediction Classification (PC)(予測の分類(PC)) Prediction Threshold(予測のしきい値)をPrediction(予測)に適用した結果として得られる、_True_または_False_という値。
ROC/AUC曲線
Tealium Predictで、_ROC/AUC_(曲線より下の領域)とは、Model Explorer(モデルエクスプローラー)内のトレーニング済みモデルに関して報告されるパフォーマンス測定値のことです。業界用語で表現すると、_ROC_とは、真陽性の数を、真陽性の数と偽陰性の数の和で割って求めた、真陽性率のことです。ROCが説明するのは、実際の結果が陽性であるときに、モデルが陽性クラスをどれほど良好に予測できるか、という点です。真陽性率を_Sensitivity_(感度)と呼ぶこともあります。
Receiver Operating Characteristics(受信者操作特性、ROC)曲線と、この曲線より下の領域(area under curve、AUC)は、マシンラーニングコミュニティで分類モデルのパフォーマンスを評価するための一般的なツールとして使用されています。
ROC曲線は、さまざまなしきい値の間にあるトレードオフを示しており、次のようにTrue Positive Rate(真陽性率、y軸)とFalse Positive Rate(偽陽性率、x軸)を対比するプロットを形成しています。
- True Positive Rate(真陽性率) = Sensitivity(感度)
- False Positive Rate(偽陽性率) = (1 - Specificity(特異度))
理想は、これらの結果を使用して、_True_と_False_の各クラスを区別できることです。このモデルは常に、正しい答えを予測します。
ROCの例
Probability Distribution(確率分布)とROC曲線に対応する”perfect model”(完全モデル)を次の例に示します。
- ROC曲線より上の領域では、AUC = 1です。このグラフの領域全体が、赤い曲線(境界)より下側および右側を示しています。
顕著な対比として、モデルが常に誤った答えを予測するシナリオにおけるProbability Distribution(確率分布)とROC曲線を次の例に示します。_常に_、_True_というラベルが付いている場合の結果は_False_であり、逆も同じです。
- このROC曲線の場合、AUC = 0です。
モデルが_True_と_False_の各クラスを区別することができない状況で定義した、不適切なシナリオを次の例に示します。このシナリオで、Probability Distribution(確率分布)は、互いのすぐ上に描かれる2つの大きい曲線を示しています。
- ROC曲線は斜めの直線であり、AUC = 0.5です。
現実的なROC曲線では、0.5 < AUC < 1.0の場合、プロットのx軸にはより小さい値が表示され、より小さい偽陽性と、より大きい真陰性を表します。このプロットのy軸に、より大きい値が表示される場合、より大きい真陽性と、より小さい偽陰性を表します。
2値の結果を予測する場合、正しい予測(真陽性)またはそれ以外の予測(偽陽性)のどちらかになります。
確率分布
どのトレーニング済みモデルのどのバージョンでも、Training Details(トレーニングの詳細)パネルに移動して、トレーニング中のモデルによって実行された予測の確率分布を表示することができます。
このグラフにある2本のカラー曲線は、トレーニングの間にこのモデルが実行したtrueおよびfalseという予測の分布を表します。モデルのトレーニングプロセスは過去のデータを使用しているため、各訪問者がターゲットの行動を実際に実行したかどうかは既に把握できています。そのため、過去の訪問者に関する予測を、実際の結果と比較する方法で、このモデルをテスト(検定)することが可能です。この比較の目的は、トレーニングデータセットの一部をテストサブセットとして取り分けることです。
確率分布は、予測を、テストサブセットに属する訪問者の実際の値の値と比較します。Trueクラス(行動を実行した)の一部であった訪問者はティール(青緑色)のカラー曲線の一部として表示され、Falseクラスの一部であった訪問者はオレンジ色のカラー曲線の一部になります。
理想的な確率分布
理想的な確率分布の特性を、次の一覧に示します。
- ティール(青緑色)とオレンジ色の各曲線が示すように、TrueとFalseの各クラスの間に明確な区分があります。この事実は、モデルが簡単かつ高精度で訪問者を分類できることを示します。
- 各クラス(曲線)は、予測された値範囲の一部のみに対応しています。Falseクラスは理想的には左寄りの下側範囲のみに集中し、Trueクラスは右寄りの上側範囲のみに集中しています。
追加情報
このページはお役にたちましたでしょうか?
最終更新日 :: 2021年March月10日