[第2版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践

[第2版]Python機械学習プログラミング 達人データサイエンティストによる理論と実践

4,400円(本体 4,000円+税10%)

品種名
書籍
発売日
2018/3/16
ページ数
624
サイズ
B5変形判
著者
Sebastian Raschka 著/Vahid Mirjalili 著/株式会社クイープ 訳/福島真太朗 監訳
ISBN
9784295003373

機械学習本ベストセラーの第2版!

機械学習全般をカバー。著者陣の経験に基づく洞察と専門的な知識を学べる―本書では、機械学習の各理論、数学的背景、Pythonコーディングの実際を網羅的に解説。初期のアルゴリズムから、ニューラルネットワーク(CNN/RNN)までを取り上げます。Python関連ライブラリとしてはscikit-learnやTensorFlowなどを使用。第2版では、第1版への読者のフィードバックを反映、ライブラリの更新に対応。13章以降はほとんど新規の書き下ろしです。本書は、機械学習を本格的に理解・実践するのに不可欠な一冊となっています。

「読者アンケートに答える」「読者プレゼントに応募」の場合もこちらをご利用ください。

アンケートに答える

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

学校・法人一括購入に関するお問い合わせはこちらへ。

一括購入窓口

著者紹介

◆著者プロフィール
◎Sebastian Raschka(セバスチャン・ラシュカ)
計算生物学の学術研究プロジェクトで新しいコンピュータ手法の開発に取り組む。データ分析の情報サイト「Analytics Vidhya」では、GitHub上で影響力のあるデータサイエンティストの第1位にランクイン。また、オープンソースの機械学習ライブラリの開発にも参加。データサイエンティストの世界的なコミュニティKaggleが開催する機械学習コンテストでは優秀な結果を出している。

◎Vahid Mirjalili(ヴァヒド・ミルジャリリ)
ミシガン大学コンピュータサイエンス工学科に在籍。さまざまなコンピュータビジョンプロジェクトで機械学習の応用研究に携わる。分子構造の大規模計算シミュレーションの手法を開発したことで博士号を取得。Pythonコーディングで驚異的な経験を積み、同大学でPythonプログラミングを教える。

◆翻訳者プロフィール
◎株式会社クイープ
1995年、米国サンフランシスコに設立。コンピュータシステムの開発、ローカライズ、コンサルティングを手がけている。2001年に日本法人を設立。主な訳書に、『Machine Learning実践の極意 機械学習システム構築の勘所をつかむ!』『TensorFlow機械学習クックブック Pythonベースの活用レシピ60+』『Scala関数型デザイン&プログラミング―Scalazコントリビューターによる関数型徹底ガイド』などがある(いずれもインプレス発行)。www.quipu.co.jp

◆監訳者プロフィール
◎福島 真太朗(ふくしま・しんたろう)
1981年生まれ。株式会社トヨタIT開発センターのシニアリサーチャー。
2004年東京大学理学部物理学科卒業。2006年東京大学大学院新領域創成科学研究科複雑理工学専攻修士課程修了。現在、東京大学大学院情報理工学系研究科数理情報学専攻博士課程に在学中。専攻は機械学習・データマイニング・非線形力学系。

目次

第1章 「データから学習する能力」をコンピュータに与える
データを知識に変える「知能機械」
3種類の機械学習
…字数制限のため一部省略…

第2章 分類問題―単純な機械学習アルゴリズムのトレーニング
人工ニューロン―機械学習の前史
パーセプトロンの学習アルゴリズムをPythonで実装する
Irisデータセットでのパーセプトロンモデルのトレーニング
……

第3章 分類問題―機械学習ライブラリscikit-learnの活用
分類アルゴリズムの選択
scikit-learn活用へのファーストステップ:パーセプトロンのトレーニング
ロジスティック回帰を使ってクラスの確率を予測するモデルの構築
……

第4章 データ前処理―よりよいトレーニングセットの構築
欠測データへの対処
カテゴリデータの処理
データセットをトレーニングデータセットとテストデータセットに分割する
……

第5章 次元削減でデータを圧縮する
主成分分析による教師なし次元削減
線形判別分析による教師ありデータ圧縮
……

第6章 モデルの評価とハイパーパラメータのチューニングのベストプラクティス
パイプラインによるワークフローの効率化
k分割交差検証を使ったモデルの性能の評価
……

第7章 アンサンブル学習―異なるモデルの組み合わせ
アンサンブルによる学習
多数決による分類器の結合
……

第8章 機械学習の適用1―感情分析
IMDbの映画レビューデータセットでのテキスト処理
BoWモデルの紹介
……

第9章 機械学習の適用2―Webアプリケーション
学習済みのscikit-learn推定器をシリアライズする
データストレージとしてSQLiteデータベースを設定する
……

第10章 回帰分析―連続値をとる目的変数の予測
線形回帰
Housingデータセットの探索
……

第11章 クラスタ分析―ラベルなしデータの分析
k-means法を使った類似度によるオブジェクトのグループ化
クラスタを階層木として構成する
……

第12章 多層人工ニューラルネットワークを一から実装
人工ニューラルネットワークによる複雑な関数のモデル化
手書きの数字を分類する
…省略

第13章 ニューラルネットワークのトレーニングをTensorFlowで並列化
TensorFlowとトレーニングの性能
TensorFlowの高レベルAPI:ニューラルネットワークの効率的なトレーニング
……

第14章 TensorFlowのメカニズムと機能
TensorFlowの主な特徴
TensorFlowの階数とテンソル
……

第15章 画像の分類―ディープ畳み込みニューラルネットワーク
畳み込みニューラルネットワークの構成要素
畳み込みニューラルネットワークの構築
……

第16章 系列データのモデル化―リカレントニューラルネットワーク
系列データ
リカレントニューラルネットワーク:シーケンスモデルの構築
多層RNNの実装:TensorFlowでのシーケンスモデルの構築
……

ダウンロード

本書のサンプルコードは、以下の原著のGitHubサイトで公開しています。

お詫びと訂正

誤記のためにご迷惑をおかけし、誠に申し訳ございません。

  • 1ページ 10行目以降の箇条書き
    • [誤]
      ●機械学習の一般概念(1.1節)
      ●3種類の学習と基本用語(1.2~1.6節)
      ●機械学習システムをうまく設計するための構成要素(1.7/1.8節)
      ●データ解析と機械学習のためのPythonのインストールとセットアップ(1.9節)
    • [正]
      ●機械学習の一般概念(1.1節)
      ●3種類の学習と基本用語(1.2~1.3節)
      ●機械学習システムをうまく設計するための構成要素(1.4節)
      ●データ解析と機械学習のためのPythonのインストールとセットアップ(1.5節)
    • 【 第2刷にて修正 】
  • 22ページ ページ下の脚注※18の末尾
    • [誤]
      予測値を負の方向に向かわせる。
    • [正]
      結果的に予測値を正の方向に向かわせる。
    • 【 第5刷にて修正 】
  • 28ページ ページ下の脚注※24
    • [誤]
      MISD(Multiple Instruction Multiple Data)
    • [正]
      MISD(Multiple Instruction Single Data)
    • 【 第5刷にて修正 】
  • 30ページ コードの5行目(コメント)。
    • [誤]
      >>> # Iris-setosaを-1, Iris-virginicaを1に変換
    • [正]
      >>> # Iris-setosaを-1, Iris-versicolorを1に変換
    • 【 第3刷にて修正 】
  • 53ページ 本文6行目
    • [誤]
      「がく片の長さ」と「花びらの長さ」を
    • [正]
      「花びらの長さ」と「花びらの幅」を
    • 【 第3刷にて修正 】
  • 56ページ ページ中央のnotesコラム内 本文2行目の末尾
    • [誤]
      、第5章で説明する。
    • [正]
      、第6章で説明する。
    • 【 第2刷にて修正 】
  • 80ページ 3.4.3項の本文1-2行目
    • [誤]
      scikit-learnのPerceptronクラスとLogisticRegressionクラスは
    • [正]
      scikit-learnのLogisticRegressionクラスは
    • 【 第3刷にて修正 】
  • 90ページ ページ下の※36
    • [誤]
      クラスに所属すると予測するとしたときに、
    • [正]
      クラスに所属すると予測したときに、
    • 【 第5刷にて修正 】
  • 94ページ 3.6.2項の本文3行目(ページなかほど)
    • [誤]
      不純度の条件としてエントロピーを使って
    • [正]
      不純度の条件としてジニ不純度を使って
    • 【 第3刷にて修正 】
  • 94ページ コードの2行目(コメント部分)
    • [誤]
      >>> # エントロピーを指標とする
    • [正]
      >>> # ジニ不純度を指標とする
    • 【 第3刷にて修正 】
  • 98ページ 本文9行目(コラム下の本文2段落目の3行目)
    • [誤]
      その方法については第5章で説明する
    • [正]
      その方法については第6章で説明する
    • 【 第3刷にて修正 】
  • 99ページ コードの2行目(コメント部分)
    • [誤]
      >>> # エントロピーを指標とする
    • [正]
      >>> # ジニ不純度を指標とする
    • 【 第3刷にて修正 】
  • 136ページ コードの6-7行目
    • [誤]
      >>> print('Number of samples that meet this criterion:', X_selected.shape[0])
      Number of samples that meet this criterion: 124
    • [正]
      >>> print('Number of features that meet this threshold criterion:', X_selected.shape[1])
      Number of features that meet this threshold criterion: 5
    • 【 第3刷にて修正 】
  • 147ページ ページ上のnotesコラムの末尾。左から2つ目の式で転置記号を追加
    • [誤]
      -vΣ
    • [正]
      -v^TΣ
    • 【 第5刷にて修正 】
  • 165ページ 式5.3.9の3つ目の式
    • [誤]
      λを1/nに変更
    • [正]
    • 【 第5刷にて修正 】
  • 165ページ ページ下の※16内の式。式5.3.9訂正による派生。
    • [誤]
      ※16の式を下記のように訂正
    • [正]
    • 【 第5刷にて修正 】
  • 177ページ ページ下の罫囲みコード。下から2行目
    • [誤]
      return k.dot(alphas / lambdas)
    • [正]
      return k.dot(alphas / np.sqrt(lambdas))
  • 216ページ 式7.1.3
    • [誤]
      0.25
    • [正]
      ε
    • 【 第2刷にて修正 】
  • 216ページ 式7.1.4
    • [誤]
      ε
    • [正]
      0.25
    • 【 第2刷にて修正 】
  • 219ページ 網掛け部分の下にある本文の2行目
    • [誤]
      ベース分類器からなるアンサンブルCj(j∈{0, 1})があり、…
    • [正]
      ベース分類器からなるアンサンブルCj(j∈{1, 2, 3})があり、…
    • 【 第3刷にて修正 】
  • 224ページ 7.2.2の本文4行目
    • [誤]
      さらに、分類問題を難しくするために、「がく片の長さ」と
    • [正]
      さらに、分類問題を難しくするために、「がく片の幅」と
    • 【 第3刷にて修正 】
  • 229ページ 本文3行目
    • [誤]
      がく片の長さ(Sepal width)が1以上の場合に
    • [正]
      がく片の幅(Sepal width)が1以上の場合に
    • 【 第3刷にて修正 】
  • 265ページ 8.4節 2段落目 最後の2文目と3文目
    • [誤]
      潜在ディリクレ配分はよく「LDA」と略されるが、潜在ディリクレ解析(Latent Dirichlet Analysis)と混同しないように注意しよう。潜在ディリクレ解析は、第5章で紹介した教師あり次元削減手法の1つである。
    • [正]
      潜在ディリクレ配分はよく「LDA」と略されるが、線形判別分析(Linear Discriminant Analysis)と混同しないように注意しよう。線形判別分析は、第5章で紹介した教師あり次元削減手法の1つである。
    • 【 第3刷にて修正 】
  • 273ページ ページ上のコラムの末尾
    • [誤]
      http://pythonhosted.org/joblib/
    • [正]
      https://joblib.readthedocs.io
    • 【 第3刷にて修正 】
  • 325ページ 式10.7.2の下の本文1行目
    • [誤]
      ここで、xは分割の対象となる特徴量、
    • [正]
      ここで、x_iは分割の対象となる特徴量、
    • 【 第3刷にて修正 】
  • 328ページ 本文のページ下から3行目
    • [誤]
      不偏的なアプローチ
    • [正]
      普遍的なアプローチ
    • 【 第2刷にて修正 】
  • 353ページ 11.2.4の第1段落。最後の文。
    • [誤]
      サンプルを2つのグループにクラスタリングしてみよう。
    • [正]
      サンプルを3つのグループにクラスタリングしてみよう。
    • 【 第3刷にて修正 】
  • 364ページ ページ末の段落の4行目
    • [誤]
      本章では、多層パーセプロトンの実装とトレーニングを行うときに
    • [正]
      本章では、多層パーセプトロンの実装とトレーニングを行うときに
    • 【 第3刷にて修正 】
  • 366ページ コラム1行目
    • [誤]
      多層パーセプロトンを実装する。
    • [正]
      多層パーセプトロンを実装する。
    • 【 第3刷にて修正 】
  • 389ページ ページ末尾の段落。1文目と4文目
    • [誤]
       同様に、………連鎖率も利用できる。……………。……………。連鎖率を適用することで、……………。
    • [正]
       同様に、………連鎖律も利用できる。……………。……………。連鎖律を適用することで、……………。
    • 【 第3刷にて修正 】
  • 433ページ ページ中央部にある網掛けのコード
    • [誤]
      tf.placeholder(dtype=tf.float32, shape=[2, 3, 4])
    • [正]
      tf.placeholder(dtype=tf.float32, shape=[3, 4, 5])
    • 【 第3刷にて修正 】
  • 443ページ 網掛けコードのコメント「# 変数(モデルのパラメータ)を定義」の下のコード
    • [誤]
      weight = tf.Variable(tf.random_normal(shape=(1, 1), stddev=0.25)),
    • [正]
      weight = tf.Variable(tf.random_normal(shape=(1, 1), stddev=0.25)
    • 【 第3刷にて修正 】
  • 467ページ 図の右端。validパディングでの出力画像のサイズ
    • [誤]
      2x2
    • [正]
      3x3
    • 【 第4刷にて修正 】
  • 520ページ 「16.4.7 predictメソッド」の網掛けコードの5行目以降(p.520-521)

お問い合わせ

書籍の内容に関するお問い合わせはこちら。お答えできるのは本書に記載の内容に関することに限ります。

お問い合わせフォーム