【お勉強】MITのMicroMastersを取得した話

まず最初にいっておきますが、今回のエントリは
盛大な自慢話
です。そこんとこよろしく。

大まかにいうと、

  • MOOCの一つであるedXでMITのMicroMastersにチャレンジしてみた
  • Statics and Data Scienceのコースを1年かけて履修
  • 毎週確認テストあり、中間テストやら最終試験やらでかなり大変
  • 無事Certificateを取得、俺スゲー

という話です。

そもそものきっかけ

昨年の年始辺りにふとぼんやり思ったことがありました。

そういえば自分、Bachelor、しかもLiberal Artsのしかもってない。もしこの先、研究開発系のキャリアを積んでいこうと思ったら、これでは足りないのではないか。周りを見渡すとMaster持ちはごく当たり前、PhD持ちも多い。そうした人たちと肩を並べてキャリアを積むには何かしらのDegreeがあった方が良いのではないか。

で、当時とってもとってもお世話になった上司に相談してみたのです。
曰く、

確かにそういう考え方もある。もしやる気があるのであればどんどん外に出ていくのも良い。ただ、MasterもPhDも、日本においてはまだまだ知識や技術のValidationの意味でしかとらえられていない節もある。ならば、より特化した形でのValidationがとれるDegreeを選んでも良いのではないか。

実際、仕事をしながらPhDを取りに行くのはかなり大変です(もちろん取りたいとは今も思っています)。なので、なるべく業務への影響が軽微でかつ、世の中的にも価値のありそうなものはないか、と探し始めたのです。時間拘束がなるべく緩く、かつしっかりした裏付けのあるDegreeなりCertificateを出してくれるところ。

あれこれ探してみた結果見つけたのが、edXのMicroMastersなのでした。

www.edx.org

MOOC, edX, MicroMastersとは

そもそもMOOCとは

ja.wikipedia.org

Massive Open Online Course、略してMOOC(ムーク)が認知される世になって久しい感じかな、と思います。有名どころですとCourseraや自分がよく使っているedX、日本でもgaccoなんかがありますね。
www.coursera.org
www.edx.org
gacco.org
言葉の意味の通り、誰もが自由にオンラインで受講できるコースです。時間拘束があると難しい、なるべく自分のペースで学びたい、というニーズに答えた形態の講座群ですね。
雰囲気的に、日本よりも米国の方が進んでいるイメージがあります。日本のMOOCはどちらかというと教養講座的な意味合いが強いようですが、edXなんかはMIT、Stanfordなどの超有名大学と組んでコースを設計し、内容もかなり高度です。またオンラインで取得できるMasterコースも開設していたりと充実したイメージがあります。

edXについて

もともとedXの存在自体は知っていました。というのも、自分がRを覚えるのにedXを使ったからです。
www.edx.org
上司に相談したときにそういえば、とedXのことを思い出し、どんなものがあるかと調べてみたところ、上述したとおりにオンラインでとれるマスターコースなんかがあるのを見つけ、「これだ」と思ったわけです。
Courderaで受講したことがないのでわからないのですが、edXの方が内容的に高度なものを扱っているイメージがあります(あくまでイメージ)。とはいえ、内容的にかぶっているところもあるようなので、必ずしもedXにこだわる必要はないようにも思います。
ただ、webサイトの作りが個人的にedXの方が好みだったのと、もともとのMOOCの入り口がedXで自分のアカウントを持っていたこともあり、edXを使うことにしたのでした。

MicroMastersについて

MicroMasters programs are a series of graduate level courses from top universities designed to advance your career. They provide deep learning in a specific career field and are recognized by employers for their real job relevance. Students may apply to the university offering credit for the MicroMasters program certificate and, if accepted, can pursue an accelerated and less expensive Master’s Degree.

とあるように、トップレベルの大学の修士レベルのコースを特定のトピックに関してピックアップしてとれるコースのことです。通常はマスターコースだと数年かかりますが、コースを厳選しているので半年~1年で修了できるものが多いようです。キャリアを積むにあたって特定のトピックに絞って学習を深めてスキルアップをすることを目的としています。また、修士コースの一部を履修することになるので、価格もリーズナブルです。
f:id:wanko_sato:20191123135124p:plain
edXのトップページ、上部メニューから選んでいくと、様々なコースがあることがわかります。
f:id:wanko_sato:20191123135314p:plain
そのなかでも自分が今回選んだのは、MITの"Statics and Data Science"のコースでした。選んだ理由は以下の通りです。

  1. 数理統計に関する知識を基礎からしっかり身につけたかったこと
  2. 機械学習のベーシックな部分を理論的なところからしっかり押さえておきたかったこと
  3. MITが提供しているプログラムなので内容的に十分であろうと判断したこと
  4. しかもMITのクラスが一部とはいえ15万円程度で受講できる

