颯爽退勤日記

日々の考えごととか、ねことの日常とか

NC State UniversityのData Science Programを受けてきた

 

sassoutaikin.com

 

行った理由は、うちの大学がノースカロライナ州立大学と仲良いらしく、そこのデータサイエンス研修プログラムに学生数名招待するよ!と募集かけていたので、「学校のお金でアメリカ行けるなんて最高じゃないか〜〜」という安易な気持ちで申し込んだら無事採択されたという感じです。

ここに書いたように、NC State UniversityのData Science Programを受けてきたのでその内容の記録です。

多分このサイトにあるように、学外の会社や他大学向けにプログラムを開講しているんだと思います。値段は知りませんが。結構今こういうビジネスありますよね。

execed.poole.ncsu.edu

まず簡単にいうととってもよかったです。実質5日間しかなくて、正直内容からしたら2,3週間は欲しくて鬼スケジュールでしたが、それだけ非常に密度の高い5日間のプログラムでした。

内容まとめ

スケジュール

事前に共有されていたのは、以下のようなスケジュールでした。

Day 1-M: Data Science Basics: Introduction, and review of Structured and Unstructured Data
Day 1-A: Meeting with NC State Data Analytics Center Leader Alyson Wilson, and Quantum Computing and IBM Q-Hub discussion with ECE Dep Head Dan Stancil
Day 2-M: Visualization in Python 
Day 2-A: Data Wrangling 
Day 3-M: Machine Learning 
Day 3-A: Model Ensembles & Hyper Parameterization
Day 4-M: Visit to Company1, Feature Creation & Selection
Day 4-A: Practicum Application, Visit to Company2
Day 5-M: Practicum Projects
Day 5-A: Practicum Presentations

正直スケジュール通りには全く進んでいなかったような気がします(絶対内容詰め込みすぎだから、、)。

実際の内容

  1. Seminar (Alyson Wilson, Associate Vice Chancellor, National Security and Special Research Initiative & Dan Stancil, Alcoa Distinguished Professor and Head of the Electrical and Computer Engineering Department)
  2. Data Wrangling
  3. Visualization
  4. MachineLearning
  5. ModelEnsembles, ParameterTuning
  6. FeatureSelection, Engineering, Extraction
  7. ProjectWork
  8. Visiting Company

といった感じです。順に見ていきます。

1. Seminar

NC State Data Analytics Center LeaderのAlyson Wilsonさん

経験されてきた仕事などの話を交えて、データサイエンスとはいったい何か?何が必要か?というような内容をお話してくれました。

f:id:nyanco888:20200321202817j:plain
話してくれたAlyson Wilsonさん。ユーモアがあって、理解できるジョークをたくさんいってくれて退屈することなく聴けました。

公開しても良さそうな部分だけ残しておきます。

f:id:nyanco888:20200321151646p:plainf:id:nyanco888:20200321151643p:plain
よく用いられるBigdataを示す4V。またデータサイエンスの一般的なプロセス。
f:id:nyanco888:20200321151639p:plainf:id:nyanco888:20200321151628p:plain
データサイエンスに必要なスキルは何か?というスライドと、絶対一人ではできない、チームスポーツだというスライド。「データサイエンスはチームスポーツ」、これこの研修でめっちゃ言われました。

Head of the Electrical and Computer Engineering DepartmentのDan Stancilさん

量子コンピュータについて、今のトレンドや基本的な部分、NC StateにあるIBMの研究所で行っていることを話していただきました。

f:id:nyanco888:20200321202942j:plain
Dan Stancilさん。良い笑顔。

量子計算に関してあまり理解はなかったのと、初日の最後の授業ということもあり英語聞き取るのが正直辛かったです。

2. Data Wrangling

初めて「Dara Wrangling」という単語を聞きましたが、造語なんですね。

Data wrangling, sometimes referred to as data munging, is the process of transforming and mapping data from one "raw" data form into another format with the intent of making it more appropriate and valuable for a variety of downstream purposes such as analytics. A data wrangler is a person who performs these transformation operations. (Wikipediaより引用)

qiita.com

データを飼い慣らす、という意味があるそうです。

最初に1日目と2日目を使って授業をしてくれました。

という多様なメニューを明らかに収まらないけど頑張って教えてくれました。 それぞれnotebookやPDFを事前に共有してくれ、さらに授業で触れることができなかった部分を補完できるように動画授業もシェアしてくれました。

