ただのWebエンジニアがaws認定の機械学習専門知識に合格した話

本日(2019/12/22)、受かってきました。

今年の6月に[AWS 認定 機械学習 – 専門知識 サンプル問題 日本語訳](https://qiita.com/ikegam1/items/50ec1787db14226158d2)なんて記事を書いてますが、ちょうどここがスタートで半年ちょいかかってますね。。
これで9冠目なんだけど、これまでで一番苦労してるかも。というか2回落ちてますねん。。

なお、本記事ではしがないWebエンジニアがどうやって合格までたどり着けたのかを書いていきます。

# me
* アソシエイト、プロは取得済。専門知識もいくつか
* しがないWebエンジニア(インフラ寄り)
* 業務ではまったく機械学習系やってない
* awsは使っている
* aws歴2年ちょい
* 数字嫌い

# aws認定 機械学習の対象(推奨)

> ・AWS クラウドでの ML/深層学習ワークロードの開発、設計、実行における、1～2 年の経験
・基本的な ML アルゴリズムの基となる考えを表現する能力
・基本的なハイパーパラメータ最適化の実践経験
・ML および深層学習フレームワークの使用経験
・モデルトレーニングのベストプラクティスを実行する能力
・デプロイと運用のベストプラクティスを実行する能力

https://aws.amazon.com/jp/certification/certified-machine-learning-specialty/

やべえ、どれも満たしてない。。



# aws認定機械学習の受験履歴

0. 模試 2019.10.04
70%くらい

1. 2019.10.14
**不合格**
スコア *646/750*

2. 2019.10.31
**不合格**
スコア *730/750*

3. 2019.12.22
**合格**
スコア *?/750*
(スコアは後日)

## 最初の試験までにやったこと

まず、ここに到るまでやったことですが、
機械学習ぜんぜんわかってなかったので本をいくつか流し読みしました。

・[マンガでわかる機械学習](https://www.amazon.co.jp/dp/4274222446/)
マンガでもわからない機械学習でした。。
確か、伊豆に鯛食いに言った時の電車の中で読んだなー。
理解度はともかく、マンガなのでさらっと読めました。
実際に機械学習を用いるケースなんかもわかりやすい。
基礎の方はけっこう掴める。

・[人工知能プログラミングのための数学がわかる本](https://www.amazon.co.jp/gp/product/4046021969/)
数学の本。昔の消費税の税率ぐらいには理解できたと思う。
役にたったのは実践編以降かなー。自然言語処理とかモデルうんぬんとか。数式はぜんぜんわかりません。。

・[仕事ではじめる機械学習](https://www.amazon.co.jp/dp/4873118255/)
オライリーのアルマジロ本。
これはaws認定っていう目的には不向きな気がする。
「機械学習とかビジネスでどう活かしたらええねん」って思ってる人向けかも。
**機械学習しなくて良い方法を考える**ってプロセスが盛り込まれてたりする。

・[やさしく学ぶ 機械学習を理解するための数学のきほん](https://www.amazon.co.jp/dp/4839963525/)
ぜんぜんやさしくない。
**アヤノ&ミオと一緒に学ぶ〜..** みたいなサブタイトルもついてて一見やさしそうなんだけど、よくわかんない数式が山ほど出てくるのにこの二人がスイスイといていってしまう。。
もっとやさしい本はないものか。ただ、pythonのソースが出てきたあたりからは少し入ってきた。

・[つくりながら学ぶ! 深層強化学習 ~PyTorchによる実践プログラミング~](https://www.amazon.co.jp/dp/B07DZVRXFK/)
プログラミングがテーマの方が入ってきやすいのかと思って今度はこれ。
実際にコード打ってみたりしなかったので雰囲気だけなんだけど、実践的な部分が少し理解できたきがする。
迷路とかMINISTとかチュートリアル的なのがいくつかある感じ。いざ、業務でってなったら参考にできそう。

それ以外だと、kaggleでタイタニックをしてみたりとか、sagemakerでタイタニックしてみたりとか、aws personalizeつかってみたりとか、実際にサービスを触ってみたりしてました。

・[kaggle](https://www.kaggle.com/)
・[SageMakerでタイタニックしてみる](https://qiita.com/ikegam1/items/04735aeeb71c23a93da8)
・[Amazon Personalizeでレコメンドしてみる話](https://qiita.com/ikegam1/items/22ee984313808e91d64f)

そのほかには勉強会を少々。やってみて覚えてくタイプです。

## 模試 2019.10.04

ちょっと腕試しに模試を受けてみました。
結果は70%ちょっとくらいで合格ライン？
そんならちょっと本番受けてみときますか、ってなる。
ただ、模試の方が難易度低かったような気がするなー。80%くらい取らないと安心できないかもしれん。

## 1回目  2019.10.14

やったこととしては、

* サンプル問題を解く
* 模試の問題をキャプチャしてたのでそれを解く
* 模試で引っかかったワードを調べてみる
* sagemakerのblackbelt見る

くらいだったかな。正直一回落ちてもいいかなって心持ちで受けました。

が・・

スコア *646/750*

というのは予想に反して悪い。。テスト自体は半分くらいの時間でさっくりと終わって、「ぼちぼと解けたか」って感触だったのになー。
敗因としては**テストを想定した準備をほとんどやってなかった**事。
まあ、一回やって傾向つかもうって部分もあったんですけどね。

## 2回目  2019.10.31

やったこと

- udemy

通勤時とかお昼休みに問題をちょくちょくといてました。やってたのはコレ。
https://www.udemy.com/course/aws-machine-learning-practice-exam/
問題は全部で75問と少ないですが。
他にもやったんだけど回答の解説がなかったりとかでいまいちだったりして返品しちゃった。
ちなみにudemyは値引きがないと購入しません。
当日にもガツっと解いておく。

そして結果は・・

スコア *730/750*

惜しいな。。あと3問くらいかな。感触は悪くなかったんだが。。

## 3回目　2019.12.22

さてもうちょっと点数を上げるだけだ。
しかし、11/1に会社を移り、生活のリズムもかわりでぜんぜん学ぶ時間を作れない。。
結局、試験の前日から頑張り始めました。

やったこと

- udemy
 - 前回の復習
 - 1講座追加

間が開いちゃったので前回の問題を復習しておく。解いて見ると合格ギリギリラインにまで退化してました。。
そしてめぼしい講座を一つ追加。
https://www.udemy.com/course/aws-certified-machine-learning-specialty-full-practice-exams/

なんか新しめの事も多くて、試験に直結するかは微妙だけど、知らない事もけっこう出てくるし、いちいち調べてると理解度が高まってる感じはした。
そんなわけで、前日夜に3hくらい、当日AMに3hくらいで一夜漬けをし、見事合格にこぎつけました！
結果はまだでないので結果出たらまた更新します。

#最後に

- 混同行列大事
- sagemakerはしっかりさわっておくべし
- ストリームとかリアルタイムなやつ大事
- glueとかathena周りも
- 当然ながらアルゴリズムも
- transcribeとかその関連も
- object2vecとか、関連性を求めるやつの違いを覚えておく

ざっくり書くとこんな感じ。機械学習、知らない人にとってはかなり範囲が広いなー。

しかしですよ。取るなら今って気もしますねん。今年のre:inventで機械学習系のが主役だったりもしたわけで、あと半年もしたら問題がガラッと変わってたりして？