f:id:wanko_sato:20191123140349p:plain
後で述べますが、内容的にも満足度が高かったですし、ついでに英語の勉強にもなったので非常に良かったと思っています。
また、実際にMITに行こうとすると年間500万円くらいかかるといううわさもあり、金銭的な意味でも、こういうコースがあるのはとても良いと思います。
他にもBioinformaticsやComputer ScienceのMicroMastersもありますし、3年ていどかかりますがOnlineで完結できるMasterコースもあったりします(ちなみにOnlineMasterは100~200万円くらいかかります)。

どんなことを学ぶのか

さて、そんなMITのMicroMastersですが、実際にどんな内容を履修するのか。
f:id:wanko_sato:20191123140332p:plain
コースで受講する講義のリストはこんな感じです。
全部で4つのコースと最終試験であるCapstoneで構成されます。一つのコースは大体3か月で完了します。毎週、講義ビデオと練習問題が更新されます。また、コースによりますが、1~2回の中間試験と1回の最終試験があり、練習問題、中間試験、最終試験のスコアの合計が一定以上を超えるとコース修了、となります。たとえばこんな感じですね。
f:id:wanko_sato:20191123140909p:plain
4つのコースのうちでも一番難しかった"Fundamentals of Statistics"のスコアの記録です。全部が一定水準を超えている必要はなく、それぞれのスコアの重みづけ合計が一定水準を超えていれば良い、ということです。多少苦手で点数がとれなくてもほかでカバーできればOK、というスタイルです。
また、講義やテストだけでなく、フォーラムも充実しています。講義中でわからなかったことや、より深い議論を受講生同士でできますし、MITのTAや、時には教授が出てきてより深い議論ができたりします。フォーラムでの議論は非常に活発で、議論を眺めているだけでもとても勉強になりました。自分は数回質問しただけでROMってばかりでしたが。。。
人にもよると思いますが、だいたい1週間に30~40時間ほど、学習に費やす必要があると思います。自分の場合もだいたそれくらいか、内容が高度な部分は理解までにもっと時間がかかったと記憶しています。なので、オンラインだから自分のペースで、と甘くみていると痛い目に遭います。自分の場合は週末と祝日はほぼ勉強、平日でも早朝に勉強して補っていました。それくらい、講義についていくのは決して簡単ではありません。

必要となる前提知識は

  • 微分積分の計算がある程度はできる(まったくやったことがないレベルではだめ)
  • 線形代数の基本がある程度わかる(行列の積や行列式の計算ができないとついていけない)
  • 英語(講義もテストもすべて英語)

これくらいはないと辛いと思います。実際、微積がわからなくて脱落していった人がかなり多かったようです。また、英語字幕があるとはいえ、講義はすべて英語で行われますし、試験ももちろん英語で行われます。英語がさっぱりわからない、抵抗がある、という方には向いてないです。

では、それぞれのコースがどんなものだったか、一個一個みていきましょう。

Probability - The Science of Uncertainty and Data

f:id:wanko_sato:20191123142035p:plain
Prof. John Tsitsiklisによる確率論の基礎がメインのコースで、一部、Prof. Patrick Jailletによるマルコフ過程の講義が含まれています。
実施時期は2018年9月~12月で、次の項で述べる"Data Analysis in Social Science"と同時進行でした。二つのコースが同時進行なのはかなり大変でしたが、一回あたりの講義がそこまで長くなかったので、何とかついていくことができました。

内容としては大まかに

あたりをカバーしています。数理統計に必要な確率の考え方をしっかり身に着けるためのコースです。
実はこのコースが全体の中で一番苦手でした。数式を解くのはそこまで難しくないのですが、ほら、確率の問題って文章題になると言っている意味を正確に理解しないとできない部分てあるじゃないですか。
ja.wikipedia.org
モンティホール問題じゃないですが、考えうる様々な状況を加味して確率モデルを組み立てていかないとうまく解答にたどり着けない感じです。
確率過程が特に顕著で、今でも確率過程の考え方が苦手です。時間があるときに再履修したいと思っています。
f:id:wanko_sato:20191123143929p:plain
このコースの最終結果はこちら。Final Examの成績が異常に悪いのはまさにメイントピックが確率過程だったからw

