2007 IEEE ICDM DMC task1 result

25
IEEE ICDM DMC 2007 半教師あり学習を用いた クライアント位置推定問題 @知的獲得システム論 課題報告会 能見大河

Transcript of 2007 IEEE ICDM DMC task1 result

Page 1: 2007 IEEE ICDM DMC task1 result

IEEE ICDM DMC 2007半教師あり学習を用いたクライアント位置推定問題@知的獲得システム論 課題報告会

能見大河

Page 2: 2007 IEEE ICDM DMC task1 result

課題

• 1.コンテストと同じ条件でテストデータのグリッドを推定

• 2.「グリッドの位置関係」の情報を利用して,テストデータのグリッドを推定

• 3.グリッド番号ではなく2次元位置座標を直接推定• 4.100個のアクセスポイントの位置を推定

Page 3: 2007 IEEE ICDM DMC task1 result

テストデータのグリッド推定

(課題1)

Page 4: 2007 IEEE ICDM DMC task1 result

1:半教師ありK-means• 1.ラベル有りデータでクラスタ中心を決定• 2.各ラベル無しデータを最近傍クラスタに分類• 3.クラスタ中心を再計算• 4.各ラベル無しデータを最近傍クラスタに分類• 5.クラスタリングが収束するまで3.~4.を繰り返し

Page 5: 2007 IEEE ICDM DMC task1 result

K-means• 信号強度の類似度のみを用いてクラスタリング• Norm < 1

– 信号がノイジー•同じ場所でも受信する信号強度はばらつく•受信しえない距離からの信号は必ず0•信号の数値より数値の組み合わせが大事

Page 6: 2007 IEEE ICDM DMC task1 result

Example

0020055Label B5020000A?B?10010000Label A654321Access Point

2-NormだとBのほうが近い→NG

0.5-NormだとBよりもAに近い→感覚に合致

A B1

2

4

6 ??

Page 7: 2007 IEEE ICDM DMC task1 result

結果

• 1623/2137(75.96%) with K=1, Norm=1/3• 1575/2137(73.70%) with K=3, Norm=1/3• 1469/2137(68.74%) with K=1, Norm=1/2

• …微妙?• 信号Vector上で各ラベルのデータが超球を形成していればK-meansは効果を発揮するはずだが、今回はノルムを振っても良い結果は出ず

• ラベル重心を計算するときに、ラベルが多い訓練データとそうでないデータでベクトルの要素数がば

らついてしまうのも悪影響?

Page 8: 2007 IEEE ICDM DMC task1 result

2:最尤伝播• IBMチームの手法をまねっこ

– 最尤のラベル有りデータから伝搬させて学習– テストデータについてはi番目データのcっぽさ(尤度関数)fi(c)を計算し,最もfが大きくなるcを正解とする

• 簡単のため,ひとまず信号のみでSimilarityを計算

Page 9: 2007 IEEE ICDM DMC task1 result

結果

• 1604/2137(75.06%) With Norm=1/3• そんなに良くないような• 最近傍のラベルを貰うだけなのがよくない?

– K-近傍で多数決を取っても改善しない(むしろ悪化)

– 尤度と近傍度の積和を取ってもやっぱり改善しない

Page 10: 2007 IEEE ICDM DMC task1 result

どう改善する?

• 改善する→今まで使っていない情報を何か使う• 時間データを用いていない

– 同一トレース内では前後の情報が有効• 各ステップの尤度関数を都度破棄している

– 正解と不正解のときで尤度の分布が明らかに違うので,これを利用できないか?

0

200

400

600

800

1000

0

.0

0

0

1

0

.0

0

1

0

.0

1

0

.1

1

1

尤度

データ数

不正解データ

正解データ

Page 11: 2007 IEEE ICDM DMC task1 result

改善1/3: 時間データの利用• テストデータの時系列を組みこむ

– 同一トレース内で3ステップ前までの推定値を尤度関数に加算

– k-3:+=0.1, k-2:+=0.3, k-1:+=0.5– 怪しかった推定結果(f<0.01)は破棄する

Page 12: 2007 IEEE ICDM DMC task1 result

Example

0.30.0070.6尤度f?1941010推定値

kk-1k-2k-3ステップ

fk(10) += 0.1

fk(194) += 0.5fが小さいので加算しない

Page 13: 2007 IEEE ICDM DMC task1 result

