「表形式データのためのグラフデータサイエンス」

「美とファッションの専門家による美容とファッションに関する生き生きとした記事」

グラフメソッドは思っているよりも一般的です

Alina Grubnyakさんによる写真、Unsplashから

グラフデータの科学的な方法は通常、分子構造データ、交通ネットワークデータなどの固有のグラフの性質を持つデータに適用されます。しかし、グラフメソッドは、機械学習のタスクで使用される表形式のデータなど、明らかなグラフ構造を持たないデータにも有用です。この記事では、数学や理論なしに、簡単で直感的な方法で、表形式のデータをグラフとして表現することで、このデータに対する推論の新たな可能性を開くことを示します。

シンプルにするために、以下のCredit Approvalデータセットを例にして説明します。目的は、他の属性の値に基づいてApprovalの値を予測することです。これには多くの分類アルゴリズムが使用できますが、グラフを使用してアプローチする方法を探ってみましょう。

筆者によるCredit Approvalデータセット

グラフ表現

まず考慮するべきことは、データをグラフとしてどのように表現するかです。2つのインスタンス間で共有される属性値が多ければ多いほど、それらのインスタンスは類似しているという直感を捉えたいと思います。各インスタンスを表すために1つのノード(インスタンスノードと呼びます)を使用し、各可能な属性値に対して1つのノード(属性値ノード)を使用します。インスタンスノードと属性値ノードの接続は双方向であり、テーブルの情報を反映します。シンプルにするため、雇用と履歴の属性は省略します。以下にグラフを示します。

筆者によるCredit Approvalデータセットのグラフ表現。画像:筆者による。

メッセージパッシング

新しいインスタンスの属性値が与えられた場合、グラフメソッドを使用して未知の属性値を予測するためには、いくつかの方法があります。ここではメッセージパッシングの概念を使用します。以下に使用する手順です。

メッセージパッシング手順

始点ノードに値1のメッセージを開始し、このノードを接続された各ノードにメッセージを渡します。メッセージを受け取ったノードは、受け取ったメッセージを他の接続されたノードに(0<k<1の係数kで倍率をかけて)渡します。メッセージを渡すノードがないか、目標ノード(予測する属性の値に対応するノード)に到達するまでメッセージパッシングを続けます。メッセージは受け取ったノードに戻ることはないため、プロセスは必ず終了します。

メッセージパッシングが完了すると、グラフの各ノードは0個以上のメッセージを異なる値で受け取ります。対象属性に属する各ノードのこれらの値を合計し、(合計)値を正規化してそれ自体が1になるようにします。正規化された値を確率として解釈できます。これらの確率は、未知の属性値を予測するか、分布からランダムに値を代入するために使用できます。各パスのメッセージ値を拡大することは、より短いパスよりも長いパスは確率推定に寄与する割合が少ないという直感を反映しています。

例1

IncomeがLowである場合にApprovalの値を予測したいとします。以下のグラフの矢印は、メッセージパッシング手順の操作を示しており、各矢印の太さはメッセージ値を表しています(各ホップごとに係数k = 0.5で拡大されます)。

所得が低い場合の承認の分布の推定。著者による画像。

メッセージは所得:低 (緑で表示) のノードで開始されます。このノードはInstance 1およびInstance 2に値が1のメッセージを送信し、それぞれメッセージ(膨張値が0.5の場合)をEducation:CollegeおよびApproval:Noのノードに送信します。Education:CollegeはInstance 1およびInstance 2からメッセージを受信するため、各メッセージをInstance 3に転送する必要があります。このとき膨張値は0.25に設定されます。ターゲット変数の各ノードの数字は受信したメッセージの値の合計を示しており、(かっこ内に)正規化された値(パーセンテージ)も表示されます。所得が低い場合の承認の確率は次のとおりです:

  • 確率(所得が低い場合の承認が “Yes” である)= 20%
  • 確率(所得が低い場合の承認が “No” である)= 80%

これらの確率は、表に基づいたカウントベースの予測とは異なります。5つのインスタンスのうち2つが所得が低いとし、それらの両方が承認がない場合、カウントベースの予測は承認がない確率が100%になります。

メッセージパッシング手順は、Instance 1およびInstance 2が持つ属性値であるEducation Collegeが、Approval:Yesのノードで受け取るメッセージの合計値に寄与することを考慮しています。もしグラフに追加的な属性であるEmploymentおよびHistoryを組み込んだ場合、これは開始ノードとターゲットノードを接続するパスの数をさらに増やし、追加の文脈情報を利用することになり、確率分布の推定を改善する可能性があります。

