数学とPythonを学ぶためにUdemyの「人工知能・機械学習 脱ブラックボックス講座」が役立った話

はじめに

最近高校の数学を復習していたものの、機械学習の本や論文に書かれている数式を理解する、というところまでの距離が見えないほど遠く感じており、その状態で参考書を淡々と解くモチベーションを保つのが難しい状況でした。

そんな時に、深夜にAmazonでうっかり本を買ってしまうのと同じテンションで買ってしまったのがUdemyの【キカガク流】人工知能機械学習ブラックボックス講座の初級編・中級編です。これまで動画で学ぶことが少なかったので、試しに見てみるか〜!と気楽に始めましたが予想以上に得るものがありました。よく割引してるので本買うより安いです。

初級編:https://www.udemy.com/kikagaku_blackbox_1/

中級編:https://www.udemy.com/kikagaku_blackbox_2/  

得られたもの

  • 必要最低限の数学(微分線形代数
  • 数学がどこで活きるのかという具体的な知見
  • Pythonプログラミングの基礎

かかった時間

  • 初級編:2時間半
  • 中級編:3時間半

初級編は2倍速、中級編も1.5倍速くらいで見てました。見ながら練習問題を解いたり一時停止して式変形したりプログラミングをしたり、と手を動かしながらでも合計6時間ほどで終わりました。 (プログラミングの経験が全く無かったり、機械学習の事前知識が0だともう少し時間を要するかと思われます)

何が良かったのか

(1) 数学

本当に必要最低限の内容に絞って、微分線形代数を中学生レベルから説明を行っているので分かりやすい。かつ、なぜ微分線形代数が必要なのか、どこで使うのか、を繰り返し説明するので繋がりを確実に理解出来ました。

特に、中級編では評価関数を最小化する式変形にまで踏み込んでいる。これが非常に良かったです。実際に手を動かしながら、直前にやった線形代数の知識を活用して式変形を行っていくとスッキリと表すことが出来て割と感動します。

(2) Python

もともと他の言語には手を出していたものの、Pythonについては基本的な書き方も知らない状態でした。この講座を受講したことで、Jupyter Notebookの使い方、Pythonの基本文法、どんなライブラリが有用なのか、データの扱い方など実装の基礎的な枠組みが 身に付きました。(その後ロジスティック回帰など実装した時にも役立ちました)

感じたこと

最初に思ったのは、なぜもっと早くやらなかったのか…という後悔ですが、階段を数段上って景色が良くなったような感覚があります。受講後にPRMLを眺めてみるだけでも「なるほど、そういうことか。分かりやすい。」と思う箇所が増えて自分に驚きました。上の式と下の式は一緒だな、と追えるだけでも全然違います。

それと、学習において繋がりを理解することと、努力の方向性や効率の良さ、について考え直すきっかけになりました。時間は限られているので、ダラダラと参考書をやるよりも、効率の良いやり方を探索することに頭を使うべきだと反省しました。動画で学ぶのは自分に合うかも?という発見も。 

基礎的かつ実用的な内容を確実に理解させるための講座の作り方が洗練されていて凄いなと素直に思いました。上級編にも期待。

今後

Udemyの数学系の講座と、Pythonらしい書き方が分かるような講座をまず受講して、高校数学の参考書は一時中断して必要な時に戻る予定です。今年はKaggleをやるつもりなので、Python 機械学習プログラミングを参考にしながらモデルを作ろうかと考え中です。

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)

[第2版]Python 機械学習プログラミング 達人データサイエンティストによる理論と実践 (impress top gear)