改善2/3: Graph Based Weighting• トレーニング/テストデータは同じ地図上を動く• ある場所cに居るとき,次のステップで移動可能な場所は限られている

• 学習中に推定ラベル遷移から部屋の構造を推定– ノード1..247を配置– 尤度がしきい値(0.1)を超えたペアの間に

branchを張っていく• 学習中に間違った推定をすると正答率を悪化させる可能性

Page 14: 2007 IEEE ICDM DMC task1 result

Example

0.0030.80.50.10.20.4尤度

22041941010ラベル

10

194

4

20

2

尤度が低いので

枝を張らない

Page 15: 2007 IEEE ICDM DMC task1 result

改善3/3:うろつきの禁止• (自明では無いが)同一トレース内で10→ 10→

194→ 194→ 194→10→ 10→ 194→…のような動きは余りしないのでは無いか

• ある尤度以上で一定回数以上推定した場所は、同一トレース内での再訪に対しペナルティを課す

• ラベルが変化した場合でも、尤度が小さい場合はペナルティを課さない

Page 16: 2007 IEEE ICDM DMC task1 result

Example

0.90.40.010.40.70.50.50.40.3尤度

551095510101010推定

これ以降はf(10) を0.4倍

109は尤度が小さいのでf(5)はペナルティなし

Page 17: 2007 IEEE ICDM DMC task1 result

結果

• 工夫無し(1604/2137, 75.06%)↓ 5.8%

• 時間情報の利用(1728/2137, 80.86%)↓1.45%

• 部屋の構造推定(1759/2137, 82.31%)↓0.19%

• うろつき禁止(1763/2137, 82.50%)

Page 18: 2007 IEEE ICDM DMC task1 result

3:bayonを使う• bayon:mixiのエンジニアがリリースした高速なクラ

スタリングツール

• Repeated Bisection法– 以下の手順でクラスタの2分割を繰り返していく

• 1.最もまとまりが悪いクラスタAを選択し,そ

の中のランダムな2要素を代表としたクラス

タB,Cを作成• 2.Aの各要素を代表との類似度に沿ってB,Cどちらかに割り振る

• 3.B,C間で要素の移動を行って集合を洗練

Page 19: 2007 IEEE ICDM DMC task1 result

準備

• 主に教師なしクラスタリングに使うツールだが、ラ

ベル中心ベクトルを入力することで教師ありのクラ

スタリングもできる

– この場合単に類似度評価であってR-Bのようなイタレーションはやっていない気がする(良く分

かってない…)• ラベルありデータの信号強度のみを用いて推定• とてもお手軽だった

– インストール5分– 入力データフォーマットの整形1分– クラスタリング2秒

Page 20: 2007 IEEE ICDM DMC task1 result

結果

• 正解率 1291/2137(60.4%)• タブ区切りでIDとKey-Valueペアを入力するとさっく

りクラスタリングしてくれて,いろいろ遊べそう

Page 21: 2007 IEEE ICDM DMC task1 result

地図情報を利用した推定

(課題2)

Page 22: 2007 IEEE ICDM DMC task1 result

手法

• 先のGraph Based Weightingが再利用できる– 今度はラベル無しデータではなく,座標セット(map_coordinates.txt)を用いてグラフを生成

– グラフの重みを強め、実質的に1ステップ前の推定ラベル自身とその隣にしか移動できない

ように

•一旦間違った方向に入ると泥沼に入る可

能性

•尤度関数の情報を用いて重みを都度調整

– 1ステップ前の尤度が弱い場合は尤度が強いステップまで巻き戻り、その近傍

に対しても重みをつけてやる

Page 23: 2007 IEEE ICDM DMC task1 result

Example

0.050.40.0010.70.8尤度

1201842101010ラベル

10210 1010 10184 10120

Page 24: 2007 IEEE ICDM DMC task1 result

結果

• 1832/2137(85.73%)• 確かに良くなった。

• 余り試行錯誤していないのでまだ改善できそう

Page 25: 2007 IEEE ICDM DMC task1 result

まとめ

85.73%地図情報利用

60.4%bayon82.50%ラベル伝搬

75.96%K-means結果手法

・いろいろ試行錯誤の結果、とりあえずIBMの結果は超えるものが出た

・使っていない情報は何か考えて実装するプロセスを

楽しんでやれた

・bayonもっと使いたい