読んだ:Predicting User Activity Level in Social Networks(CIKM2013)

ソーシャルメディア上でのユーザの振る舞いに関する重要な指標は、ユーザの週次の活動レベルやアクティブかディアクティブかをクラス分類するようなアクティビティレベルである。この予測問題はSocialCRM(ソーシャル上のユーザの関係管理)を密接に関係している。

CRMの一例
誰かがある期間からインアクティブになるとき、それをその前の期間から潜在的インアクティブユーザとして予測すること


 SocialCRMは普通のCRMとは違う特徴がある。
・ユーザの多様性
・ソーシャル上の影響力
ソーシャルネットワークダイナミクス
 ユーザのソーシャル上の多様性からなる特徴量は、包括的な予測モデルがすべてのユーザに対して適正ではないかも知れない。しかし、おのおののユーザの過去のデータはスパースすぎて質の高いパーソナライズなモデルは出来ない。
 ユーザの影響力という特徴は、ユーザ間の関係が個々のユーザの予測結果をより大きく後押しするために埋め込まれることを提案する。 
 最後に、ソーシャルネットワークダイナミクスはユーザの振る舞いの変化を意味する。
 本稿では、ユーザのアクティビティレベルを正確に予測するために、パーソナライズかつソーシャルに一般化された時間遅れモデルを発展させる。RENRENデータを使用し、提案モデルが一般的な教師ありモデルと比較して優れたパフォーマンスをあげることを示す。

2章:この論文の貢献は大きく分けて二つ
1.ユーザのアクティビティレベルを予測するために、統一化された最適化の枠組みの中に影響力とダイナミクスを取り入れた、ユーザのパーソナライズにエンコードした学習モデルを提案する。
2.現実の大規模ソーシャルメディアを使って提案手法がいくつかのベースラインより効果的であることを明らかにする。さらに、このソーシャルメディアに対して、利便性のある特徴量の3つのカテゴリを構築し、アクティビティレベルの予測に役立つことを示す。

数式的にやること
 グラフGと総ユーザ数Nを定義。時刻tのユーザの特徴量ベクトルをp次元のベクトルx_i^(t)であらわす。そのときのactive,inactiveをy_i含まれる{1,-1}で表す。
 時刻tでのユーザの特徴ベクトルから次のactive(y_i^(t+1))を表す。

f:id:A_Koide0519:20131117222330p:plain

 またネットワークを重み付き隣接行列で表す。重みは友人全体のinteractionに対するのあるユーザ間のinteractionで表す。
ここでのinteractionは友人へのメッセージや写真投稿の閲覧。

f:id:A_Koide0519:20131117215720p:plain

3章:提案手法に関して
ロジスティック回帰を基盤としたモデルを構築。重みベクトルの推定式。lは損失関数。二項は正則化項

f:id:A_Koide0519:20131117215724p:plain

f:id:A_Koide0519:20131117215730p:plain

ただし、通常のロジスティック回帰モデルでは今回の問題を解くにあたり
ユーザの多様性、振る舞いのダイナミクス、ソーシャルの影響という3つの
特性を埋め込めていない。

3.1パーソナライズ
それぞれのユーザの行動は異なるのだから、モデルだってユーザごとに異なる
はずだ。なので、今の学習モデルでは正確な予測は出来ない。

そこでマルチタスク学習の手法を応用して、学習モデルを拡張。

※マルチタスク学習
学習データが少ないが似た学習タスクがある場合は情報共有することで推定精度
を向上させることが出来る。

各パラメータのを分解。正則化。
一般重みとユーザ単位の重みで学習。
ユーザ重み側のγを小さくするとパーソナライズの影響が大きくなるが過学習
することになる。

f:id:A_Koide0519:20131117220850p:plain

3.2ダイナミクスのモデル化
時間遅れパラメータの導入
損失関数項に時間遅れパラメータを導入。
昔の学習データを考慮しないように。

f:id:A_Koide0519:20131117220856p:plain

3.3ソーシャル的な正則化
ソーシャルネットワーク上では個々人のアクティビティレベルが友人の
アクティビティに影響を受ける。
フレンドリストから特に仲良しのユーザを選んで、その予測値の差分を
考慮する。ここで、C_iは友人の中でも、messageの返信や写真の閲覧を友人全体の15%以上している友達の集合。
つまりS_{i,j}^(t)>=0.15を満たすj

f:id:A_Koide0519:20131117220902p:plain

3.4最適化問題
命名:SocTiPerLR
Personalized Time-Decay Logistic Regression with Social Regularization

f:id:A_Koide0519:20131117220907p:plain

各重みは勾配降下法を使う

f:id:A_Koide0519:20131117220913p:plain

イテレーションでは、まずw_1...w_Nを固定してw_0を最適化し、w_0を固定して
w_1...w_Nを最適化する。このとき、w_1...w_Nは独立に計算できるので並列計算
して計算コストを下げる。

4実験
データセット:RenRen中国版Facebookみたいなもの
ユーザの関係は無向グラフで表現される。
そこからサブグラフ抽出(26,418Users)。
20週間分のいろんなデータを収集。
これらのユーザの各週でのアクティビティの変化。

f:id:A_Koide0519:20131117221039p:plain

週3回以上動きがあればその週がアクティブだったとしているが、それだと
ユーザ数のバランスが悪いので、平等に扱えるようにコストb_inactive,b_activeを損失関数に加える。
※どんな風に加えるのかよくわからない

特徴ベクトル
3つのカテゴリ
action feature(28)
投稿数、写真アップロード数など
time series feature(7)
ある週のアクティブな日
平均アクティブ日など
social feature(3)
友人の数、アクティブな友人数など

比較手法
1.単純なロジスティック回帰とランダムフォレスト
2.ノード分類モデル

指標
Percision...実際の非アクティブユーザに対するうまく分類できたユーザ数
Recall...非アクティブと分類されたユーザに対するうまく分類できたユーザ数
F1score

f:id:A_Koide0519:20131117221043p:plain

20週間でパラメータのチューニングを行い、21-25週を予測する。このとき
各パラメータはどの週でも固定。


結果
比較手法に比べて提案手法はすべての週で勝っている
recallの良さが効いてる

コストb_inactive,b_active
b_active=1に対してb_inactive=4位のところが一番効果的。これ以降の所はprecisionが大幅に下がる

時間遅れ係数αは0.01がベスト。それ上大きくしすぎると近日の少量データ
に引っ張られて精度が落ちる。

βは0.1がベスト。それ以上にすると比較手法より精度が落ちる

γは1がベスト。また、この指標が極めて効いていることがわかる。
さらに友人定義のしきい値を調べたところ、S_{i,j}^(t)>=15%が最も良い

収束スピードとしては、15回程度のイテレーションで落ち着く。最初の段階で
急激に収束していることについては、パーソナライズ化が学習誤差を小さく
していることが要因だと考えてる。