例2

メッセージパッシング手順は、複数の属性を条件として設定する場合にも使用できます。その場合、条件として設定する属性値に対応する各ノードでメッセージを開始し、それぞれの手順を行います。以下のグラフは、所得が低く、教育が大学院生である場合に承認の値を予測した結果を示しています。各開始ノードから発信されたメッセージのシーケンスは、異なる色で表示されています。

所得が低く、教育が大学院生である場合の承認の分布の推定。著者による画像。

Instance 4は教育値として大学院生を持っており、そのためApproval:Yesのノードで受け取るメッセージの合計値に寄与します。Instance 5も所得が高い属性をInstance 4と共有しており、Approval:Yesへのさらなる寄与を行います。

[注: これらの例のいずれにおいても、ターゲット変数として承認を使用しましたが、所得または教育の確率分布も同じ手順で推定できました]

これらの例は、単純なメッセージパッシングの概念(基本的にはグラフベースの操作)と適切なグラフ表現の組み合わせにより、一般的かつ柔軟な推論を行うことができることを示しています。具体的には、これによって「1つまたは複数の属性値に基づく、任意の属性の確率分布を推定する」ことができます。

推論手順はいくぶん特異的であり、主張をできるだけ簡単にするために考案されています。使用できるバリエーションは多岐にわたりますが、重要なのは、グラフベースの手法がインスタンス間の関係の豊かなネットワークを利用することができる点です。ベクトルベースの手法では、このような関係を捉えるのは困難です。もちろん、メッセージパッシング手順をベクトルベースで表現することもできますが、それは複雑で煩雑になります。グラフベースのアプローチの簡潔さと優雅さは、グラフ表現と推論手順の自然な結びつきに起因しています。

また、これらの例から興味深い観察結果も得ることができます。上記の分析では、インスタンスノード(グラフの左側に表示されるノード)で受け取ったメッセージの値の合計について言及していませんでした。これらの値が示すものを確認してみましょう。例1では、メッセージパッシングが完了した時点で、Instanceノード1から5までのメッセージの合計はそれぞれ1.0、1.0、0.5、0.0、および0.0です。これらの値を1に正規化すると、それぞれ40%、40%、20%、0%、および0%になります。最初の2つのインスタンスは承認がなく、正規化された値の合計は80%です。最後の3つのインスタンスは承認があり、正規化された値の合計は20%です。これらは元の分析で得られた属性承認の確率とまったく同じです(例2でも同様に確認できます)。これは偶然ではありません。インスタンスノードでのメッセージの合計は、条件として設定した属性値に対するそのインスタンスの類似性を表していると解釈できます。そのため、推論手順は、類似性の尺度がメッセージパッシング手順に暗黙的に組み込まれた、重み付け最近傍法の形式と考えることができます。

UNCRiフレームワーク

私たちのSkanalytixでは、一意なグラフベースのデータ表現と柔軟な推論手法を組み合わせたUnified Numerical/Categorical Representation and Inference (UNCRi)というコンピュータフレームワークを開発しました このフレームワークは、任意のカテゴリカルまたは数値変数の条件付き分布を推定し、サンプリングできるようにするものです。分類や回帰、欠損値の補完、異常検知、および完全な結合分布または条件付き分布からの合成データ生成などのタスクに適用することができます。 このフレームワークは、データの極端な状況にも強いです。カテゴリカル変数はバイナリから高次元まで範囲が広く、数値変数は複数のモードを持ち、高度にスケートしており、任意のスケールであることが可能です。また、欠損値の割合も高くなる場合にも対応しています。UNCRiについての詳細はhttp://skanalytix.comでご覧いただけます(UNCRiコードはクローズドソースです)。

結論

パターン認識と機械学習の分野では、ベクトルによって操作される方法が支配的でした。ベクトルは非常に広範囲に使用されているため、他のアプローチを考えることが難しいかもしれません。グラフの手法は、強力で柔軟な代替手段を提供します。表形式のデータに適用すると、グラフの手法は属性の値を予測したり、属性に推定された分布からランダムな値を補完したりするだけでなく、確率の連鎖則を使用してソースデータと同じように分布するインスタンスの完全な合成データセットを生成することができます。そして、これらすべては1つのグラフと1つの推論手法で行うことができます。この記事ではカテゴリカル変数のみを考慮していますが、数値とカテゴリカルの属性を含むデータセットにこれらのアイデアを拡張することも可能です。

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more