順序回帰

重要

Machine Learning Studio (クラシック) のサポートは、2024 年 8 月 31 日に終了します。 その日までに、Azure Machine Learning に切り替えすることをお勧めします。

2021 年 12 月 1 日以降、新しい Machine Learning Studio (クラシック) リソースは作成できません。 2024 年 8 月 31 日まで、既存の Machine Learning Studio (クラシック) リソースを引き続き使用できます。

ML Studio (クラシック) のドキュメントは廃止予定であり、今後更新されない可能性があります。

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

カテゴリ: Machine Learning/モデルの初期化/回帰

注意

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

類似のドラッグ アンド ドロップ モジュールは Azure Machine Learning デザイナーで使用できます。

モジュールの概要

この記事では、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. Connect回帰モデル モジュールへの入力として二項分類モデルを作成します。

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

  5. Connectデータセットとモデルのトレーニング モジュールを作成します。

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

    ランク値は数値である必要がありますが、シーケンスを表す限り、整数または正の数値である必要があります。

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

    たとえば、元のアンケートで、1 が最も高いスコアで、5 が最も低い場合、モデルの処理には影響を及ぼします。

  7. 実験を実行します。

結果

トレーニングの完了後:

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

  • ラベル付きデータ セットに対してクロス検証を実行するには、トレーニングされていないモデルをクロス検証モデルに接続します

機械学習で序数回帰を使用する方法の例については、次のページを Azure AI Gallery

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

テクニカル ノート

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

入力データに関する制限

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

ランク間の間隔は不明であると見なされ、その間隔のサイズはモデルに関係ありません。ただし、このモデルでは、ランクのシーケンスが数値の自然な順序に従う必要があります。

モデル自体は、特定のスケールに意味を割り当てない。 言い換えると、1 が良いランクで、10 が最低のモデルを作成し、別のモデルでは、10 が望ましいランクで、1 が最悪と仮定します。

ランク付けアルゴリズム

トレーニング セット (X,Y) は、入力ベクトル x とラベル y で構成されます。 ラベルは、1 から k の範囲のランクをシーケンスで表します。1、2、... 、 K。ランクは、1 が最低ランクまたは最低ランク、K が最高ランクまたは最高ランクである順序付けであると見なされます。

アルゴリズムの crux は、指定された入力特徴 X とラベル Y を変更して拡張例を使用し、二項分類子を使用して序数回帰の問題を解決する方法です。 二項分類子は、"ランクが r より大きいか?" という質問に対して"はい/いいえ" の回答を与えるためにトレーニングされます。

たとえば、トレーニング セット内の各ケースには K-1 拡張例が含み、観測される最大順位は K です。拡張特徴は、K-1 x K-1 ID 行列の i 番目 の行をすべての i の入力特徴に追加することで形成されます。 ラベルのランクが r の場合は最初の r-1 行に +1、残りは -1 になります。

サンプル計算

そのしくみについて説明するために、x1 を、順位が 3 のトレーニング機能にします。ここで、観測された最大ランクは 5 です。 この機能に対応する拡張例を次に示します。

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

想定される入力

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

出力

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

こちらもご覧ください

Regression (回帰)