The jonki

呼ばれて飛び出てじょじょじょじょーんき

2020年にやってよかった教材(機械学習関連の入門多め)

今年は仕事内容も変わって,いろいろなものを勉強した気がします.ということで買ってよかったもの,とは別に.やってよかった教材(書籍,オンライン教材,ブログ等)を紹介しようと思います.入門系多めです.

Andrew Ng先生

今年はAndrew Ng(アンドリュー・エング)先生の大ファンになりました.Twitter界隈でまずNg先生のCourseraやCS229をやれ,という話は時折上がってくるので見てみたらハマりました.私は2017年ぐらいからNLPを始めて,機械学習の知識は必要に応じて勉強していたので,体系だってあまり学んで来ませんでした(高村先生の機械学習入門ぐらい). そこでゼロから勉強し直そうと思い,Andrew Ng先生の教材をやってみました.

結論から言うと非常に良かったです.これから機械学習始めたいという方に特にオススメ,というかこれ以外から始めない方が良いかも,と強く言いたいぐらい良かったです.いきなりDNNに飛びついてしまう人も最近は多いのかなと思うのですが,ここでロジスティック回帰や評価の仕方などしっかり学んだほうがよいです.授業では各項目に対して深入りするわけではないですが,考え方のエッセンスのようなものをAndrew Ng先生がわかりやすく説明してくれます.これがこの授業の最大の魅力です. Courseraには確認テストがあって,選択・記入式のチェックテストとOctaveによる実装テストがあります.どちらもそんなに難しくないので,良い復習になると思います.え,Octave?と思うかもしれませんが,OctavePythonMatlabの文法に馴染みがあれば,ちょっとしたチュートリアルもあるので問題になりません.実装もロジックの部分だけ実装する形式なので,Octaveの言語に精通している必要はまったくありません. コースは11週と長く見えますが,まったくの初心者でなければ授業は1.5倍速ぐらいで,1ヶ月ぐらいで終わると思います.授業は英語ですが,リスニングに自信がなくても板書がしっかりしてるので十分ついていけると思います.日英の字幕もあります.非常に有名な授業なので,修了証の権利も購入してLinkedinに貼るつもりでやると,モチベーションも続くかもしれません.

www.coursera.org

この授業の後は,CS229というスタンフォードでの授業を見てみました.Youtubeで2018年度に行われたものが今年4月に無料で公開されています.Courseraの授業は完全に入門編でしたが,こちらは入門ではありますが,範囲をやや広げ(EMアルゴリズム強化学習等),数式的な踏み込みもかなりしています.こちらはシラバスを見てもらえればわかりますが,動画での授業だけでなく,多くのLecture NotesがPDFとしてまとまっています.動画中での導出は時間上カットしてたりするのですが,ちゃんとその導出などもLecture Notesに書いています.シラバス上はリンク切れの資料も多いのですが,世界中で人気の授業なのでGithubなどで探せばいくらでも関連資料は出てきます.またこの授業のテストもあって,Problem Setsというのがあります.こちらもネットを探せば,元の課題が転がっているので挑戦してみても良いかもしれません.が,結構重たかったので,私は動画→Lecture Note読む,で先に進んじゃいました. www.youtube.com

また本授業を担当したTAの方が俯瞰図を作っているので,どのあたり勉強できそうか眺めても面白いです. github.com

機械学習の入門が終わったら,DNNやNLPなどを勉強しても面白いかもしれません.同じStanfordでの授業はいっぱい転がっているので,自分にあったものをやると楽しそうです.

Stanford CS230: Deep Learning | Autumn 2018 | Lecture 1 - Class Introduction and Logistics - YouTube

Stanford CS224N: NLP with Deep Learning | Winter 2019 | Lecture 1 – Introduction and Word Vectors - YouTube

NLPだとCMUのGraham Neubig先生も毎年授業を即公開しており,最新の論文のキャッチアップもできて良いですね.

Graham Neubig - YouTube

