English IT Study

【大学院留学ブログ@グラスゴー大学】データサイエンスコースの2学期に受講したモジュールの授業内容について(前編)

くろかわ(kurokawa)

Postgraduate, @uofglasgow, Data Science MSc ← 国内IT (JV設立支援,事業&SL開発,大学講師,インフラエンジニア等) 初めての留学で経験したことや日常で感じたことを呟きます。

悩むねこ

海外の大学院で実際に勉強する内容を知りたいです!

こんなお悩みを解決します。

この記事で得られること

・グラスゴー大学のデータサイエンスコースの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'とおっしゃってます。)

私が1学期中に受講したモジュールの授業内容は以下に整理しましたので、良かったらこちらの記事もご覧ください。

UofG
【大学院留学ブログ@グラスゴー大学】データサイエンスコースの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日間ほどで完了しなければならなかったので、パフォーマンスがすごい求められていた気がします。

【共有です】UI/UXデザインやデータ分析を英語で学びたい方へ!

お話が脱線して恐れ入りますが、UI/UXデザインやデータ分析を学びたい方に向けてちょっとした共有です。

ドイツ(ベルリン)発祥のデザインブートキャンプであるCareerFoundryのコースを5%オフ(UX Designコースで4万円相当)で受講できるクーポンコードを共有いたします。

コースが完了すると、履歴書、LinkedInのプロフィール、就職で使用できる証明書が発行されます!

授業料が5%オフになるクーポンコードはこちら

CareerFoundryについて気になった方は、良かったらこちらの記事もご覧ください。

【UXデザインブログ】CareerFoundryについて

この記事では、ウェブ開発、UX/UIデザイン、データ分析が学習できる、ドイツ発のCareerFoundryというオンラインブートキャンプを紹介しています。基本情報やコース、特徴についてまとめました。CareerFoundryに興味がある方の参考になれば幸いです。

続きを見る

2学期(Summer semester)で学んだモジュールについて

当記事の本題となりますが、私が2学期(Summer semester)で学んだモジュールは以下のとおりです。

モジュール一覧

  1. Secured Software Engineering (week1・week2)
  2. Text as Data (week3・week4)
  3. Information Retrieval (week5・week6)
  4. Web Science (week8・week9)
  5. Human-Centred Security (week10・week11)
  6. 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

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

使用した技術・プログラミング言語

主に使用した技術は、Jupyterscikit-learnGoogle ColabspaCypandasなどを使用しました。

使用したプログラミング言語は、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"]

自然言語処理について日本語で書かれた参考書も読んでみたいと思ったので、友達のおすすめで以下の書籍を購入いたしました。

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/"]

その他

2学期のshort-fatコースは課題に取り組むための時間にあまり余裕がなかったので、1学期よりもストレスがありました。

そのため、慣れるまでに体重が少しだけ減ったりしてました。

また、モジュールの成績評価方法についてですが、期末テストが80%の割合を占めているにも関わらず、6つ目のモジュールが終了次第、すぐにテストが始まってしまったので、あまり心の余裕がありませんでした。

期末テストの割合を低くするかテスト前に復習する期間を設定して欲しいと思いました。

まとめ

この記事では、グラスゴー大学のデータサイエンスコースの2学期に受講したモジュールについてお話しました。

イギリスの情報系の大学院ではどういったことを勉強するのか少しでもイメージしていただくために、多くの図などを使って共有させていただきました。

こちらの情報を参考にしていただき、例えば、データ分析に興味があるけど、

(a) もっとビジネスを中心に勉強したい場合は、 Business Analyticsなどのコース

(b) もっと統計を中心に勉強したい場合は、StatisticsData Analyticsなどのコース

(c) 総合的に勉強したい場合は、コース自体の期間が長い(2年間)オーストラリアの大学院のコース(Master of Data Science at the University of Melbourne, Master of Data Science at the University of Queensland)

などを検討してみてはいかがでしょうか。

こちらの記事が、イギリス大学院留学・データサイエンスに興味を持っている方にとって少しでも参考になれば幸いです。

今回の内容は以上となります。

当記事をお読みいただきありがとうございました!

当ブログの発信内容についてご質問・ご希望がございましたら、当ブログのContact Usもしくは私のTwitterアカウントまで何なりとお申し付けください。

くろかわ

-English, IT, Study
-,