1

ソーシャル ネットワークでつながりを提案する機能を作成したいと考えています。

ネットワークでは、接続を確立して他のユーザーに接続できます。

ネットワークに接続提案機能を実装したい。

これを実装するための最も基本的なアプローチは、ユーザーが接続していない最も一般的な接続をすべてチェックし、このユーザーをユーザーに接続するよう提案することだと思います。

私の質問は次のとおりです。

  1. これは、簡単な接続ファインダーの基本的なアプローチとして適切ですか?
  2. 接続している接続が最も発生しているユーザーを見つけるために使用できる適切な実装アルゴリズムはありますか?
4

1 に答える 1

1

この問題に対して機械学習アプローチを 試してみます。
この問題を解決するために、2つの一般的な機械学習の概念を提案します。両方が機能するためには、データから特徴を抽出する必要があります(たとえば、サブグラフを見て、サブグラフの各メンバーとの友情はバイナリの特徴です)。

2つのアプローチは次のとおりです。

  1. 分類。ここでは、分類子を見つけようとしていますC:UserxUser->Boolean(2人のユーザーを指定し、ブール値の答えを与える分類子-彼らが友達である場合)。分類アプローチでは、最初に手動でラベルを付けるか、いくつかの分類された情報を抽出する必要があります(それぞれが分類された十分な大きさのペアのセット)。アルゴリズムはこのパターンを学習し、それを使用して将来の入力を予測します。
  2. クラスタリング(別名教師なし学習)。グラフでクラスターを見つけて、クラスター内のすべてのメンバーと友達になるようにユーザーに提案することができます。

私は友情の提案にこれらの方法を使用したことがないことを認めなければなりません-それで私はそれがどれほど正確であるかわかりません。アルゴリズムの精度を推定するために、交差検定を使用できます。


それについてもっと知りたい場合は、2週間前にスタンフォード大学で機械学習に関するオンライン無料コースが開始されました: https ://class.coursera.org/ml-2012-002

于 2012-09-02T09:57:12.807 に答える