Data Analysis in Social Science

f:id:wanko_sato:20191123145814p:plain
上記の"Probability - The Science of Uncertainty and Data"と同時並行で行われた講義です。実際の統計解析ってどんなものなのか、それにあたってどんなことに気を付けていけば良いのか、を確率論と統計学の知識を交えて講義する、というものです。
統計学の部分をSenior LecturerのSara Fisher Ellisonが担当し、統計解析に関する部分をProf. Esther Dufloが担当しました。
そう、2019年のノーベル経済学賞を受賞したProf. Esther Dufloです!Congraturations!
www.newsweekjapan.jp

気になる内容ですが、上記の確率モデルと一部被る部分もありつつ、

  • 統計的仮説検定
  • 回帰の考え方と線形モデル
  • 推定値の算出と評価
  • 因果関係の考え方と実験デザイン
  • 外生性、内生性
  • 操作変数法
  • データの可視化、グラフ作成にあたっての注意事項

といったところで、よりPracticalな内容になっています。データの可視化や回帰モデルの構築、実際のデータを使った仮説検定などはRを使って行いました。中間試験、最終試験でもオープンデータを使った課題が出されています。
また、内容に操作変数法が入っていることからわかるように、統計的因果推論、特にRubinの因果モデルの考え方が導入されています。ここは特にしっかり押さえておくと良い箇所ですね。
全般的に、理論的な内容もそうですが、よりPracticalな内容が多く、上記の確率論よりも難しい印象はありませんでした。もちろん、内容自体は高度なものです。

f:id:wanko_sato:20191123145655p:plain
最終スコアはこちら。2コース同時進行だったので、Optionalはやっていませんw余裕ができたらやろうと思いつつ、いまだにできていないですw

Fundamentals of Statistics

f:id:wanko_sato:20191123145856p:plain
このMicroMastersの中でも最難関であったであろう、数理統計のコースです。Prof. Philippe Rigolletがひたすらしゃべり、ひたすら板書します。数学的に高度な内容が多く含まれており、このコースで脱落した受講生がかなり多かったようです。
スタートが2019年2月、終わりが2019年5月。この期間はこのコースのみでしたが、内容が高度で勉強が一番大変だった時期です。積分の計算がこれまで苦手だったのですが、このコースで積分計算をやりまくったおかげで、いくらかはできるようになったのじゃないかと。。。

内容については、基本的な数理統計のトピックをだいたいカバーしています。
ベイズ統計も一部含まれますが、漸近理論に基づく仮説検定の理論構築がメインテーマです。

  • 確率分布と確率収束
  • パラメータ推定、信頼区間の構築
  • 仮説検定、αエラーとβエラー、p-value
  • Delta Method
  • KL-Divergenceと最尤推定
  • Fisher Imformationと漸近正規性における最尤推定
  • t検定、カイ二乗検定、Wald検定、尤度比検定
  • 当てはまりの良さの評価、コルモゴロフ-スミルノフ検定、コルモゴロフ-リリフォース検定、QQプロット
  • ベイズ推定、ベイズ推定における信用区間、事前分布の構築
  • 線形モデルと線形モデルの仮説検定
  • リッジ回帰
  • 一般化線形モデル、リンク関数、指数分布族
  • ポアソン回帰
  • optional:主成分分析

内容盛りだくさんです。数理的な内容がほとんどで、後半のベイズ推定、一般化線形モデル辺りはついていくのがかなりきつくなってきます。が、なんとかやり切りました!主成分分析についてもきちんと数理的な説明が与えられるので、全体を通して非常に良いコースなのではないかと思います。
また、練習問題で自分の答えを確認するために、Rで数式をシミュレーションしてみたりなど、ここで覚えたこともたくさんあります。このコースだけでも受講する価値が十分あります。
f:id:wanko_sato:20191123140909p:plain
こちらが最終スコア。最初の方、ちょっと勘違いして覚えてしまっていたところがあったので少しスコアの低いところがありますが、全般的に良いスコアでクリアできたと思います。

Machine Learning with Python: from Linear Models to Deep Learning

f:id:wanko_sato:20191123152132p:plain
コースの最後は機械学習Pythonプログラミングです。Prof. Tommi JaakkolaとProf. Regina Barzilayによる、機械学習の理論的な解説とそれらを実際にPythonで実装してみよう、というコースです。一部、Pytorchを使うところもありますが、基本的にはnumpyを使って数式からアルゴリズムを構築する、というものです。
ちょっと残念だったのが、システムの問題なのか、コードを書いてsubmitして正しい答えが出ているのに不正解になるケースがあったり、コードそのものがsubmitできなかったりとシステム障害が割と多く発生したこと。
スタートは6月、終了は9月。コードの検証に時間がかかったり、一部実行に時間がかかって大変だったりとありましたが、理論的な背景や実際に何をやっているのか、がわかってよかったと思っています。欲をいえばもう少し最新の話題にキャッチアップした内容があっても良かったかな、と。

