inFablic

Fablic開発者ブログ

フリルのエンジニア有志でCourseraのMachine Learningコースを集団受講しました

こんにちは。エンジニアのshobyです。

最近、機械学習に興味を持ったエンジニアが集まり、話題になっていたCourseraのMachine Learningコースを受講しました。

その経験から、CourseraのMachine Learningコースは初心者の学習に良い教材であることがわかりました。

また、集団受講することでモチベーションを保ちつつ、より深い理解が得られ、知識の属人化を避けることでプロダクトへの導入の敷居を下げられることもわかったため、Machine Learningコースの集団受講をおすすめするためにこの記事を書きました。

概要

  • CourseraのMachine Learningコースとは
  • Machine Learningコースで得られる知識
  • 集団受講のメリット
  • フリルでの機械学習の扱い
  • まとめ

CourseraのMachine Learningコースとは

Courseraというオンライン学習サービス内で提供されている、機械学習のコースです。11週間で機械学習の基礎を学べます。 (英語ですが、ビデオは日本語字幕もあります)

www.coursera.org

こちらのコースはStanford Universityから提供されており、講師は機械学習研究者であるAndrew Ng氏であるため、信頼できる講義内容だと思います。*1

コースでは、ビデオ、選択式クイズ、プログラミング問題、の三種類の課題があり、「分かった気になる」ことを許さず、深い理解が求められます。

Machine Learningコースで得られる知識

Linear Regression(線形回帰)といった基礎から始まり、ニューラルネットワークや実際の機械学習システムの構築方法まで学べます。

全体的に、理論をきちんと理解させるよりも、機械学習という技術を利用し、問題解決に活用できるようにすることに重点が置かれているように感じました。*2

学べる要素技術を羅列すると以下のような感じです。

  • Supervised Learning(教師あり学習)
    • Linear Regression(線形回帰)
    • Logistic Regression(ロジスティック回帰)
    • Nural Network
    • Support Vector Machine
  • Unsupervised Learning(教師なし学習)
    • K-Means Clustering
  • Anomaly detection(異常検知)
  • Recommender System

上記の要素技術だけでなく、機械学習におけるパラメータのチューニング方法や、デバッグ方法、精度評価手法、機械学習システムの精度上のボトルネックを特定するにはどうしたら良いか、といったところまで、実際にこれからぶつかるであろう問題についても言及してくれています。

集団受講のメリット

集団で受講することで、モチベーションを保ちつつ、より深い理解が得られることがわかりました。

私たちのケースでは、毎週お互いSlackで進捗を共有しつつ、プロダクトへの活用方法を想像しながら進めたため、プレッシャーと応用への期待でモチベーションが保てました。

また、お互いに理解の曖昧な部分について補完しあったり、数学に強いエンジニアが難易度の高い数式について解説してくれたため、深く理解することができました。

フリルでの機械学習の扱い

以前はフリルでは機械学習は、「なんとなく面白そうな技術」という程度の認識でしたが、 複数のエンジニアが機械学習に関する知識を得て属人化を避ける目処がたったため、 「フリルで発生している問題に対して取りうる解決手段の一つ」という認識に変わったような印象があります。

現在では、機械学習が技術的負債を生みやすいことも考え、不正検知といった裏側部分から導入を進められないか検討を進めている最中です。

まとめ

CourseraのMachine Learningコースを集団受講することにより、モチベーションを保ちつつ、深い理解を得ることができます。 CourseraのMachine Learningコースは初心者に向いており、理論だけでなく実践的な内容を学べる質の高い教材です。 また、集団で受講することにより機械学習知識の属人化を防ぎ、実際のプロダクトへ導入する敷居を避けることができました。

*1:Andrew Ng氏はCourseraの設立者の一人でもあります

*2:数式の証明などは省かれている場合が多かったです