海外の大学院で実際に勉強する内容を知りたいです!
こんなお悩みを解決します。
この記事で得られること
・グラスゴー大学のデータサイエンスコースの2学期に受講したモジュールについて
この記事の信頼性
この記事を書いている私は、2021年1月からUniversity of GlasgowのData Science [MSc]に進学しています。
当ブログやSNSでは大学院留学での経験や英語・ITの勉強について情報発信しています。
今回は、海外の大学院で実際に勉強してきた内容についてお話しします。
大学院留学を目指す皆さんの中には、「実際にどういったことを勉強するのか知りたい!」という方がいらっしゃるのではないでしょうか?
海外の大学院留学やデータサイエンスの分野に興味がある方に向けて、私が大学院の2学期中に学んだ内容を感想を交えて紹介していきます。
皆さまの今後の留学準備(大学院・コース選びなど)や勉強の計画にお役立てください!
大学院留学の実体験を共有したいと思いますので、よろしければご覧ください!
1年間のスケジュールについて
まずは1年間のスケジュールを簡単におさらいします。
大学院側から入手した情報を参考にし、スライドに整理しました。
今回の記事で取り扱うのは2学期(2021年5月10日から8月8日まで)なので、上図の赤枠が該当します。
私が現在進学しているコース(Data Science [MSc])は、本来2020年9月スタートでしたが、コロナウィルスの影響を受けて2021年1月からスタートしました。
そのため入学してから(当記事執筆時点までで)8ヶ月程が経ちました。
社会人になって大学院留学を目指してから大学院に入学するまでが大変だったのもあり、いざ入学してからは時間が経つのは大変早く感じます。
2学期のスケジュールについて
まず、2学期(Summer semester)の全体スケジュールは以下のとおりです。
13週間(そのうちReading weekが1週間分あります)で6つのモジュールを選択でき、2週間で1つのモジュールを学びます。
その2週間をBlock 1, Block 2などと呼んでいます。
当時、13週間分の学習量を2週間のみで終わらすことができるのか不安でした。
尚、学校側はこちらの進め方を'Short-Fat'とおっしゃってます。(一方で、1学期は'Long-Thin'とおっしゃってます。)
2学期のスケジュールは以下のとおりです。
— Kurokawa🏴 (@_kurokawa5) May 18, 2021
13週間(Reading week含めて)で6つの科目があります。#イギリス大学院留学 pic.twitter.com/DMteVECDcr
Programme Directorから「1学期のコースは'long-thin’だったけど、2学期のコースは‘short-fat’で進めるよ!」と伝えられて、みんながざわついてる。すでにlong-fatだったような😌#イギリス大学院留学
— Kurokawa🏴 (@_kurokawa5) May 8, 2021
私が1学期中に受講したモジュールの授業内容は以下に整理しましたので、良かったらこちらの記事もご覧ください。
-
【大学院留学ブログ@グラスゴー大学】データサイエンスコースの1学期に受講したモジュールの授業内容について
今回は、海外の大学院で実際に勉強してきた内容についてお話しします。大学院留学を目指す皆さんの中には、「実際にどういったことを勉強するのか知りたい!」という方がいるのではないでしょうか?イギリスの大学院留学やデータサイエンスの分野に興味があるという方に向けて、私が1学期中に学んだ内容を感想を交えて紹介していきますので、皆さんの今後の留学準備(大学院・コース選びなど)や勉強の計画にお役立てください!
続きを見る
1週間のスケジュールについて
続いて、2学期(Summer semester)の1週間のスケジュールは以下のとおりです。
上述した2学期の全体スケジュールから「授業自体は週2なのかな?」と予想しておりましたが、実際はモジュールによってスケジュールがさまざまでした。
例えば、第1、2週目に行われたSecured Software Engineeringの場合だと、以下のスケジュールになります。
1日がっつり型です。
第5、6週目に行われたInformation Retrieval(情報検索)の場合だと、以下のスケジュールになります。
毎日1〜3時間型です。
1学期(2021年1月11日から3月28日まで)では5つのモジュールを同時に進めていましたので、それぞれのモジュールから五月雨式に課題が出されることがあり、スケジュール管理が少し大変でした。
その一方で、2学期では、そのBlockに取り扱うモジュールがひとつだけだったので、スケジュール管理はシンプルなものになりました。
しかし、2週間〜3週間の作業時間を与えられていたような1学期の課題と比べて、2学期の課題は同じようなボリュームにも関わらず、3日間ほどで完了しなければならなかったので、パフォーマンスがすごい求められていた気がします。
2学期の第2週目の時間割ですが、short-fatです。#イギリス大学院留学 pic.twitter.com/24rpw0mhdF
— Kurokawa🏴 (@_kurokawa5) May 17, 2021
3年前にグラ大の心理学の修士課程を修了し、現在は一緒に情報系の修士課程のコースを受講中の友人も、short-fatが初めてらしい😬
— Kurokawa🏴 (@_kurokawa5) May 17, 2021
情報系がshort-fatを採用しているのはなぜだろう🤔
やり取りするたびに、友人は授業のペースが速すぎて混乱するし、辛いとおっしゃっています😌#イギリス大学院留学
3日おきに8〜10時間くらいのボリュームの課題が出るから、ずっとあわあわしてる😬#イギリス大学院留学 pic.twitter.com/AK3H9oaqik
— Kurokawa🏴 (@_kurokawa5) July 30, 2021
【共有です】UI/UXデザインやデータ分析を英語で学びたい方へ!
お話が脱線して恐れ入りますが、UI/UXデザインやデータ分析を学びたい方に向けてちょっとした共有です。
ドイツ(ベルリン)発祥のデザインブートキャンプであるCareerFoundryのコースを5%オフ(UX Designコースで4万円相当)で受講できるクーポンコードを共有いたします。
コースが完了すると、履歴書、LinkedInのプロフィール、就職で使用できる証明書が発行されます!
CareerFoundryについて気になった方は、良かったらこちらの記事もご覧ください。
-
【UXデザインブログ】CareerFoundryについて
この記事では、ウェブ開発、UX/UIデザイン、データ分析が学習できる、ドイツ発のCareerFoundryというオンラインブートキャンプを紹介しています。基本情報やコース、特徴についてまとめました。CareerFoundryに興味がある方の参考になれば幸いです。
続きを見る
2学期(Summer semester)で学んだモジュールについて
当記事の本題となりますが、私が2学期(Summer semester)で学んだモジュールは以下のとおりです。
モジュール一覧
- Secured Software Engineering (week1・week2)
- Text as Data (week3・week4)
- Information Retrieval (week5・week6)
- Web Science (week8・week9)
- Human-Centred Security (week10・week11)
- Recommender Systems (week12・week13)
当記事では、上記の1〜3のモジュールについて具体的に紹介いたします。
残りのモジュールは別記事で取り扱います。
1. Secured Software Engineering (week1・week2)
こちらのコースでは、ソフトウェアエンジニアリングのライフサイクル全体(例えば、要件、設計、実装、テスト、メンテナンスなど)を通して、安全なシステムの設計と実装について学びます。
ソフトウェア設計におけるセキュリティデザインの原則とパターン、セキュリティ要求の引き出し、セキュリティ上の欠陥の見つけ方(Secure Programming)などを取り上げます。
加えて、Privacy by Designなどのプライバシーを考慮するシステムエンジニアリングの概念や、ソフトウェアにおけるプライバシーを理解するための概念的なフレームワークについても学びます。
スケジュール
おおまかですが、以下のようなスケジュールで進みました。
第1週の1日目:Design, Static Analysis
第1週の2日目:CIA framework, Bell-LaPadula model, Biba Integrity model
第2週の1日目:OAuth case study, STRIDE Threat modeling
第2週の2日目:Attack Trees, Privacy Engineering
使用した技術・プログラミング言語
使用したプログラミング言語は、Javaでした。
参考資料
a. Secure Programming with Static Analysis
b. Principles of Program Analysis
グラ大のデータサイエンスコースでは、選択科目次第でこのようなセキュリティに関することも勉強できます。#イギリス大学院留学
— Kurokawa🏴 (@_kurokawa5) May 17, 2021
一番分かりやすい OAuth の説明 https://t.co/6kzNqR1Lfz #Qiita
2. Text as Data (week3・week4)
こちらのモジュールでは、幅広いテキスト分析の技術やタスクを始めるための知識やツールを使用する経験を得ることができます。
言語モデル、文書の幾何学的な解釈、情報理論、一般的な確率論の使用方法を学びます。
加えて、教師あり・教師なしのテキスト処理や分析のアプローチとその応用例について触れます。
大量のテキストデータから有益な情報を抽出する・規則性を見出すことができるシステムを作ることを目標としています。
ちなみに、こちらのテーマの応用例は、検索エンジン、スペリングエラーの検出と文章校正(DeepL)、バーチャルアシスタントなどがあります。
後述するInformation Retrieval(情報検索)とも関係があります。
スケジュール
おおまかですが、以下のようなスケジュールで進みました。
第1週の1日目:Introduction(Tokenization, vector representation, cosine similarity), Distributions and clustering(TF-IDF, unsupervised text clustering)
第1週の2日目:Text classification(Classification and regression, Naive Bayes), Evaluation(Metrics, cross-fold validation)
第2週の1日目:Natural Language Processing(Sequence tagging), Word embeddings
第2週の2日目:Contextual Word embeddings
使用した技術・プログラミング言語
主に使用した技術は、Jupyter、scikit-learn、Google Colab、spaCy、pandasなどを使用しました。
使用したプログラミング言語は、Pythonでした。
参考資料
こちらのコースでは、テキストなどを特に使用しませんでした。
以下は、私がよく参考にしていた資料となります。
a. Jurafsky and Martin: Speech and Language Processing
[blogcard url="https://web.stanford.edu/~jurafsky/slp3/"]
b. NLTK Book
[blogcard url="https://www.nltk.org/book/"]
c. Jacob Eisenstein, Natural Language Processing
[blogcard url="https://github.com/jacobeisenstein/gt-nlp-class/blob/master/notes/eisenstein-nlp-notes.pdf"]
一つ目のセキュリティのモジュールが完了したので、次はテキスト分析を勉強していきます🙄
— Kurokawa🏴 (@_kurokawa5) May 25, 2021
イメージはこのような感じです
Stanford CS224N: NLP with Deep Learning | Winter 2019 | Lecture 1 – Intr... https://t.co/HHOY7bIFNL#イギリス大学院留学
面白そうなので、早速トライしてみたいと思います😊#イギリス大学院留学
— Kurokawa🏴 (@_kurokawa5) May 25, 2021
言語処理100本ノック 2020 (Rev 2) - NLP100 2020 https://t.co/lKmzxyhC6v
We will be using the Pandas library as a way to manipulate the data easily.
— Kurokawa🏴 (@_kurokawa5) May 29, 2021
pandas documentationhttps://t.co/XRxUQ0VZdw#pandas
SpaCyのTokenizationについてhttps://t.co/UufslQMBQu pic.twitter.com/TPaiWkUueu
— Kurokawa🏴 (@_kurokawa5) May 29, 2021
自然言語処理について日本語で書かれた参考書も読んでみたいと思ったので、友達のおすすめで以下の書籍を購入いたしました。
自然言語処理の実装の練習がしたくて、以下の記事も参考にしてみました。Python 機械学習プログラミング 第3版が推薦されている。少し気になります🙄
— Kurokawa🏴 (@_kurokawa5) May 26, 2021
自然言語処理を学ぶ推薦書籍https://t.co/rU0MT9jeTe
3. Information Retrieval (week5・week6)
こちらのモジュールでは、情報検索システム(IRシステム)の設計と実装を始めるための知識やツールを使用する経験を得ることができます。
例えば、IRシステムの性能とユーザの満足度の観点からIRシステムを評価する方法や高度な機械学習モデル(Learning to Rank)などのさまざまな検索モデルの背後にある概念を学びます。
大規模なIRシステムの検索プロセスを高速化するために必要な技術とアーキテクチャについても触れることができます。
曖昧なユーザのQueryに対して、IRシステム(検索エンジン)はどうやったら気の利いた検索結果を返すことができるのかを突き詰めます。
スケジュール
こちらは毎日1〜3時間授業を行いました。
おおまかですが、以下のようなスケジュールで進みました。
第1週:Introduction, Architecture, Term Weighting, Vector Space Model, Evaluation Methodology, Relevance Feedback, Interactive IR
第2週:Learning to Rank, Web Search, Web Crawl, Infrastructure, Neural IR
使用した技術・プログラミング言語
主に使用した技術は、Text as Dataで使用したもの + PyTerrierなどを使用しました。
使用したプログラミング言語は、Pythonでした。
PyTerrierは、Pythonで情報検索を体験するためのプラットフォームです。
Javaベースの情報検索プラットフォームTerrierを内部で使用し、インデックス作成や検索操作をサポートしています。
そのTerrierは、グラスゴー大学のSchool of Computing Science内のInformation Retrieval Groupによって開発されています。
[blogcard url="http://terrier.org/"]
参考資料
a. Search Engines: Information Retrieval in Practice
[blogcard url="https://ciir.cs.umass.edu/irbook/"]
b. Introduction to Information Retrieval
[blogcard url="https://nlp.stanford.edu/IR-book/"]
Information Retrieval(情報検索)のモジュールで使用しましたPyTerrier(2020~)はPythonのフレームワークですが、こちらの基盤となるJavaベースのterrier(2001~)はグラ大が開発しております💻https://t.co/Q0PGsMUia6#イギリス大学院留学
— Kurokawa🏴 (@_kurokawa5) June 22, 2021
Introduction to Word Embedding and Word2Vec by Dhruvil Karani in @TDataScience https://t.co/bbpToR4fUi
— Kurokawa🏴 (@_kurokawa5) June 14, 2021
Learn how to use trec_eval to evaluate your information retrieval system https://t.co/Lro7DZTFE5
— Kurokawa🏴 (@_kurokawa5) June 17, 2021
How to Calculate Feature Importance With Python https://t.co/7yFHKm0ZyN
— Kurokawa🏴 (@_kurokawa5) June 18, 2021
こちらの記事の内容が日本にあてはまるかわかりませんが、個人的には私の周りの方々に比べて、Twitterの方々は頑張ってる方・優秀な方が多い印象です🤔https://t.co/HolayHndSW
— Kurokawa🏴 (@_kurokawa5) June 14, 2021
その他
2学期のshort-fatコースは課題に取り組むための時間にあまり余裕がなかったので、1学期よりもストレスがありました。
そのため、慣れるまでに体重が少しだけ減ったりしてました。
short-fatコースを受け始めてから現在は6週目(3モジュール目)となりますが、コース開始前と比べて体重が3kg痩せました🙄
— Kurokawa🏴 (@_kurokawa5) June 13, 2021
残り3つのモジュールが控えておりますので、この調子で行くともう3kgどこかへ行きます🙄
また、モジュールの成績評価方法についてですが、期末テストが80%の割合を占めているにも関わらず、6つ目のモジュールが終了次第、すぐにテストが始まってしまったので、あまり心の余裕がありませんでした。
期末テストの割合を低くするかテスト前に復習する期間を設定して欲しいと思いました。
データサイエンスのコースでは、大半のモジュールの成績評価方法(割合)が、課題20%、期末テスト80%です。
— Kurokawa🏴 (@_kurokawa5) June 15, 2021
一度だけのテスト(内容はプログラミングや計算問題など)に失敗すると、課題の努力が台無しになります😢😢#イギリス大学院留学
まとめ
この記事では、グラスゴー大学のデータサイエンスコースの2学期に受講したモジュールについてお話しました。
イギリスの情報系の大学院ではどういったことを勉強するのか少しでもイメージしていただくために、多くの図などを使って共有させていただきました。
こちらの情報を参考にしていただき、例えば、データ分析に興味があるけど、
(a) もっとビジネスを中心に勉強したい場合は、 Business Analyticsなどのコース
(b) もっと統計を中心に勉強したい場合は、StatisticsやData Analyticsなどのコース
(c) 総合的に勉強したい場合は、コース自体の期間が長い(2年間)オーストラリアの大学院のコース(Master of Data Science at the University of Melbourne, Master of Data Science at the University of Queensland)
などを検討してみてはいかがでしょうか。
こちらの記事が、イギリス大学院留学・データサイエンスに興味を持っている方にとって少しでも参考になれば幸いです。
今回の内容は以上となります。
当記事をお読みいただきありがとうございました!
当ブログの発信内容についてご質問・ご希望がございましたら、当ブログのContact Usもしくは私のTwitterアカウントまで何なりとお申し付けください。