ISBN 9784798155913
現場で使える!NumPyデータ処理入門 機械学習・データサイエンスで役立つ高速処理手法
- 著者
- 吉田 拓真/尾原 颯
- 出版社
- 翔泳社
- 刊行
- 2018-11
概要
NumPy の多次元配列操作を実務レベルで習得し、機械学習の前処理を高速化する
想定読者
Pythonの基礎はあるが NumPy をまだ体系的に学んでいない機械学習エンジニア・データサイエンティスト
こんな人には向いていない
- NumPy を日常的に使いこなしており、内部実装や高度な最適化テクニックを求めている上級者
- 機械学習の理論的背景(統計・線形代数の証明など)を中心に学びたい読者。本書の重点は API の使い方と実装寄りの手法にある
- Python 自体を初めて学ぶ段階の読者。Python の基本構文・データ型の理解を前提とした説明構成になっている
読了後にできるようになること
- ndarray の軸(axis)・形状(shape)・ブロードキャスティングの仕組みを理解し、ループを使わないベクトル化処理が書ける
- reshape / transpose / tile / ravel などの配列操作関数を目的に応じて選択できる
- 平均・中央値・標準偏差などの統計関数と行列演算(逆行列・固有値)を NumPy で実装できる
- 機械学習前処理として必要な正規化・線形回帰をスクラッチ実装できる
- ニューラルネットワーク(順伝播・誤差逆伝播)の数値計算を NumPy だけで実装し、フレームワークの内部動作を把握できる
- ファイル I/O(CSV・バイナリ)での配列の保存・読み込みを実装できる
本書のキー概念(章解説)
- 第 1 章 NumPy の基礎 — ndarray・broadcasting・slicing・軸(axis)・データ型・copy と view の違いを網羅。他章の前提となるため丁寧に読む価値がある
- 第 2 章 配列操作関数 — reshape / append / sort / transpose / tile / ravel など現場頻出の操作を集中整理。実務でリファレンスとして再訪しやすい構成
- 第 3 章 数学関数 — 統計量・線形代数(行列式・固有値・逆行列)・畳み込みをカバー。機械学習の数式を手で実装する土台になる
- 第 4 章 機械学習への応用 — 正規化・線形回帰・多層ニューラルネット・強化学習をスクラッチ実装。フレームワーク依存前の理解確認に適している
ハイライト
- Python単体では遅い処理であっても、C言語なみに高速化できるケースもあり、機械学習・データサイエンスの分野におけるデータ処理に欠かせないライブラリとなっています(NumPy の実用的価値を端的に示す書籍紹介文の核心部分)
- 特に、現場でよく扱う配列の処理に力点を置いています。最終章では機械学習における実践的なデータ処理手法について解説します(配列操作と機械学習実装という二段構成の意図が明示されている箇所)
編集メモ
Qiita での本 ISBN 直接言及記事は確認できなかった(article_count=0 / total_likes=0)。書誌情報と出版社サイトのみから判定。2018年出版で改訂版が存在することも考慮し supplementary とする
読む前に押さえておきたいこと
- Python の基本構文(リスト・辞書・内包表記・関数定義)を一通り書いた経験
- 行列・ベクトルの基本概念(積・転置・逆行列)をなんとなく知っている程度の線形代数知識
学習のコツ
- 1章の copy と view の違い(メモリ共有の挙動)は実務バグの温床になりやすい。コードを実際に動かして差異を手で確かめるとその後の理解が安定する
- 2章の配列操作関数群は通読よりも「手元のコードで遅いループがある→該当関数を検索して置き換える」リファレンス的な使い方が実効性が高い
- 4章の機械学習実装(バックプロパゲーション)は TensorFlow/PyTorch を使い始める前に一度スクラッチで追うと、フレームワークのデバッグ時の直感が変わる。公式ドキュメントや別書の理論解説と並行読みを推奨
出版社による内容紹介
機械学習・データサイエンスで役立つ高速処理手法 【本書の概要】 ビッグデータを扱う機械学習の現場では、Pythonの高機能で利用しやすい数学・科学系ライブラリが急速に広まってきています。 本書は、機械学習・データサイエンスの現場でよく利用されているNumPyの基本から始まり、 現場で使える実践的な高速データ処理手法について解説します。 特に、現場でよく扱う配列の処理に力点を置いています。 最終章では機械学習における実践的なデータ処理手法について解説します。 【NumPy(ナンパイ)とは】 NumPyは、機械学習・データサイエンスの現場で扱うことの多い多次元配列(行列やベクトル)を 処理する高水準の数学関数が充実しているライブラリです。 Python単体では遅い処理であっても、C言語なみに高速化できるケースもあり、 機械学習・データサイエンスの分野におけるデータ処理に欠かせないライブラリとなっています。 【対象読者】 機械学習エンジニア、データサイエンティスト 【著者紹介】 吉田拓真(よしだ・たくま) データサイエンス関連のサービスを提供する株式会社Spot 代表取締役社長。 Webメディア『DeepAge』編集長。 尾原 颯(おはら・そう) 東京大学工学部機械工学科所属。 大学ではハードウェア寄りの勉強が多め。 趣味はアカペラとテニス。基本的に運動が好き。最近、ランニングを始める。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。