coursera機械学習講座を生き抜く方法

ピピ、ピピッ

生存情報:蒼志、プログラミング初心者、英語がんばれ 1名確認

 

こばわ、蒼志です。

11月13日23時にcourseraの機械学習講座を始めましたが、勉強日数計算は便宜上14日に始めたことにして、実質的に5日目です。

 

現在の進捗は、講座の動画閲覧をweek11まで終えたところです(全11週)。week6,7はほぼ素通りしたので全部閲覧したわけではありません。(教師あり学習の途中からわけわからなくなってきたのでweek8の教師なし学習を再開しました)

私の過去のMOOC経験から挫折はどうしても回避したいという想いで取り組んでいますがそのためにこのようなアプローチになっている点お気をつけください(単純に模倣していいもんじゃないよという話)。

 

数学できない、英語もあまり自信がないということは前回の記事

プログラマーでもなんでもないボクがcourseraで機械学習を始めました - IT市民によるAI社会化構想

をご覧になればわかると思います。講座学習は綱渡り状態でいつ挫折してもおかしくないのは今も変わりません。そして、私も一般の方々と同じように常にモチベーションを高い状態に維持できるわけでもありません。そこをなんとか日々工夫を重ねてなんとかかじりついていこうという気持ちも変わっていません。一般的なMOOCの挫折率の高さを考慮した上でのいろいろな行動予測があるのは私にとっての強みの一つかもしれません。

これらを考慮した上で、これからどういう対応をすれば当講座を修了まで到達できるか考えをまとめてみました。

 

講座に必要な知識を改めて整理

講座を閲覧し終えてまず思ったのが、大学数学の前提知識がゼロな私は非常にディスアドバンテージを食らっているとの実感があります。しかし、コース修了した理系の人でも高校数学で止まっている(数3+Cは受験でクリアしたという意味でしょう)という人もいるようなので、もしかしてこのまま続けたらいけるのかも?と楽観している部分もあります。モチベーション維持のために先駆者の方々の意見は非常にありがたいものです。(ただぶっちゃけ、機械学習は数学ができる人がやるものという印象はこの講座を受講して割と明確に思いました。それを踏まえてやるかどうかは判断すべきだろうし、数学ができないからといってクリアできないものでもないと思っています。講座は数学ができない人にも配慮する意図で組まれています←ここが難しい)

 

ではどの程度の数学力が必要なのか改めて考えてみたいと思います。まず、コース修了に必要なものを逆算します。週末クイズ*1 1セット5問×17セットと、プログラミング課題提出8問×8題です。コース全体での配点は、週末クイズは1セット2%、プログラミング課題提出は1題8%で合計98% *2

 

週末クイズは週によって問題数が異なります。たとえば、week2は多変量線形回帰5問とoctave/Matlabで5問、合わせて2セット10問あります。各週末クイズは80%以上が合格(5問中4問以上正解)になります。

 

全体像

週末問題 17セット :2%×17=34%

プログラミング課題提出 8題 :8%×8=64%

 

この他にも動画の解説途中に突然割り込んでくる主に4択の理解度チェック問題がありますが、これは無制限でトライできます。コース修了条件にも無関係です。

 

理解度チェック問題も週末問題も、応用要素はほとんどないので難易度はそれほど高くはないと思います。講義内容を理解していれば解ける構成になっています。要するに、英語で問題文を把握できて、数式の意味を理解していれば、正しく答えを導き出せる構成になっています。次に問題を解くための理解に必要な数学力はどの程度のものか考えます。

 

講座内では数式が大量に飛び交っていますが、教授はたびたびこう言います。「この式をここでは証明はしない。」

つまり、証明はできなくても数式の意味を理解して、機械学習を実践的に活用できるような配慮をしていると受け取ることができます。

 

私にとっての壁はここになるわけですが、数式の証明と数式の理解の間のさじ加減が実はよくわかっていません(冷や汗)。たとえば、証明がないので、突然式変形が出てきてパニクったりすることがよくあります。

そのため週末クイズが解けないときは理由は明白で、数式の意味の理解不足に還元されるわけです。

 

前提となる基本的な数学知識は、大半が行列です。なので、とりあえず線形代数の参考書を数冊買ってきて、基礎力不足を補おうと思っています。(日本語なので安心?)古本屋で見やすいものを適当にピックアップしてきた程度なのでお薦めしていいものかどうかはよくわからないので個人的にググってみてください。(数Cのチャートとか線形代数の問題演習の本です)

 

また、挫折するだろうと思われる人がこの記事を読んでいると想像した上でこういう話をしているのですが(自分がいつその網に絡めとられてしまうのか…)、原因のNO1は何度も言っていますが数式の意味が理解できないことだと思います。私の場合大学数学をそもそもやっていないので壁にぶつかる可能性は非常に高いです。というか、壁しかないです。「1㎡ の壁に囲まれてどうしようか。ヨシ、両手両足を壁に押し当てて登っていこう!」みたいなノリです。

 

などなどいろいろ問題山積なんですが、こうした事態を打開するために考えた方策は次の通りです。

 

時間をふんだんに使えばなんとかなるかも大作戦。

名付けて時間ナパーム大作戦(ナパームとは絨毯爆撃に使われてたあれです。戦争映画でよく流行ってました 

地獄の黙示録 - Wikipedia

 

週末クイズ問題をいくつかクリアしているのですが、雰囲気で大体これかな?この数式は意味違うよね?とか類推しながらでも解ける問題はあります。しかしこの解き方はあまりよくないですね。やはり内容をしっかり理解した上で解かないと単にコース修了したからといって機械学習の技術向上には貢献しません。しかし類推で解答を導き出せるということは、類推できない問題はやはり間違えるし、なぜ類推できたかと言えばやはり講座解説や数式の意味をおぼろげに理解していたからです。しっかり時間をかけたクイズはやはり解答が出せるし、それを繰り返し時間をかければコース修了まで行けるということです。至極まっとうな話であり、この当たり前の作業を続けられるかそうじゃないかだけが大事なのではないかなというのが現時点の認識です。

 

 

私にとって現状は時間があるのでその時間を大量投下してやってしまおうという部分があるので、通勤されながら受講される方々には参考にならないかもしれません。ただ、その中でも、当講座は11週ですが、10か月以上かけて受講し終える人もいらっしゃるし、どれだけ時間をかけても最後までやり通すことが一番大事なことなのだと思います。諦めない仕組みを考えて、漏れないようにすることも必要になるわけですね。

 

数学ができて、英語ができるようなスーパーエリートの人にとってこんな問題は些細な話かと思いますが、そうじゃない私のような一般人は試行錯誤を重ねて乗り越えていくしかないのです。

 

 

*1:週末クイズと呼びますが、週末にやるクイズという意味ではありません。章立て構成ではなく、あくまでインデックスは週を基準とした「週末クイズ」と呼ぶことにします

*2:コース修了は全体で8割以上?確認していません、ごめんなさい