線形代数

色々論文などを読む上で線形代数の基礎力がまったく足りてないなと反省し,色々線形代数もあさりました.

こちらもCourseraであった線形代数の授業です.こちらも演習とセットになっていて,短いのでよいです.

www.coursera.org

またヨビノリシリーズも良かったです.書籍は動画と基本的に同じなので,動画を見た後に書籍を見ると良い復習になります.

www.youtube.com

予備校のノリで学ぶ線形代数

予備校のノリで学ぶ線形代数

音声信号処理

今年はNLPだけでなく,音声系の内容にも手を出しました.といっても大学以来,まったくやってこなかったので基礎の基礎から色々勉強しましたが,中でも良かったものを紹介します.

まず東北大の鏡先生のディジタル信号処理はかなり良かったです.会話形で進むタイプなので,疑問に思いやすい点などしっかりとやる夫が突っ込んでくれて面白かったです.これで完全に忘れていたフーリエ系の扱いを大学時代以上に思い出せました. www.ic.is.tohoku.ac.jp

あとは本もいくつか買いましたが,サクッと入門系だとこの辺がわかりやすかったです.やる夫シリーズはFFTの解説があえてないのですが,この本はFFTの解説(というか計算)がわかりやすかったです.

道具としてのフーリエ解析

道具としてのフーリエ解析

またどうしても信号処理を扱う上で,複素数は外せないところなので,これも読みました.こういうシリーズはイラストで安心感を装い,中身はあまり...という場合が多いのですが,これは良書だと思いました.ちなみに漫画部分も普通に面白かったです笑

マンガでわかる虚数・複素数

マンガでわかる虚数・複素数

  • 作者:相知 政司
  • 発売日: 2010/11/12
  • メディア: 単行本(ソフトカバー)

次にプログラミングでデジタル信号処理できないとまずいので,こちらも一通りやりました.実際に音声ファイルを読み込んで周波数解析をして可視化して,という一連の流れをサクッと学べます. aidiary.hatenablog.com

また,音声を扱う上で,人の聴覚や発声の仕組みも知りたくなりました.デジタル信号処理は音声とは限らないので,このあたりの情報はあまり載っていません.そこで良い書籍ないかなといろいろ探していましたが,この本は非常に読み物としても面白かったです.音声系の教科書,堅苦しい(失礼)のが多いんですが,これは読みやすい上にタメになる知識が多かったので,また読みたいところ.目次見て面白そうと思ったら買いでしょう.

ゼロからはじめる音響学 (KS理工学専門書)

ゼロからはじめる音響学 (KS理工学専門書)

プログラミング

これずっと前に購入して積んでいたので読んでみたのですが,アルゴリズムの勉強を初めてするときなどに読んでおきたかったです.大学時代にアルゴリズムの授業というとまったく楽しめなかったので,こういった実用的にアルゴリズムがどこで活躍しているか分かる本に出会いたかった.

またけんちょんさんの本も買っていて,冬休み時間が取れたのでやってみました.競プロをやる上で,アルゴリズムの勉強をする→AtCoderで実力を試す,など考えられますが,体系的にアルゴリズムを俯瞰して勉強でき,更に実装にも踏み込んだ入門書はこれまでなかったように感じるので新鮮でした.入門〜緑ぐらいの人向けのイメージです.アルゴリズム何も知らんという人は,アルゴリズム図鑑から入ったほうが良いかもしれないです.

アルゴリズム図鑑 絵で見てわかる26のアルゴリズム

アルゴリズム図鑑 絵で見てわかる26のアルゴリズム

Youtuber

最後にYoutubeで見つけた良いチャンネルです.CS229しかりでYoutubeに良い教材が大量にあふれる良い時代になりました.論文の解説などもあったりするので,本当にYoutubeよく見るようになりました. ということで登録しておいて面白い動画がよく流れてくるチャンネルを共有しておきます.

www.youtube.com

www.youtube.com

www.youtube.com

良いお年を!