<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>NetworkX on Data Visualization Japan</title>
        <link>https://data-visualization.jp/tags/networkx/</link>
        <description>Recent content in NetworkX on Data Visualization Japan</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>ja-jp</language>
        <lastBuildDate>Mon, 28 Dec 2020 00:00:00 +0000</lastBuildDate><atom:link href="https://data-visualization.jp/tags/networkx/index.xml" rel="self" type="application/rss+xml" /><item>
        <title>LT：村田 剛志／Google Colaboratory によるネットワーク分析・可視化</title>
        <link>https://data-visualization.jp/lt-colab-network-analysis/</link>
        <pubDate>Mon, 28 Dec 2020 00:00:00 +0000</pubDate>
        
        <guid>https://data-visualization.jp/lt-colab-network-analysis/</guid>
        <description>&lt;p&gt;Data Visualization Japan Meetup 2020（2020年12月28・29日開催）における、村田 剛志さん（東京工業大学）のLTです。&lt;/p&gt;
&lt;hr&gt;
&lt;div class=&#34;video-wrapper&#34;&gt;
    &lt;iframe loading=&#34;lazy&#34; 
            src=&#34;https://www.youtube.com/embed/YTNjKIiagfM&#34; 
            allowfullscreen 
            title=&#34;YouTube Video&#34;
    &gt;
    &lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;東京工業大学の村田と申します。本日は「Google Colaboratory によるネットワーク分析・可視化」というタイトルでお話しさせていただきます。&lt;/p&gt;
