新米エンジニア４人が機械学習の勉強会を行った話&記事まとめ

# はじめに
IT企業の新米エンジニア４名が集まって、[CourseraのMachine Learning](https://www.coursera.org/learn/machine-learning)を教材にして機械学習の勉強会を行いました。その内容をまとめておきます。

## 背景
私たちの所属する部署は『中長期のビジネスに役立つ技術の検証』をミッションとして掲げており、その一環としてロボット技術の検証や機械学習、自然言語処理といったAIの要素技術に関する研究開発を行っています。そのような部署のため、新米エンジニアも当然機械学習の知識が求められます。しかし、私たちのバックグラウンドは様々で、機械学習の知識も不足していました。そのため、機械学習の基礎的な知識を身につけるために勉強会を行いました。

## 勉強会の目的
この勉強会の目的は以下のようなものです：

* 機械学習の基礎体力を身に付ける


## 勉強会の教材
勉強会の教材としては[CourseraのMachine Learning](https://www.coursera.org/learn/machine-learning)を採用しました。これはCourseraというオンライン講座の中にある機械学習講座で動画を見ながら機械学習について勉強できるというものです。音声は英語なのですが日本語字幕があります。詳しくは[本家のサイト](https://www.coursera.org/learn/machine-learning)か、[こちら](http://qiita.com/daxanya1/items/218f2e3b922142550ef9)を見ると良いと思います。

CourseraのMachine Learningを教材に採用した理由は、以下の通り：

* 解説が非常に丁寧で、初学者も無理なくステップアップできる
* 単に知識を学ぶだけでなく、実際に手を動かして実装することで機械学習アルゴリズムを理解出来る
* アルゴリズムの解説だけでなく、「どのような時にそのアルゴリズムを使うべきか？」といった実践的な話がある


## 勉強会の形式
基本的に毎週水曜日に４名のうち１名が発表を担当しました。発表者は事前に動画を見て資料にまとめておきます。
時間は９：３０〜１１：００までの１時間３０分。朝のだれていない時間に行いました。
参加者は新米エンジニア４名と先輩エンジニア３名の計７名です。

**新米エンジニア**

* [Takatymo](http://qiita.com/Takatymo)
* [Hironsan](http://qiita.com/Hironsan)
* [ykoga](http://qiita.com/ykoga)
* [ssnnkkhh](http://qiita.com/ssnnkkhh)

**先輩エンジニア**

* [GushiSnow](http://qiita.com/GushiSnow)
* [icoxfog417](http://qiita.com/icoxfog417)
* [shiraco](http://qiita.com/shiraco)

勉強会の流れは、発表者がまとめた資料を説明して、その後ディスカッションして理解を深めるという流れで行いました。また、勉強会の前提として、参加者全員が動画を見ていることを必須としました。

発表者は動画を見てまとめるだけでなく、課題のプログラミングも必須としました。プログラミング言語は自由でしたが、[Hironsan](http://qiita.com/Hironsan)以外は[Octave](https://www.gnu.org/software/octave/)を使用しました。[Hironsan](http://qiita.com/Hironsan)はPythonを使用しました。


## 勉強会をふりかえって
勉強会について、振り返ってみます。

### わかったこと

* 勉強会形式でやると、曖昧なところにツッコミが入るのでわからないところをわからないままにしておけない。また、ディスカッションを通じて理解が深まる。

* 別の業務で忙しかったり、急に予定が入ることも多く、リスケが頻繁に発生してしまった。本来は１１週で終わる予定だったが、リスケの結果、２倍くらいの週がかかった。

* 概念をつかむには良い教材だった。しかし、本を読んでわかる人にはそちらの方が短い時間でできるので良かったかも。

* 将来的に機械学習システムを実装することを考えると、課題はOctaveではなくPythonでやった方が良かったかも。

* 開発者だけでなく、教材の幅が広かったのでどんなことができるのか大枠を知りたい人にも良い教材だった。

### 所感
やはり学生と比べて社会人というのは業務で忙しいことも多く、頻繁にリスケが発生してしまいました。これにより、本来は２-３ヶ月で終わる予定の勉強会だったのですが、実際は５ヶ月もかかってしまいました。

とはいえ、忙しくないときは全員忙しくなく、忙しいときは全員忙しいという感じだったので、次に勉強会をやるときは、一週の担当者を増やしてできるときになるべく進めておいた方が良いかなと思いました。



#まとめ記事
以下はまとめ記事一覧です。ところどころないところは準備中です。待ってます。 >> [Takatymo](http://qiita.com/Takatymo)

## 第２週 〜線形回帰〜
記事名：[Coursera Machine Learning Week2まとめ](http://www.slideshare.net/YutaKoga/coursera-machine-learning-week2)
執筆者：[ykoga](http://qiita.com/ykoga)

第２週では線形回帰について学びました。


## 第３週 〜ロジスティック回帰〜
記事名１：[13分でわかるロジスティック回帰](http://qiita.com/Takatymo/items/fb16c088de325d98a363)
記事名２：[オーバーフィッティングと正則化](http://qiita.com/Takatymo/items/acbe5e6ea2840821ef77)
執筆者：[Takatymo](http://qiita.com/Takatymo)

第３週ではオーバーフィッティングと正則化、ロジスティック回帰について学びました。


## 第４週 〜ニューラルネットワークの表現方法〜
記事名：[Coursera Machine Learning -Week4- のまとめ（ニューラルネットワークの表現）](http://qiita.com/Hironsan/items/803f935c06bb5435b6bf)
執筆者：[Hironsan](http://qiita.com/Hironsan)

第４週ではニューラルネットワークの表現方法について学びました。


## 第５週 〜ニューラルネットワークの学習〜
記事名：[Coursera Machine Learning -Week5-のまとめ（ニューラルネットワークの学習）](http://qiita.com/ykoga/items/70d49e2ae83fba693c14)
執筆者：[ykoga](http://qiita.com/ykoga)

第５週ではニューラルネットワークの学習アルゴリズムについて学びました。

## 第７週 〜SVM〜
記事名：[Coursera Machine Learning　第7章まとめ](http://qiita.com/ssnnkkhh/items/5f40f138ce0c980fdf4b)
執筆者：[ssnnkkhh](http://qiita.com/ssnnkkhh)

第７週ではSVMについて学びました。

## 第８週 〜教師なし学習アルゴリズム〜
記事名：[機械学習を使って画像の圧縮をしてみた](http://qiita.com/Hironsan/items/fb6ee6b8e0291a7e5a1d)
執筆者：[Hironsan](http://qiita.com/Hironsan)

第８週では教師なし学習アルゴリズム（K-Means）について学びました。


## 第９週 〜異常検知とレコメンデーション〜
記事名：[Coursera Machine Leaning -Week9- まとめ （異常検知、レコメンダーシステム）](http://qiita.com/ykoga/items/f7940c29c74d9a6f9c31)
執筆者：[ykoga](http://qiita.com/ykoga)

第９週では異常検知とレコメンデーションについて学びました。

## 第１１週 ～Photo OCRを通じた問題解決手法の学習～
記事名：[Coursera Machine Learning Week11 人工的なデータ生成と天井分析](http://qiita.com/Hironsan/items/4d2cd5ab135c5c69788c)
執筆者：[Hironsan](http://qiita.com/Hironsan)