はじめに
IT企業の新米エンジニア4名が集まって、CourseraのMachine Learningを教材にして機械学習の勉強会を行いました。その内容をまとめておきます。
背景
私たちの所属する部署は『中長期のビジネスに役立つ技術の検証』をミッションとして掲げており、その一環としてロボット技術の検証や機械学習、自然言語処理といったAIの要素技術に関する研究開発を行っています。そのような部署のため、新米エンジニアも当然機械学習の知識が求められます。しかし、私たちのバックグラウンドは様々で、機械学習の知識も不足していました。そのため、機械学習の基礎的な知識を身につけるために勉強会を行いました。
勉強会の目的
この勉強会の目的は以下のようなものです:
- 機械学習の基礎体力を身に付ける
勉強会の教材
勉強会の教材としてはCourseraのMachine Learningを採用しました。これはCourseraというオンライン講座の中にある機械学習講座で動画を見ながら機械学習について勉強できるというものです。音声は英語なのですが日本語字幕があります。詳しくは本家のサイトか、こちらを見ると良いと思います。
CourseraのMachine Learningを教材に採用した理由は、以下の通り:
- 解説が非常に丁寧で、初学者も無理なくステップアップできる
- 単に知識を学ぶだけでなく、実際に手を動かして実装することで機械学習アルゴリズムを理解出来る
- アルゴリズムの解説だけでなく、「どのような時にそのアルゴリズムを使うべきか?」といった実践的な話がある
勉強会の形式
基本的に毎週水曜日に4名のうち1名が発表を担当しました。発表者は事前に動画を見て資料にまとめておきます。
時間は9:30〜11:00までの1時間30分。朝のだれていない時間に行いました。
参加者は新米エンジニア4名と先輩エンジニア3名の計7名です。
新米エンジニア
先輩エンジニア
勉強会の流れは、発表者がまとめた資料を説明して、その後ディスカッションして理解を深めるという流れで行いました。また、勉強会の前提として、参加者全員が動画を見ていることを必須としました。
発表者は動画を見てまとめるだけでなく、課題のプログラミングも必須としました。プログラミング言語は自由でしたが、Hironsan以外はOctaveを使用しました。HironsanはPythonを使用しました。
勉強会をふりかえって
勉強会について、振り返ってみます。
わかったこと
-
勉強会形式でやると、曖昧なところにツッコミが入るのでわからないところをわからないままにしておけない。また、ディスカッションを通じて理解が深まる。
-
別の業務で忙しかったり、急に予定が入ることも多く、リスケが頻繁に発生してしまった。本来は11週で終わる予定だったが、リスケの結果、2倍くらいの週がかかった。
-
概念をつかむには良い教材だった。しかし、本を読んでわかる人にはそちらの方が短い時間でできるので良かったかも。
-
将来的に機械学習システムを実装することを考えると、課題はOctaveではなくPythonでやった方が良かったかも。
-
開発者だけでなく、教材の幅が広かったのでどんなことができるのか大枠を知りたい人にも良い教材だった。
所感
やはり学生と比べて社会人というのは業務で忙しいことも多く、頻繁にリスケが発生してしまいました。これにより、本来は2-3ヶ月で終わる予定の勉強会だったのですが、実際は5ヶ月もかかってしまいました。
とはいえ、忙しくないときは全員忙しくなく、忙しいときは全員忙しいという感じだったので、次に勉強会をやるときは、一週の担当者を増やしてできるときになるべく進めておいた方が良いかなと思いました。
#まとめ記事
以下はまとめ記事一覧です。ところどころないところは準備中です。待ってます。 >> Takatymo
第2週 〜線形回帰〜
記事名:Coursera Machine Learning Week2まとめ
執筆者:ykoga
第2週では線形回帰について学びました。
第3週 〜ロジスティック回帰〜
記事名1:13分でわかるロジスティック回帰
記事名2:オーバーフィッティングと正則化
執筆者:Takatymo
第3週ではオーバーフィッティングと正則化、ロジスティック回帰について学びました。
第4週 〜ニューラルネットワークの表現方法〜
記事名:Coursera Machine Learning -Week4- のまとめ(ニューラルネットワークの表現)
執筆者:Hironsan
第4週ではニューラルネットワークの表現方法について学びました。
第5週 〜ニューラルネットワークの学習〜
記事名:Coursera Machine Learning -Week5-のまとめ(ニューラルネットワークの学習)
執筆者:ykoga
第5週ではニューラルネットワークの学習アルゴリズムについて学びました。
第7週 〜SVM〜
記事名:Coursera Machine Learning 第7章まとめ
執筆者:ssnnkkhh
第7週ではSVMについて学びました。
第8週 〜教師なし学習アルゴリズム〜
記事名:機械学習を使って画像の圧縮をしてみた
執筆者:Hironsan
第8週では教師なし学習アルゴリズム(K-Means)について学びました。
第9週 〜異常検知とレコメンデーション〜
記事名:Coursera Machine Leaning -Week9- まとめ (異常検知、レコメンダーシステム)
執筆者:ykoga
第9週では異常検知とレコメンデーションについて学びました。
第11週 ~Photo OCRを通じた問題解決手法の学習~
記事名:Coursera Machine Learning Week11 人工的なデータ生成と天井分析
執筆者:Hironsan