インターネット計測とデータ解析 (Internet measurement and data analysis)
科目概要
インターネットによって、多様で膨大なデータが容易に取得できるようになっ
た。 そこから知見を引出し、新たなサービスを作り出すことが可能になり、
ビッグデータや集合知として注目されている。しかし、これらを正しく理解し、
道具として使いこなすためには、その背景にある統計、機械学習、システムに
関する総合的な理解が欠かせない。
本授業は、インターネット上でのデータ取得と大規模データ解析の概要につい
て学び、情報社会で必須となる大量情報から新たな知識獲得をするための基礎
能力を身につける。
授業シラバス
主題と目的/授業の手法など
インターネット上でのデータ収集とその解析手法について学習し、ネットワー
ク技術と大規模データ処理の総合的な知識と理解を得る。
授業では、具体的な応用例について、その基礎技術と背景にある理論を関連づ
けて理解する。講義に加えて、毎回データ処理の演習を行い、習った理論をプ
ログラムに実装してデータ処理をすることで、データ解析手法を身につける。
教材・参考文献
講義資料をオンライン配布
提出課題・試験・成績評価の方法など
2回の課題提出と学期末レポート提出
履修上の注意
理論的な理解を深めるためには代数や統計の知識が必要となるが、本授業では、
工学的応用のためにどのように数学が使われるかを理解することに主眼を置く。
授業では、データ解析プログラミング演習として、Ruby言語を使ったデータ解
析と、gnuplotによるグラフ描画を行うので、ある程度のプログラミング能力
が必要となる。
授業計画
第1回 イントロダクション (4/13)
ビッグデータと集合知
インターネット計測
大規模データ解析
演習: ruby入門
講義スライド
演習用スクリプト(count.rb)
参考資料「インターネット計測とビッグデータ」
第2回 データとばらつき (4/20)
要約統計量 (平均、標準偏差、分布)
サンプリング
グラフによる可視化
演習: gnuplotによるグラフ描画
講義スライド
演習用データ(marathon.txt)
演習用スクリプト(mean.rb, stddev2.rb, median.rb)
第3回 データの収集と記録 (4/27)
データフォーマット
ログ解析手法
演習: ログデータと正規表現
講義スライド
演習用データ(sample_access_log.zip(21MB),
first-100lines)
演習用スクリプト (parse_accesslog.rb,
access.plt)
第4回 分布と信頼区間 (5/11)
正規分布
信頼区間と検定
分布の生成
演習: 信頼区間
課題1
講義スライド
演習用スクリプト (box-muller.rb,
box-muller-hist.rb,
box-muller-hist.plt,
conf-interval.rb,
conf-interval.plt)
課題1用データ (honolulu2014.txt)
第5回 多様性と複雑さ (5/18)
ロングテール
Webアクセスとコンテンツ分布
べき乗則と複雑系
演習: べき乗則解析
講義スライド
演習用スクリプト(count_contents.rb,
make_ccdf.rb,
ccdf.plt)
第6回 相関 (5/25)
オンラインお勧めシステム
距離
相関係数
演習: 相関
講義スライド
演習用スクリプト(correlation.rb,
similarity.rb)
演習用データ(correlation-data-1.txt,
correlation-data-2.txt,
scores.txt)
第7回 多変量解析 (6/1)
データセンシング
地理的位置情報(geo-location)
線形回帰
主成分分析
演習: 線形回帰
講義スライド
演習用スクリプト(leastsquare.rb,
pca.rb)
演習用データ(pca-data.txt)
第8回 時系列データ (6/8)
インターネットと時刻
ネットワークタイムプロトコル
時系列解析
演習: 時系列解析
課題2
講義スライド
演習用スクリプト(autocorr.rb,
autocorr.plt,
hourly_out.rb,
hourly_out.plt,
week_out.rb,
week_out.plt,
correlation_out.rb)
演習用データ
(autocorr_5min_data.txt,
ifbps-201205.txt)
課題用データ
(twitter_degrees.zip (164MB),
twitter_degrees-10000.txt (135KB),
numeric2screen.zip (365MB))
第9回 トポロジーとグラフ (6/15)
経路制御
グラフ理論
最短経路探索
演習: 最短経路探索
講義スライド
演習用スクリプト(dijkstra.rb)
演習用データ
(topology.txt,
jr.txt)
第10回 異常検出と機械学習 (6/22)
サイバーセキュリティ
異常検出
機械学習
スパム判定とベイズ理論
演習: 単純ベイズ分類器
講義スライド
演習用スクリプト(naivebayes.rb)
第11回 データマイニング (6/29)
パターン抽出
クラス分類
クラスタリング
演習: クラスタリング
講義スライド
演習用スクリプト
(k-means.rb, km-data.txt,
km-results.plt)
第12回 検索とランキング (7/6)
検索システム
ページランク
演習: PageRank
講義スライド
演習用スクリプト
(pagerank.rb, sample-links.txt, links-100k.txt (38MB))
最終レポート 課題Aデータ
(20150601-07.zip (580MB))
第13回 スケールする計測と解析 (7/13)
大規模計測
クラウド技術
MapReduce
演習: MapReduce
講義スライド
演習用スクリプト
(wc-map.rb, wc-reduce.rb, wc-data.txt)
第14回 まとめ (7/20)
インターネット計測とプライバシー
これまでのまとめ
講義スライド
$Date: 2015/07/17 08:28:52 $