内容的には以下のような感じ。

だいたい教師あり学習教師なし学習の主要なトピックはカバーしている感じです。
が、なんというか、広くカバーしすぎてちょっと漠然としてしまった感は否めません。各トピックの詳細は別途自己学習した方がより良いかな、という印象でした。
f:id:wanko_sato:20191123180339p:plain
最終スコアはこんな感じ。練習問題自体もそれほど難しい感じではなく、だいぶ良いスコアでクリアできたと思っています。

Capstone Exam for Statistics and Data Science

f:id:wanko_sato:20191123180546p:plain
上記4つのコースをすべてクリアすると、最終試験である"Capstone Exam"を受けることができるようになります。この試験をクリアすると、はれてMicroMasters for Statistics and Data ScienceのCertificateをもらうことができます。

Capstone Examは実際にMITで行われている教室での試験を模した環境で実施します。具体的には、

  • 持ち込みは自分で作成したA4両面のCheatSheet、計算用紙としてのA4の白紙、ペン
  • 受験中のPCの動作は監視されており、許可されていないWebサイトを閲覧してはならない
  • 同様に許可されていないアプリケーションは使用できない
  • PCカメラまたはWebカメラで不正が行われていないか確認されている
  • 制限時間は2時間

という環境です。これまでのコースは最終試験でもOpen Bookで、RでもPythonでもなんでも使ってOK、制限時間は48時間でした。それと比べるとかなり厳しい条件であり、しっかり準備していないとクリアはかなり難しい試験です。
自分も可能な限りCheatSheetをしっかり準備しました。が、CheatSheetを準備する過程でかなり復習できたので試験中はあまり使わなかったし、使う時間もあまりありませんでした。
試験に出題されるのは4つのコースの内容全体をカバーしたものです。なので、全体の関連性をしっかり理解していないと難しい内容と思います。
f:id:wanko_sato:20191123181437p:plain
終結果はこちら。最低ラインが50%のところ、71%までいけたので良かったかな、と。後で思い返して結構間違ってたっぽい箇所がいくつもあって、あーこりゃだめかな、と思っていたのですが、無事通ってほんとによかった。

Certificate

f:id:wanko_sato:20191123181638p:plain
で、無事Capstoneをクリアするとこんな感じのCertificateが発行されます!MIT公式のCertificateになります。なので、もしMITに進学することがあったら、一部の単位をこのCertificateで置き換えることができるそうです。また、他の大学でも入試の一部が免除されたり、単位振り替えができたり、といった特典があります。これで15万円は破格だと思うよ!

広き入り口、狭き出口

コース開始時点でself introductionをした受講生は2000人を超えていました。まぁそうですよね、入試なしでMITのコースをリーズナブルな価格で受けられるわけですから。ところが、コースが進むにつれ、様々な事情でどんどん脱落していったようです。特に3つ目の"Fundamentals of Statistics"での脱落者が多かったようです。ついていくのが大変だったのでしょう。
で、最終的にCapstone Examを受講したのが126名。合格者数は正式にアナウンスされていませんが、スコアの25%点が53%だったので、合格者数は全体の3/4くらいなのではないかと推定できます。

やってみての感想

というわけで、1年をやや超える長丁場のプログラム、無事に完了しました!
やってみての感想です。

よかったところ

MITの修士レベルの知識をしっかりと身につけられたことがとにかくよかった。また講義がすべて英語なので、英語のレベルアップにもつながったと思っています。値段もリーズナブルだし、とにかく自己肯定感あげあげです。大変だったけれどもやり通して本当に良かった。

大変だったところ

オンラインで自分のペースでできる、とはいってもやっぱりHomeworkはあるし、試験もあるので、しっかり勉強しないとついていけません。学校に通うのと違っていつでも簡単に離脱できてしまうので、続けること自体が人によっては大変かもしれません。勉強のための時間の捻出だって必要だし、すべてOnlineであるが故のコミュニケーションの難しさもあります。
でも、そういう大変さを乗り越えていくだけの価値は十分あったと思っています。

というわけで、やり通した自分スゲー!という話でした。