すでに一通り勉強している内容ではありましたが、やはり一から体系的に教えていただくことで、今までは一つ一つ覚えていたことや使用するときに毎回ググっていたことが、しっかり他の知識と結びつくようになりました。

3. Visual Data Exploration

教えてくれたProf. Nagizaはグラフ理論スペシャリスト(Rの本も出している)ということで、可視化について非常に時間をとって教えていただきました。

  • seabornの基本的な使い方
  • 1, 2変数における分布、中心傾向、ばらつきなど
  • 2変数の相関、共分散
  • カテゴリカルデータの扱い方

などがありました。基本的な内容ではありましたが、意外と知らないことも多く勉強になりました。

特に可視化については、普段はこういうのがやりたい!と思ってできるようにするので、今回のように体系的に学ぶ機会は意外となかったです。

4. Machine Learning

この回だけ先生が変わって、機械学習の座学講義でしたが、まったく持って手を動かす時間がなく、少し面白みにかけた授業だったかなと思います…。

5. Model Ensembles, Parameter Tuning

ここからまた以前の先生に戻り、実際に手を動かしながら、モデリングに入っていきました。

  • そもそもの機械学習の基礎
  • ランダムフォレスト
  • XGBoost
  • パラメーターチューニング

と、決定木を中心にモデル構築から評価、パラメータチューニングまで行いました。

6. Feature Selection, Extraction, Engineering

そのままで、モデリングにおける特徴量の

  • 選択
  • 抽出
  • エンジニアリング

について、基本的なやり方からアイデアの模索の仕方まで、手を動かしながら行いました。

線形や非線型の場合の特徴変換の違いや、次元削減、カーネルによる特徴量の関係など、基礎ですが非常に大事な部分を時間をかけて説明してくれました。

ここではSVMを用いた説明が多かった気がします。

7. ProjectWork

いくつかのチームに分かれ、それぞれのデータセットが与えられ、課題は自由に設定(基本的には予測回帰モデルだった)し、行った分析を発表するというものでした。

データはKaggleに上がっているもので、

でした。

自分がのチームは中古車だったので、基本に忠実に、中古車の販売値段を製造年や走行量などの特徴量から予測回帰モデルを組みました。

与えられた時間は半日程度で十分に行うには足りないですが、それぞれ習熟度がちがうメンバーと分析を進めるのは難しさもあり楽しかったです。

f:id:nyanco888:20200321203101j:plainf:id:nyanco888:20200321203117j:plain
発表とこのプログラムの長であるDean先生のフィードバック。

英語での発表・質疑応答もなかなかできるものではなく、良い経験になりました。

8. Visiting Company

今回のプログラムでは、2社の会社訪問のため時間がそれぞれ2時間ほど取られていました。 移動に1時間、質問というかディスカッションのための時間に1時間ほどです。

伺ったのは、

の2社です。

全く違う種類の2社で、前者は今勢いのある技術ベースの会社。後者は圧倒的な大企業。両者でデータサイエンスやってる方々にたくさん質問ぶつける時間をもらえました。

皆さん全員が、チームでやることの重要性、コミュニケーションの大事さについて触れていたのが印象的です。

大学の中にある研究施設というか拠点。

Metlifeは綺麗な大きいビルすぎて写真撮れなかった。

感想

まとめておきます。

  • 非常に実践的な内容だった
  • まさにKaggleのテーブルコンペのための授業って感じ
  • ある程度の前知識ないとついていくのはしんどそう
  • 基礎的な内容も多かったけど、やっぱりしっかりとした先生に一から学ぶと知識の繋がり方がすごい
  • 専門的な内容であれば意外と英語聞き取れる
  • こういう授業の方が、何のために学んでいるのか明確でモチベーション上がるよなーと日本の授業と比較して思った
  • 資料配布やスケジュール管理、写真の共有など情報共有がしっかりしてた(一つホームページ作って更新頻度高くてこの辺りは抜かりないなという感じ)
  • データサイエンスはやっぱり世界で必要とされていたし、いろんなバックグラウンドの人が活躍してた
  • データサイエンティストはチームスポーツ

一番学んだことは、データサイエンティストはチームスポーツです。来年から働く身として、身に染みた…。

英語はもちろん、精神的な部分でも、技術的な部分でも学ぶことが多く良いプログラムに参加できました。