Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Introduction of network analysis with Google Colaboratory -- Orientation

250 views

Published on

tutorial slides of Google Colaboratory for network analysis on May 23, 2019

Published in: Data & Analytics
  • Be the first to comment

Introduction of network analysis with Google Colaboratory -- Orientation

  1. 1. 第14回AIツール入門講座 「Google Colaboratoryによる ネットワーク分析入門」 2019年5月23日(木)13:00-17:00 村田剛志 (東京工業大学)
  2. 2. 本日の資料について • スライド・コードは以下のサイトに公開 • https://github.com/atarum/20190523 • GitHubのアカウントがなくてもOK
  3. 3. 本日のねらい • 本AIツール入門では、Google Colaboratory上で、Pythonベー スのネットワーク分析ツールであるNetworkXを用いて、ネッ トワークを分析するための基礎知識を習得することを目標とし ます。Google Colaboratoryで実行できるプログラムの実例を示 し、手を動かしながら理解を深められる内容とします。最終的 には自力で小規模のネットワークの分析ができるようになるこ とを目標とします。 • http://www.ai- gakkai.or.jp/no14_jsai_tool_introductory_course/
  4. 4. 本当のねらい • 後期開講の大学院講義「Complex Networks」を自分の研究室 の学生さん向けに4-5月にやりたい • ネットワーク分析(データサイエンス)のための(モダンな)道具 の整備 • 自分の本の宣伝
  5. 5. 注意事項 • 参加者はノートパソコンを持参して下さい。またGoogleアカウ ントを用意して下さい。 • 当日にネットワーク接続ができるよう準備をしておいて下さい。 大学関係の方はeduroamで無線LAN接続ができます。それ以外 の方は、Wi2 (https://wi2.co.jp/jp/) などの無線LANサービス を使用できるようにしておいて下さい。 • ブラウザはChromeまたはFirefoxを準備して下さい。
  6. 6. 今日のスケジュール • 13:00-14:10 • 1. Google Colaboratory入門:機械学習やデータサイエンスの環境であるGoogle Colaboratoryについて説明します。 • 2. ネットワーク分析・可視化の具体例:NetworkXやmatplotlibを用いてネットワー クを入力、分析、可視化して出力するやり方について説明します。 • 14:25-15:35 • 3. ネットワークの特徴量:中心性、クラスタ係数、次数分布など、ネットワークの 性質を理解する上で必要な特徴量について説明します。 • 4. ネットワークアルゴリズム:経路探索やコミュニティ抽出など、ごく基本的なア ルゴリズムについて説明します。 • 15:50-17:00 • 5. ネットワーク生成モデル:スケールフリー、スモールワールドなどのネットワー ク生成モデルについて説明します。 • 6. ネットワーク上の情報伝搬:SIRなどの感染モデルや、そのシミュレーションにつ いて説明します。
  7. 7. sli.doでの質問 • https://www.sli.do/ • #〇〇〇〇(4桁の数字)を入力 • 今日だけ使える掲示板です • 質問を掲示板に書けます(匿名でも可) • 他の人の質問を自分も聞きたいときは「いいね」ボタンを • (すみませんが、全ての質問には対応できないかも知れません)
  8. 8. 学ぶ内容 特徴量 モデル プロセス アルゴリズム
  9. 9. 学ぶ内容 特徴量 モデル プロセス アルゴリズム パス長、密度、直径、時数分 布、クラスタ係数、 … ダイクストラ法、グラフ分割、 中心性の計算、 … ランダムネットワーク、ス ケールフリーネットワーク、 スモールワールドネットワー ク、べき法則、configuration model、… 口コミ/病気の伝搬、影響最大 化、SI model、SIR model、 …
  10. 10. 参考文献 (1) • Networks (second edition), Mark Newman, Oxford University Press, 2018.
  11. 11. 参考文献 (2) • Networks, Crowds, and Markets: Reasoning About a Highly Connected World, David Easley and Jon Kleinberg, Cambridge University Press, 2010. • http://www.cs.cornell.edu/home/kleinber/networks-book/ • (邦訳)ネットワーク・大衆・マーケット, 浅野孝夫、浅野泰仁 訳 共立 出版, 2013. • Network Science, Albert-Laszlo Barabasi, Cambridge University Press, 2016. • http://networksciencebook.com/ • (邦訳)ネットワーク科学, 池田裕一, 井上寛康, 谷澤俊弘 訳, 共立出版 2019.
  12. 12. 参考文献 (3) • Networks: A Very Short Introduction, Guido Caldarelli, Michele Catanzaro, Oxford University Press, 2012. • (邦訳)ネットワーク科学, 高口太朗 訳, 丸善出版, 2014. • 複雑ネットワーク, 増田直紀, 今野紀雄, 近代科学社, 2010. • ネットワーク分析 第2版, 鈴木努, 共立出版, 2017.
  13. 13. 参考文献 (4) • Complex Network Analysis in Python, Dmitry Zinoviev, Pragmatic Bookshelf, 2018. • Practical Social Network Analysis with Python, Krishna Raj P.M., Ankith Mohan, K.G. Srinivasa, Springer, 2019.
  14. 14. 参考文献 (5) • PythonユーザのためのJupyter[実践]入門, 池内 孝啓, 片 柳 薫子, 岩尾 エマ はるか, @driller, 技術評論社, 2017. • 東京大学のデータサイエンティスト育成講座~Python で手を動かして学ぶデ―タ分析~, 塚本邦尊, 山田典一, 大澤文孝, マイナビ出版, 2019. • Pythonで学ぶネットワーク分析(仮), 村田剛志, オーム 社, 2019年夏頃出版予定. ?
  15. 15. ネット上の参考資料 • Social Network Analysis with Python and NetworkX • https://pydata.org/barcelona2017/schedule/presentation/7/ • Ndlib – Network Diffusion Library • https://ndlib.readthedocs.io/en/latest/ • Google Colaboratoryを用いた機械学習・深層学習の入門教材を 無料公開(健康・医療向けデータを用いた実践編も含む) • https://research.preferred.jp/2018/12/medical-ai-course- materials/
  16. 16. ネットワーク分析ツール:igraph • 特徴量計算の関数が豊富 • http://igraph.org/
  17. 17. ネットワーク分析ツール:Gephi • 比較的新しく操作が簡単 オンラインチュートリアルあり • https://gephi.github.io/ (英語) • http://oss.infoscience.co.jp/gephi/gephi.org/index.html (日本 語)
  18. 18. ネットワーク分析ツール:graph-tool • Python プラス C++ で高速。並列実行をサポート • https://graph-tool.skewed.de/
  19. 19. ネットワーク分析ツール:NetworKit • 高速化や他環境(Python, Jupyter Notebook, Gephiや pandas) との統合に重点 • https://networkit.github.io/
  20. 20. ネットワーク分析ツール:networkX • インストールが簡単 • http://networkx.github.io/
  21. 21. Jupyter Notebook • コード、等式、可視化、コメントなどの文書を 作って共有するオープンソースのWebアプリ ケーション • http://jupyter.org/ • Anaconda(データサイエンス向けのPythonディ ストリビューション)にもJupyter Notebookが 含まれている • https://www.anaconda.com/
  22. 22. Google colaboratory • Googleのアカウントだけあれば、インタラクティブなブラウザ ベースのJupyter Notebook環境を実現 • https://colab.research.google.com/
  23. 23. Google Colaboratoryによるネットワーク 分析 • Jupyter Notebook (Python環境) + networkX (ネットワーク分 析) + matplotlib (グラフ描画) • NumPy (数値計算)やSciPy (科学技術計算)も必要に応じて使う • Microsoftも似たような環境を提供 • https://notebooks.azure.com/

×