【学問のすすめ】中世ヨーロッパ写字生のように黙って静かに手を動かすブログ

これまで習ったことや学んだことを記事にまとめています。ITネタが多いです。

【読後メモ】新卒SE、1年間で機械学習エンジニアを目指す(著:神林 貴之)で紹介されていた参考書書籍ををまとめてみた

2020年に株式会社インプレスR&Dから発売されたIT参考書「新卒SE、1年間で機械学習エンジニアを目指す」の概要と機械学習案件に携わるまで学習に使った参考書をまとめてみました。

書籍情報

  • 書名:新卒SE、1年間で機械学習エンジニアを目指す
  • サブタイトル:なし
  • 著者:神林 貴之
  • 出版:2020年11月20日
  • テーマ:機械学習エンジニアになるため、どのように勉強したかを紹介する
  • 分類:IT参考書

内容紹介

概要

著者が、新卒で入社した後、機械学習エンジニアになるために勉強した内容を紹介しています。 本書の構成は、機械学習の定義、前提知識となる数学の簡単な解説からはじまり、環境構築、ローカル環境での実装、クラウド環境での実装、となっており各解説の中に関連する参考書サンプルコード(Python)が紹介されています。
サンプルコードは結構な分量があります。本書を使って本格的に勉強するのであれば、Kindle版ではなく書籍版を注文した方が良さそうです。
※ なお私はKindle Unlimitedで読んだ。書籍版は買っていない。

本書の章立てと内容紹介

本書の章立てと内容の紹介は以下になります。


  1. はじめに
    • 人工知能の定義と機械学習のカテゴリわけを図示
  2. 機械学習で利用される主な数学知識について
    • 前提知識となる数学の分野と勉強方法を紹介
    • ベクトル/行列/統計/微分・積分 等々が必要であるようです
  3. Pythonの環境構築と言語学習
    • Windows/MacへのPython環境構築と機械学習に必要なライブラリの導入手順を説明
    • 本書ではJupyter Notebookを開発環境として使い、Webブラウザ上にコードを入力する方法を勧めています
  4. ゼロから作るDeep Learningを勉強してみた
    • 参考書を見ながらパーセプトロン・ニューラルネットワークを実装します
    • 第一章で紹介されている数学がゴリゴリ出てきます
  5. NNCを利用して学習モデルの構築
    • Sonyが提供しているツール「Neural Network Console (NNC)」を使ったネットワークモデルの構築
    • プログラミングを省略して学習をすすめられるようです
  6. Chainer
    • PythonのライブラリChainerを使った各種ネットワークモデルの構築
    • 参考書ではなくチュートリアルサイトを使って勉強したようです。
    • チュートリアルサイトには数学的要素の説明も多く、数学の参考書より学習効率が良い?ような事を書いていました。
  7. クラウドサービスを使って機械学習環境の構築
    • Google Colaboratoryを使い、クラウド上でJupyter Notebookを起動する環境を構築
    • AWSではなくGCPを使うのが素晴らしい。私もGCP好きです。
  8. Pytorch
    • 深層学習フレームワークPytorchを使ったニューラルネットワークの構築
    • インストール方法と使い方、サンプルコードを紹介しています。ここまでくるとかなり難しそうです。


参考書籍

以下に各章で紹介されていた書籍およびURLを紹介します。

第1章 機械学習で利用される主な数学知識について


  • 書名:やさしく学べる線形代数
  • サブタイトル:なし
  • 著者:石村 園子
  • 出版:2000年10月25日
  • テーマ:線形代数の学習
  • 分類:数学参考書


  • 書名:マンガでわかる統計学 回帰分析編
  • サブタイトル:なし
  • 著者:高橋 信
  • 出版:2005年9月1日
  • テーマ:統計学の学習漫画
  • 分類:数学参考書


  • 書名:改訂版 日本統計学会公式認定 統計検定2級対応 統計学基礎
  • サブタイトル:なし
  • 著者:田中 豊, 中西 寛子, 姫野 哲人, 酒折 文武, 山本 義郎
  • 出版:2015年12月10日
  • テーマ:統計学の基礎(度数分布/平均 等)
  • 分類:数学参考書


  • 書名:弱点克服 大学生の微積分
  • サブタイトル:なし
  • 著者:江川 博康
  • 出版:2005年12月1日
  • テーマ:微分/積分
  • 分類:数学参考書


第2章 Pythonの環境構築と言語学習

参考書籍なし。
Jupyter Notebookのインストールのコマンドが直接書かれており、参考書籍はありませんでした。 参考としてJupyer Notebookの公式HPを挙げておきます。



第3章 ゼロから作るDeep Learningを勉強してみた


  • 書名:ゼロから作るDeep Learning
  • サブタイトル:Pythonで学ぶディープラーニングの理論と実装
  • 著者:斎藤 康毅
  • 出版:2016年9月24日
  • テーマ:ディープラーニングをゼロから実装
  • 分類:深層学習の参考書


第4章 NNCを利用して学習モデルの構築

参考書籍なし
「Neural Network Console (NNC)」のインストール方法と使い方が書かれており、参考書籍はありませんでした。 参考としてNNCの公式HPを挙げておきます。



第5章 Chainer

参考書籍なし
Chainerのインストール方法(コマンド1行)と、サンプルコードが書かれています。参考書籍はありませんでした。
参考としてChainerの公式HPを挙げておきます(このページにある数学の解説が学習に役にたつと書いていました)。



第6章 クラウドサービスを使って機械学習環境の構築

参考書籍なし。 Google Claboratoryの構築方法と、サンプルコードが書かれています。参考書籍はありませんでした。
参考としてGoogle Claboratoryの公式HPを挙げておきます。



第7章 Pytorch

参考書籍なし。
Pytorchのインストール方法と、使い方サンプルコードが書かれています。参照先として公式HPを紹介していました。
もちろん英語です。



その他

感想

本書で書かれていることが事実であれば、著者は1年間独学でこれをやり抜いた事になります。
普通は何をやるかすら分からず迷路にはまって右往左往しながら時間が経つものですが、その短時間で正解を見つけ出すのはシンプルにすごいです。
最後まで読みましたが、数学的素養に乏しい私はサンプルコードや数式の意味を理解できませんでした。
とりあえずは、紹介されていた数学の参考書をやってみようと思いました。しかしこのJupyter Notebookというツール便利そうでいいですね。