CIKM2014に参加中。今日はワークショップとチュートリアルの日。本会議は明日から。
ワークショップとチュートリアルはどれに出るのが一番いいのか未だにわからない。自分の分野に近いチュートリアルに出て最新の状況とか確認するのがいいのか、直接は関係ないチュートリアルに出て雰囲気をつかむのがいいのか。後者のほうがいい気がするけど全くわからないことも多いから悩みどころ。ワークショップはあんまり良い発表が無かったりするからいつもあまり参加してない。
というわけで今日はチュートリアル二つとPIKMっていうPhD studentsのワークショップに参加した。PIKMはPhDのワークショップなだけあって自分の研究の壮大なロードマップを示したり、問題定義にerabolateしたりでなかなかおもしろかった。チュートリアルは一つ目(Non-IID)は正直人に分からせる発表をしてなかったと思う。残念。2つ目はヘルスケアについてですごく面白かった。社会に直接役に立つデータの分析っていうのはやっぱりすごくやりがいがあるんだろうなあと思いながら指を加えて聞いてた。
どうでもいいけど昼ごはんはなぜかインドアテニスコートでビュッフェを食べた。CIKM前衛的!
以下ちょっとしたメモ。
Tutorial 2: Learning Non-IID Big Data
データ分析をする時に大体のアルゴリズムはIID(Independent and Identically Distributed)を仮定するけど、それって良くないよねというお話。
ただ、プレゼンのアンチパターンもりもりで殆どよくわからなかった。残念。
IIDを仮定した分析がうまくいかないよっていうのを説明したメタファーが面白かった。
メタファー:目が見えない人が象を認識する
目が見えない人は象を認識できない
- しっぽを触った人「これは蛇だ」
- 足を触った人「これは木だ」
- お腹を触った人「これは壁だ」
部分部分しか見てないから全体が象だとわからない。 この人達は部分部分を独立に扱っている、つまり IID!
PIKM: Linking Today's Wikipedia and News from the Past
やること
wikipediaの記事の一部分と過去のニュース記事とを結びつける
Challenges
- 記事に出てくる時間表現の扱い(過去のイベントのニュース記事と結びつける際は特に重要)
- リファレンスの扱い
- Wikipediaのとニュース記事の語彙の違い
モデル
いろいろとモデルを提案した(それぞれの手法を提案した背景があまり良くわからなかった)
PIKM: Supporting Exploratory Search Through Interaction Modeling
検索にはlookupとexploratoryがある
Exploratory search: 明確なゴールがない検索
有名な論文
"Exploratory search: from finding to understanding," ACM Comm, 2006
Challenges
- ユーザが何を検索したいかが分からない
- 検索の途中でInformation needsが変わっていく
- 検索の過程でユーザの知識がどんどん増えていく
- 終わるまでに長い時間がかかる(many sessions)
ユーザをサポートするための既存技術
- Feedback
- Faceted search
- Query expansion
- Reinforcement learning
Open problems
- information needsの変化についていけない
- ユーザの知識に仮定を設けないといけない
Tutorial 3: Data Analytics in Helthcare; Problems, Challenges and Future Directions
Healthcare data
ヘルスケアデータも完全にビッグデータ。データをどう表現するかが重要。ベクトルなのか行列なのか、それ以外か。いろんなネットワークを重ねる表現方法が良い?ベクトルだと時間的特徴を入れられない。薬、病気、遺伝子に関するデータはパブリックなものがあるが、患者に関するデータは大抵はパブリックではない。
Healthcare data: 500 petabytes
4種類のデータ
- Drug network
- Patient network
- Disease network
- Gene network
Drug repurposing
- ある病気に使われていた薬を別の病気に使うこと
- Drug networkとDisease networkを使うことでできる
- ある薬をある病気に使う例がある場合、似ている薬を似ている病気に使える?
Data representations
vector based representation
- simple but not applicable to time factors
matrix based representation
- pros: can capture time factors
- cons: very sparse
sequence based representation
Drug, Disease, GeneデータはPublicなデータセットがあるけど(UMLSとか)、Patientのデータはプライバシーの観点からPublicなものは(ほぼ)ない。
Patient Similarity
ある患者の特徴(症状、診断など)と、過去の患者の特徴とを比較して類似している患者を特定し、特定された患者に施された薬や、その後の様子など使っていまの患者の診断をする。今後どのような症状になるかも予測できる。特徴が多すぎるからfeature selectionが必須。医者は蓄積した知識があるからそれを使ってどの特徴が重要かを判断するが、それだけではなく、データも取り入れて特徴選択を行う。データを入れることで飛躍的に精度が向上した。アプリケーションとしては患者の今後の症状の予測や、どの薬を施すかを判断するなど。
医者は過去自分が下した診断を思い出しつつ今見てる患者の診断を下す
- どんな症状にどんな薬をだしたか
- その診断は良かったか/悪かったか
患者を表す特徴ベクトルは簡単に100Kを超える
feature selection
- knowledge + data
- knowledgeとdataを使ったregression(+L1正則化)で特徴選択
- 全てのknowledge based featuresを使ってもあまり精度は高くならないが、data based featuresを入れると精度が高まった
patient similarity learning
- metric learning (mahalanobis distance)
- これまでの症状などの特徴から似ている患者を持ってきて、今後どうなるかを予測する
ただ、患者の特徴をベクトルで表すと、時間特徴を入れられない。
Predictive Modeling (EMR Densification)
時間的要因も考慮した特徴の表現を考える (longitudinal patient representation)
- 各患者に一つ行列データ
- 行が各検査の結果とか
- 列が時間
- 各値はある時に行った検査の結果
時間を考慮すれば有る時突然ある症状がなくなった時それがデータのエラーであることが分かるが、その症状が観測された回数を単純に合計してベクトルにするとその間違いに気づかない
行列表現はスパースだからmatrix factorizationが必要
- medical conceptの抽出
- 文書のトピックみたいなもの
各患者がmedical conceptを共有するようにする
- すべての患者じゃなくてCluster内の患者だけでUを共有するようにする方法もある
- clusterが一番性能がいい(全て共有させるのとか、まったく共有させないのと比べて)
後半はちょっとついていけなかった
Clinical Pathway Analysis
- 患者の記録みたいなの?
- sequence representation
- Allen's Event Relations
Disease Progression Modeling
- 時代はpregression modelingらしい
QA
我々はドメイン知識がないから医者からどうやってfeedbackをもらうかが重要。逆に医者はデータをどうやって分析するかは知らない。だからvisualizationが重要。feedbackをするのを簡単にいかにするのが重要。