俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

E資格対策で勉強したこと、参考書など(JDLA Deep Learning for ENGINEER 2019 #2)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)の試験が終わりました。

3月にG検定合格した後、E資格対策として取り組んできた勉強と、参考にした書籍などを紹介していきたいと思います。

3月 G検定に合格し、E検定受験を決意

3月に受験した、「JDLA Deep Learning for GENERAL 2019 #1」に無事合格できたので、E検定受験を決意し、認定講座に申し込みました。

また、自分の振り返りもかねて、G検定の合格体験記のブログを作成。

g-kentei.hatenablog.com

実践的な経験を積むためにも、Kaggleにも登録しました。

oregin-ai.hatenablog.com

4月 認定講座受講開始までの間に、G検定学習内容を復習

認定講座の受講開始までに、用語などを確認するために、G検定で学習した内容を復習しました。

使ったのは、以下の3冊です。

f:id:kanriyou_h004:20190901101244j:plain

また、ネットの情報、Pythonの本を参照しながらNumpyや、matplotlib、pandasなどの勉強をしました。

詳しくは過去の投稿をご参照ください。E資格向けには、Numpyのエピソード2-5~2-10あたりが役に立ったと思いました。

エピソード2-5: Numpy を使ってみる

エピソード2-6: matplotlib を使ってみる

エピソード2-7: Numpyで行列を扱ってみる

エピソード2-8: Numpyで行列のブロードキャストルールを学ぶ

エピソード2-9: Numpyで行列の作成と変形

エピソード2-10: 乱数の取得

エピソード2-11: Pythonで複数のグラフを表示してみる

エピソード2-12: pandasでDataFrameを扱ってみる

エピソード2-14: DataFrameから情報を取得する

(※2-13が欠番になっていたことに今気づきました・・・。)

 

あと、モチベーションを高めるために、「AI・人工知能EXPO」に行ったりもしました。

資格を取得したあと、どのような世界が待っているのかということを体感することで、今後の学習に向けた意欲がどんどん湧いてきました。現場の熱気に触れるのはすごく良いと思います。

AI・人工知能EXPOに行ってきました(その1)Amazonの人工知能

AI・人工知能EXPOに行ってきました(その2)量子コンピューターの可能性とIBMの量子プログラム

AI・人工知能EXPOに行ってきました(その3)AI・人工知能基礎講座 

5月~6月 Kaggleでデータセットからの予測に挑戦

3月に登録したKaggleが放置されていたので、実際の機械学習の経験を積むために、データセットからの二値分類に挑戦しました。

実際の精度は、結局あまり向上することができませんでしたが、ロジスティック回帰や、ホールドアウト法、交差検証法、正則化など、実際に手を動かして工夫してみることで、実体験として何故そうする必要があるのかを経験でき学習が大きく前進しました。過去記事は以下のリンクをご参照ください。

エピソード3-4: KaggleでKickstarter Projectsに挑戦する。(データの前処理編)

エピソード3-5: KaggleでKickstarter Projectsに挑戦する。(採用する説明変数の選択)

エピソード3-6: KaggleでKickstarter Projectsに挑戦する。(ロジスティック回帰で分類する。)

エピソード3-7: KaggleでKickstarter Projectsに挑戦する。(ロジスティック回帰実装まとめ。)

エピソード3-8: 説明変数の追加で精度を向上する。

エピソード3-9: 異常値(外れ値)を除いてみて精度を向上するか確認する。

エピソード3-10: 大幅手戻り、Leakageにはまる。

エピソード3-11: 正則化L1ノルム(Lasso)を使って特長量選択。

エピソード3-12: 選択した特徴量を使ってNNモデルの学習率をグリッドサーチする。Acc62%→66%

エピソード3-13: AdaBoostに挑戦してみる。Acc66%→67.5%

エピソード3-14: AdaBoostのまとめ

 

また、同じことに取り組んでいるとマンネリ化してくるので、味替えで、以下の書籍にも少し目を通しながら取り組んでみました。

ep4-1: オライリー・ジャパン社「実践 機械学習システム」に学ぶ。

ep4-2:単純な直線で近似する。( 「実践 機械学習システム」に学ぶ。)

ep4-3:多項式の次数を上げて近似する。( 「実践 機械学習システム」に学ぶ。)

f:id:kanriyou_h004:20190901101152j:plain

7月 ゼロから作るDeepLearningに取り組む

7月に入ってからは、以下の2冊をつかって、深層学習実装の基礎力を磨きました。

f:id:kanriyou_h004:20190901101206j:plain

やはり、この2冊は外せないでしょうということで、サンプルコードもダウンロードして、多層NNからCNN、RNN、LSTM、GRUなどに取り組みました。

書籍内に記載しきれなかった内容も、サンプルコードには詰まっているので、ダウンロードして一通り実行してみて、動きを確認しました。

Kaggleで取り組んだことと、この2冊のおかげで、認定講座の終了条件となる実装課題も何とか早い段階でクリアすることができました。

認定講座の課題については、Kerasなども使えるので、必ずしも試験対策にはならないことも踏まえると、早めに完了させるつもりで対応するのが吉です。

 

また、7月もモチベーションアップのイベントとして、JDLA資格試験合格者の会に出席しました。松尾先生と名刺交換・写真撮影させていただくなど、テンションあがってばかりでした。試験勉強にもかなり疲弊してきたころなので、良いカンフル剤になりました。

JDLA資格試験合格者の会に行ってきました!(G検定)

8月 試験直前の追い込み

試験まであと一か月を切り、試験に向けて追い込みをかけました。

8月はとにかく深層学習(通称:Goodfellow本)をシラバスを頼りに関係するところを読みました。

試験終わってから感じたことですが、結構この本から出題されているところがあるなと感じました。しかも、この本独特の表現があるので、もっと早くから熟読しておくべきだったと感じました。

また、なかなか紙書籍版が見つからないので、必要な方は、紙書籍を見つけたときに手に入れておいたほうが良いと思います。(下記のリンクは電子書籍版です。)

f:id:kanriyou_h004:20190804200459j:plain

8月31日 試験当日直前復習 

そして、8月31日試験当日。

午前中に、これまで自分のつぶやいてきたTwitterの発言を眺めて復習しました。

覚えたことのアウトプットとして、つぶやいてきていたのですが、文字数制限の中で記載しているので、ポイントがまとまっていて直前に見返すには、ちょうどよい分量でした。(自分にしかわからないような表現や略し方が多くてすみません。)

試験に関係する問題が出たときは、「よくやった。過去の自分」と、ひそかに思ってしまいました。

 

以上が、G検定終了後からの8か月間の、E資格取得に向けた対策、取り組み、参考書になります。

まだ、結果は出てませんが、合否にかかわらず、これまで取り組んできたことで、3月の自分より確実にステップアップしていると感じています。

ごれからも、地道にコツコツと頑張ってまいりたいと思いますので、今後ともよろしくお願いいたします。

おまけ 受験にあたって読んだ参考書

この試験受験にあたって、読んだ参考書です。

読破できていない書籍もありますが、とても良い書籍ばかりでした。

試験も終わったことなので、じっくり目を通していきたいと思います。

f:id:kanriyou_h004:20190901101135j:plain

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com