順序回帰

順序回帰モデルを作成します

Category: Machine Learning/初期化モデル/回帰

注意

適用対象: Machine Learning Studio (クラシック)

このコンテンツは、Studio (クラシック) のみに関連しています。 Azure Machine Learning デザイナーに同様のドラッグアンドドロップモジュールが追加されました。 この記事では、2つのバージョンの比較について詳しく説明します。

モジュールの概要

この記事では、Azure Machine Learning Studio (クラシック) の 序数回帰 モジュールを使用して、順位付けされた値を予測するために使用できる回帰モデルを作成する方法について説明します。

順位付け値の例を次に示します。

  • 1 ~ 5 スケールでユーザーの優先ブランドを取得するアンケート回答
  • レースのフィニッシャーの順序
  • ランク付けされる検索結果の Url

序数回帰の詳細

序数回帰は、ラベルまたはターゲット列に数値が含まれている場合に使用されますが、数値は数値測定ではなく順位付けまたは順序を表します。

序数を予測するには、連続スケールで数値の値を予測する場合とは異なるアルゴリズムが必要です。これは、ランクの順序を表すために割り当てられた数値には、固有のスケールがないためです。

たとえば、学生のテストスコアを予測するには、標準的な回帰モデルを使用します。これは、学生のテストスコアが連続スケールで変化し、測定できるためです。 ただし、クラスの順位付けを予測するには、序数回帰モデルを使用する必要があります。

このアルゴリズムの背後にある調査の詳細については、次のホワイトペーパー (ダウンロード可能な PDF) を参照してください。 https://papers.nips.cc/paper/3125-ordinal-regression-by-extended-binary-classification.pdf

順序回帰を構成する方法

このモジュールは、一連の関連する分類の問題として、ランク付けの問題を解決します。 このため、アルゴリズムでは、各ランクのバイナリモデルを使用して一連の拡張トレーニング例を作成し、その拡張セットに対してトレーニングを行います。 この操作には、負荷がかかることがあります。

  1. Studio (クラシック) で、 序数回帰モデル モジュールを実験に追加します。 このモジュールは、回帰 カテゴリの [ Machine Learning-初期化] の下にあります。

  2. バイナリ分類をサポートするモジュールを追加し、モデルを構成します。 分類カテゴリには、2つのクラスのモジュールがいくつかあります。

  3. 二項分類モデルを入力として 序数回帰モデル モジュールに接続します。

  4. 序数回帰モデル では、追加のパラメーターは必要ありません。アルゴリズムは、順位付けの問題を解決するための最も効果的なパラメーターを使用して事前構成されています。

  5. トレーニングデータセットと トレーニングモデル モジュールを接続します。

  6. [ モデルのトレーニング ] モジュールで、順位値を含む列を選択します。

    順位値は数値である必要がありますが、シーケンスを表している限り、整数または正の数値を指定する必要はありません。

    処理の目的で、順位には順序1が K であると見なされます。1は最低ランクで、K は最高ランクです。 ただし、 モデルのトレーニング モジュールは、スケールのセマンティクスが逆になる場合でも機能します。

    たとえば、元の調査では、1が最高のスコアで、5が最も低い場合、モデルの処理には影響しません。

  7. 実験を実行します。

結果

トレーニングの完了後:

  • 予測を行うには、トレーニング済みのモデルを新しいデータと共に モデルのスコア 付けモジュールに接続します。

  • ラベルが付けられたデータセットに対してクロス検証を実行するには、未 トレーニングのモデルクロス検証モデルに接続します。

機械学習で序数回帰を使用する方法の例については、 Azure AI Galleryを参照してください。

  • 予測的なメンテナンス-手順 C: このサンプルでは、値がエラー分類の重大度を反映していると仮定して、 序数回帰 を使用して分類モデルによって出力された値を順位付けします。

テクニカル ノート

この学習器で使用される順序回帰アルゴリズムは、NIPS 2006 で Ling Li 氏と Hsuan-Tien Lin 氏によって発表されたペーパー『Ordinal Regression by Extended Binary Classification』に説明されているように、拡張二項分類によって実装されます。

入力データに関する制限事項

任意の数値列を序数回帰モデルのターゲットとして使用できますが、実際には、何らかの順序またはランク付けを表すデータのみを使用する必要があります。

ランク間の間隔は不明であると見なされ、間隔のサイズはモデルには関係ありません。ただし、モデルでは、ランクの順序が数値の自然な順序に従うことを前提としています。

モデル自体は、特定のスケールに意味を割り当てません。 つまり、1つのモデルを作成すると、1が良好なランクになり、10が最悪であることがわかります。また、別のモデルでは、10が目的のランクで、1が最悪であると想定しています。

順位付けアルゴリズム

トレーニングセット (X, Y) は、入力ベクトル x とラベル Y で構成されています。 ラベルは、1 ~ k の範囲で、1、2、... 、 K。 順位は、1が最低または最悪のランクであり、K が最適または最高のランクであると見なされます。

アルゴリズムの重要な点は、指定された入力特徴 X を変更し、Y というラベルを付けて拡張例を使用し、次に二項分類器を使用して序数回帰問題を解決することです。 バイナリ分類器をトレーニングして、"Is より大きいランクがあるか" という質問に対して "はい/いいえ" という答えを与えることができます。

たとえば、トレーニングセット内のケースごとに、 1 つの拡張された例があり、観察された最大ランクは k です。拡張機能は、すべての i の入力機能に対して、K-1 x K-1 id マトリックスの i 番目 の行を追加することによって形成されます。 ラベルは、最初の r-1 行に対して、そのランクが r の場合は + 1、それ以外の場合は-1 に指定されます。

サンプル計算

それがどのように動作するかを説明するために、x1 はランクが3であるトレーニング機能です。ここで、観測された最大ランクは5です。 この機能に対応する拡張例は次のとおりです。

ケース テスト 結果のラベル
X11000 ランクが1より大きいかどうか。 イエスしたがって + 1
X10100 ランクは2より大きい イエスしたがって + 1
X10010 ランクは3より大きい 番号そのため、その他の機能はありません。
X10001 ランクは4より大きい 番号そのため、その他の機能はありません。

想定される入力

名前 Type 説明
未トレーニング二項分類モデル ILearner インターフェイス 未トレーニング二項分類モデル

出力

名前 Type 説明
未トレーニング モデル ILearner インターフェイス 未トレーニングの順序回帰モデル

関連項目

Regression (回帰)