&lt;p&gt;この Data Visualization Japan Meetup には過去3回ほど参加させていただいて、非常に興味深く拝聴しておりました。そのような場でお話しさせていただくのは大変光栄に思っております。&lt;/p&gt;
&lt;h2 id=&#34;自己紹介&#34;&gt;自己紹介
&lt;/h2&gt;&lt;p&gt;東京工業大学で人工知能、主に&lt;strong&gt;ネットワークの分析や処理に関する研究&lt;/strong&gt;をしております。こういう本も書いております。&lt;/p&gt;
&lt;h2 id=&#34;なぜネットワークを分析するのか&#34;&gt;なぜネットワークを分析するのか
&lt;/h2&gt;&lt;p&gt;そもそも&lt;strong&gt;ネットワーク構造・グラフ構造&lt;/strong&gt;というのは、世の中のいろいろな種類のものが表現できるものです。&lt;/p&gt;
&lt;p&gt;そのネットワークを分析することによって——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;中心的な人物&lt;/strong&gt;を見つける&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;将来どういうつながりができるか&lt;/strong&gt;を予測する&lt;/li&gt;
&lt;li&gt;ネットワークの中の&lt;strong&gt;派閥&lt;/strong&gt;と、派閥間の関係を捉える&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;口コミの情報がどう伝播していくか／していかないか&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;最近で言えば、&lt;strong&gt;感染症がどう拡大していくか&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうしたことを理解したり制御したりする上で、ネットワーク構造を分析するのは価値があると思って研究を続けております。&lt;/p&gt;
&lt;h2 id=&#34;jupyter-notebook-と-google-colaboratory&#34;&gt;Jupyter Notebook と Google Colaboratory
&lt;/h2&gt;&lt;p&gt;Jupyter Notebook については先ほどのご発表でもありましたので皆さんご存知かと思いますが、&lt;strong&gt;ブラウザ上でコードやコメントを書きながら対話的に処理していくプラットフォーム&lt;/strong&gt;で、機械学習やデータサイエンスにおいていろいろ使われています。&lt;/p&gt;
&lt;p&gt;その Jupyter Notebook 環境を簡単に使う方法として &lt;strong&gt;Google Colaboratory&lt;/strong&gt; があります。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Google のクラウド環境で動作する無料の Jupyter Notebook 環境&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Google アカウントさえあれば&lt;/strong&gt;、Python コードをブラウザ上で対話的に実行できる&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;コードも計算結果も Google ドライブを介して共有できる&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;「Google Colaboratory」で検索していただければ、どういうものかすぐ分かるかと思います。&lt;/p&gt;
&lt;h2 id=&#34;実際にどう使っているか&#34;&gt;実際にどう使っているか
&lt;/h2&gt;&lt;p&gt;この環境を使って実際にネットワーク分析をどうやるか。&lt;/p&gt;
&lt;p&gt;昨年、人工知能学会の「AIツール入門」というところで簡単なチュートリアルをやりました。だいたい50人くらい集まって、分析に関する入門のお話をしました。&lt;strong&gt;スライドと Python コードもサイトに公開してあります。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;そういうものをベースに、本学の大学院の講義もやっています。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ネットワークを分析して&lt;strong&gt;コミュニティを見つけて色付けする&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;いろいろな形の&lt;strong&gt;人工的なネットワークを生成して描画する&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;その&lt;strong&gt;次数分布をプロットする&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;こうしたプログラムを組む、ということを「複雑ネットワーク」という大学院の講義で学生相手にやったりしております。&lt;/p&gt;
&lt;h2 id=&#34;感染症のネットワークモデル&#34;&gt;感染症のネットワークモデル
&lt;/h2&gt;&lt;p&gt;最近の話題として、COVID-19 で皆さん大きな影響を受けているかと思います。&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;病気の感染をネットワーク上でモデル化する&lt;/strong&gt;という話は、割と昔からやられているトピックです。モデル化する上では&lt;strong&gt;4つの要因&lt;/strong&gt;があります。&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;人間同士がどういうネットワークでつながっているか&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;病気の感染確率&lt;/strong&gt;がどれくらいか&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;感染者数&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;回復する確率&lt;/strong&gt;、あるいは亡くなってしまう確率&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;この4つのパラメータからネットワークをモデル化することができます。非常に荒っぽいモデルではありますが。&lt;/p&gt;
&lt;p&gt;そういうモデルで、たとえば——&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;S&lt;/strong&gt;：感染していない人の集合（Susceptible）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;I&lt;/strong&gt;：感染した人の集合（Infected）&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;R&lt;/strong&gt;：治った人の集合（Recovered）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;とする &lt;strong&gt;SIR モデル&lt;/strong&gt;が、これも割と古くから提案されています。&lt;/p&gt;
&lt;p&gt;パラメータを設定して、&lt;strong&gt;S・I・R の人数が時間とともにどう変化していくかをプロットする&lt;/strong&gt;ライブラリがあります。Python 上で感染症のシミュレーションをやるライブラリとして &lt;strong&gt;NDlib&lt;/strong&gt; というものがあります。&lt;/p&gt;
&lt;p&gt;入力は、先ほど申し上げたようにネットワーク、最初の感染者の数、感染する確率、治る確率。それによって時間変化がプロットされる、というものです。&lt;/p&gt;
&lt;p&gt;これを実際に大学院の授業でやっていて、&lt;strong&gt;Colaboratory 上でコードにして、いろいろパラメータを動かすことでグラフの形が変わっていく&lt;/strong&gt;という授業をしたりしております。&lt;/p&gt;
&lt;h2 id=&#34;書籍と解説記事&#34;&gt;書籍と解説記事
&lt;/h2&gt;&lt;p&gt;いま申し上げたような内容を、昨年『&lt;strong&gt;Pythonで学ぶネットワーク分析&lt;/strong&gt;』という本にまとめて出版しました。ネットワークに割と特化した話ですが、ご興味のある方はお手に取っていただけたら幸いです。&lt;/p&gt;
&lt;p&gt;また最近では、&lt;strong&gt;COVID-19 に対してネットワークサイエンスがどう貢献できるか&lt;/strong&gt;という話が真面目な問題としてあります。&lt;em&gt;Nature&lt;/em&gt; や &lt;em&gt;Science&lt;/em&gt; といった科学雑誌に、もっと複雑なモデルを提案する論文がいろいろ投稿されています。&lt;/p&gt;
&lt;p&gt;そうしたものをいくつかかいつまんで紹介した**解説記事を、今年の人工知能学会誌に出しました。**ご興味のある方はオンラインで購入いただいてもいいのですが、&lt;strong&gt;私までメールをいただければ、再配布をしないという条件のもとでお送りします。&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;以上で発表を終わりにしたいと思います。どうもありがとうございました。&lt;/p&gt;</description>
        </item>
        
    </channel>
</rss>
