scikit-learn、Keras、TensorFlowによる実践機械学習 第2版

Book description

本書はコードを動かしながら学び、機械学習が使えるようになることを目的とした書籍です。現実的な問題を出し、サンプルデータを示しながら、機械学習で問題を解決に導くまでの一連の手法を体系立てて解説します。深層学習以外の機械学習にはscikit-learnを使い、機械学習プロジェクトの流れ、データからモデルを学習する方法、データの処理・クリーニングなどの基礎から、特徴量の選択や過学習、データの次元削減など応用までを学びます。深層学習にはTensorFlowとKerasを使い、ニューラルネットワークの構築と訓練、ニューラルネットワークアーキテクチャ、深層学習や強化学習、さらにTensorFlowの分散処理のメカニズムや実装までを幅広く解説します。

Table of contents

  1.  大扉
  2.  原書大扉
  3.  クレジット
  4.  監訳者まえがき
  5.  はじめに
  6. 第Ⅰ部 機械学習の基礎
  7.  1章 機械学習の現状
  8.   1.1 機械学習とは何か
  9.   1.2 なぜ機械学習を使うのか
  10.   1.3 応用の例
  11.   1.4 機械学習システムのタイプ
  12.    1.4.1 教師あり/教師なし学習
  13.    1.4.2 バッチ学習とオンライン学習
  14.    1.4.3 インスタンスベース学習とモデルベース学習
  15.   1.5 機械学習が抱える難問
  16.    1.5.1 訓練データ例の品質の低さ
  17.    1.5.2 現実を代表しているとは言えない訓練データ
  18.    1.5.3 品質の低いデータ
  19.    1.5.4 無関係な特徴量
  20.    1.5.5 訓練データへの過学習
  21.    1.5.6 訓練データへの過小適合
  22.    1.5.7 一歩下がって復習しよう
  23.   1.6 テストと検証
  24.    1.6.1 ハイパーパラメータの調整とモデルの選択
  25.    1.6.2 データのミスマッチ
  26.   1.7 演習問題
  27.  2章 エンドツーエンドの機械学習プロジェクト
  28.   2.1 実際のデータの操作
  29.   2.2 全体像をつかむ
  30.    2.2.1 問題の枠組みを明らかにする
  31.    2.2.2 性能指標を選択する
  32.    2.2.3 前提条件をチェックする
  33.   2.3 データを手に入れる
  34.    2.3.1 ワークスペースを作る
  35.    2.3.2 データをダウンロードする
  36.    2.3.3 データの構造をざっと見てみる
  37.    2.3.4 テストセットを作る
  38.   2.4 データを研究、可視化して理解を深める
  39.    2.4.1 地理データの可視化
  40.    2.4.2 相関を探す
  41.    2.4.3 属性の組み合わせを試してみる
  42.   2.5 機械学習アルゴリズムが処理しやすいようにデータを準備する
  43.    2.5.1 データをクリーニングする
  44.    2.5.2 テキスト/カテゴリ属性の処理
  45.    2.5.3 カスタム変換器
  46.    2.5.4 特徴量のスケーリング
  47.    2.5.5 変換パイプライン
  48.   2.6 モデルを選択して訓練する
  49.    2.6.1 訓練セットを訓練、評価する
  50.    2.6.2 交差検証を使ったよりよい評価
  51.   2.7 モデルを微調整する
  52.    2.7.1 グリッドサーチ
  53.    2.7.2 ランダムサーチ
  54.    2.7.3 アンサンブルメソッド
  55.    2.7.4 最良のモデルと誤差の分析
  56.    2.7.5 テストセットでシステムを評価する
  57.   2.8 システムを本番稼働、モニタリング、メンテナンスする
  58.   2.9 試してみよう
  59.   2.10 演習問題
  60.  3章 分類
  61.   3.1 MNIST
  62.   3.2 二項分類器の訓練
  63.   3.3 性能指標
  64.    3.3.1 交差検証を使った正解率の測定
  65.    3.3.2 混同行列
  66.    3.3.3 適合率と再現率
  67.    3.3.4 適合率と再現率のトレードオフ
  68.    3.3.5 ROC曲線
  69.   3.4 多クラス分類
  70.   3.5 誤分類の分析
  71.   3.6 多ラベル分類
  72.   3.7 多出力分類
  73.   3.8 演習問題
  74.  4章 モデルの訓練
  75.   4.1 線形回帰
  76.    4.1.1 正規方程式
  77.    4.1.2 計算量
  78.   4.2 勾配降下法
  79.    4.2.1 バッチ勾配降下法
  80.    4.2.2 確率的勾配降下法
  81.    4.2.3 ミニバッチ勾配降下法
  82.   4.3 多項式回帰
  83.   4.4 学習曲線
  84.   4.5 線形モデルの正則化
  85.    4.5.1 Ridge回帰
  86.    4.5.2 Lasso回帰
  87.    4.5.3 Elastic Net
  88.    4.5.4 早期打ち切り
  89.   4.6 ロジスティック回帰
  90.    4.6.1 確率の推計
  91.    4.6.2 訓練と損失関数
  92.    4.6.3 決定境界
  93.    4.6.4 ソフトマックス回帰
  94.   4.7 演習問題
  95.  5章 サポートベクトルマシン(SVM)
  96.   5.1 線形SVM分類器
  97.    5.1.1 ソフトマージン分類
  98.   5.2 非線形SVM分類器
  99.    5.2.1 多項式カーネル
  100.    5.2.2 類似性特徴量の追加
  101.    5.2.3 ガウスRBFカーネル
  102.    5.2.4 計算量
  103.   5.3 SVM回帰
  104.   5.4 舞台裏で行われていること
  105.    5.4.1 決定関数と予測
  106.    5.4.2 訓練の目標
  107.    5.4.3 二次計画法
  108.    5.4.4 双対問題
  109.    5.4.5 カーネル化されたSVM
  110.    5.4.6 オンラインSVM
  111.   5.5 演習問題
  112.  6章 決定木
  113.   6.1 決定木の訓練と可視化
  114.   6.2 決定木による予測
  115.   6.3 クラスの確率の推計
  116.   6.4 CART訓練アルゴリズム
  117.   6.5 計算量
  118.   6.6 ジニ不純度かエントロピーか
  119.   6.7 正則化ハイパーパラメータ
  120.   6.8 回帰
  121.   6.9 不安定性
  122.   6.10 演習問題
  123.  7章 アンサンブル学習とランダムフォレスト
  124.   7.1 投票分類器
  125.   7.2 バギングとペースティング
  126.    7.2.1 scikit-learnにおけるバギングとペースティング
  127.    7.2.2 OOB検証
  128.   7.3 ランダムパッチとランダムサブスペース
  129.   7.4 ランダムフォレスト
  130.    7.4.1 Extra-Tree
  131.    7.4.2 特徴量の重要度
  132.   7.5 ブースティング
  133.    7.5.1 アダブースト(AdaBoost)
  134.    7.5.2 勾配ブースティング
  135.   7.6 スタッキング
  136.   7.7 演習問題
  137.  8章 次元削減
  138.   8.1 次元の呪い
  139.   8.2 次元削減のための主要なアプローチ
  140.    8.2.1 射影
  141.    8.2.2 多様体学習
  142.   8.3 PCA
  143.    8.3.1 分散の維持
  144.    8.3.2 主成分
  145.    8.3.3 低次のd次元への射影
  146.    8.3.4 scikit-learnの使い方
  147.    8.3.5 因子寄与率
  148.    8.3.6 適切な次数の選択
  149.    8.3.7 圧縮のためのPCA
  150.    8.3.8 ランダム化PCA
  151.    8.3.9 逐次学習型PCA
  152.   8.4 カーネルPCA
  153.    8.4.1 カーネルの選択とハイパーパラメータの調整
  154.   8.5 LLE
  155.   8.6 その他の次元削減テクニック
  156.   8.7 演習問題
  157.  9章 教師なし学習のテクニック
  158.   9.1 クラスタリング
  159.    9.1.1 K平均法
  160.    9.1.2 K平均法の限界
  161.    9.1.3 画像セグメンテーションとしてのクラスタリング
  162.    9.1.4 前処理のためのクラスタリング
  163.    9.1.5 半教師あり学習の一部としてのクラスタリング
  164.    9.1.6 DBSCAN
  165.    9.1.7 その他のクラスタリングアルゴリズム
  166.   9.2 混合ガウスモデル
  167.    9.2.1 混合ガウスモデルを使った異常検知
  168.    9.2.2 クラスタ数の選択
  169.    9.2.3 混合ベイズガウスモデル
  170.    9.2.4 異常/新規検知のためのその他のアルゴリズム
  171.   9.3 演習問題
  172. 第Ⅱ部 ニューラルネットワークと深層学習
  173.  10章 人工ニューラルネットワークとKerasの初歩
  174.   10.1 生物学的なニューロンから人工ニューロンへ
  175.    10.1.1 生物学的ニューロン
  176.    10.1.2 ニューロンによる論理演算
  177.    10.1.3 パーセプトロン
  178.    10.1.4 MLPとバックプロパゲーション
  179.    10.1.5 回帰MLP
  180.    10.1.6 分類MLP
  181.   10.2 KerasによるMLPの実装
  182.    10.2.1 TensorFlow 2のインストール
  183.    10.2.2 シーケンシャルAPIを使った画像分類器の構築
  184.    10.2.3 シーケンシャルAPIを使った回帰MLPの構築
  185.    10.2.4 関数型APIを使った複雑なモデルの構築
  186.    10.2.5 サブクラス化APIを使ったダイナミックなモデルの構築
  187.    10.2.6 モデルの保存と復元
  188.    10.2.7 コールバックの使い方
  189.    10.2.8 TensorBoardを使った可視化
  190.   10.3 ニューラルネットワークのハイパーパラメータの微調整
  191.    10.3.1 隠れ層の数
  192.    10.3.2 隠れ層あたりのニューロン数
  193.    10.3.3 学習率、バッチサイズ、その他のハイパーパラメータ
  194.   10.4 演習問題
  195.  11章 深層ニューラルネットワークの訓練
  196.   11.1 勾配消失/爆発問題
  197.    11.1.1 GlorotとHeの初期値
  198.    11.1.2 飽和しない活性化関数
  199.    11.1.3 バッチ正規化
  200.    11.1.4 勾配クリッピング
  201.   11.2 事前学習済みの層の再利用
  202.    11.2.1 Kerasによる転移学習
  203.    11.2.2 教師なし事前学習
  204.    11.2.3 関連タスクの事前学習
  205.   11.3 オプティマイザの高速化
  206.    11.3.1 モーメンタム最適化
  207.    11.3.2 NAG
  208.    11.3.3 AdaGrad
  209.    11.3.4 RMSProp
  210.    11.3.5 Adam、Nadam最適化
  211.    11.3.6 学習率のスケジューリング
  212.   11.4 正則化による過学習の防止
  213.    11.4.1 l1、l2正則化
  214.    11.4.2 ドロップアウト
  215.    11.4.3 モンテカルロ(MC)ドロップアウト
  216.    11.4.4 重み上限正則化
  217.   11.5 まとめと実践的なガイドライン
  218.   11.6 演習問題
  219.  12章 TensorFlowで作るカスタムモデルとその訓練
  220.   12.1 TensorFlow弾丸旅行
  221.   12.2 TensorFlowのNumPyのような使い方
  222.    12.2.1 テンソルとそのオペレーション
  223.    12.2.2 テンソルとNumPy
  224.    12.2.3 型変換
  225.    12.2.4 変数
  226.    12.2.5 その他のデータ構造
  227.   12.3 モデルと訓練アルゴリズムのカスタマイズ
  228.    12.3.1 カスタム損失関数
  229.    12.3.2 カスタムコンポーネントを含むモデルの保存とロード
  230.    12.3.3 カスタム活性化関数、初期化子、正則化器、制約
  231.    12.3.4 カスタム指標
  232.    12.3.5 カスタムレイヤ
  233.    12.3.6 カスタムモデル
  234.    12.3.7 損失や指標にモデルの内部状態を反映させる方法
  235.    12.3.8 自動微分を使った勾配の計算
  236.    12.3.9 カスタム訓練ループ
  237.   12.4 TensorFlow関数とグラフ
  238.    12.4.1 自動グラフとトレーシング
  239.    12.4.2 TF関数のルール
  240.   12.5 演習問題
  241.  13章 TensorFlowによるデータのロードと前処理
  242.   13.1 データAPI
  243.    13.1.1 変換の連鎖
  244.    13.1.2 データのシャッフル
  245.    13.1.3 データの前処理
  246.    13.1.4 1つにまとめる
  247.    13.1.5 プリフェッチ
  248.    13.1.6 tf.kerasのもとでのデータセットの使い方
  249.   13.2 TFRecord形式
  250.    13.2.1 TFRecordファイルの圧縮
  251.    13.2.2 プロトコルバッファ入門
  252.    13.2.3 TensorFlow Protobuf
  253.    13.2.4 Exampleのロードとパース
  254.    13.2.5 SequenceExample protobufを使ったリストのリストの処理
  255.   13.3 入力特徴量の前処理
  256.    13.3.1 ワンホットベクトルを使ったカテゴリ特徴量のエンコード
  257.    13.3.2 埋め込みを使ったカテゴリ特徴量のエンコード
  258.    13.3.3 Kerasの前処理層
  259.   13.4 TF Transform
  260.   13.5 TFDSプロジェクト
  261.   13.6 演習問題
  262.  14章 畳み込みニューラルネットワークを使った深層コンピュータビジョン
  263.   14.1 視覚野のアーキテクチャ
  264.   14.2 畳み込み層
  265.    14.2.1 フィルタ
  266.    14.2.2 複数の特徴量マップの積み上げ
  267.    14.2.3 TensorFlowとKerasによる実装
  268.    14.2.4 メモリ要件
  269.   14.3 プーリング層
  270.    14.3.1 KerasとTensorFlowによる実装
  271.   14.4 CNNのアーキテクチャ
  272.    14.4.1 LeNet-5
  273.    14.4.2 AlexNet
  274.    14.4.3 GoogLeNet
  275.    14.4.4 VGGNet
  276.    14.4.5 ResNet
  277.    14.4.6 Xception
  278.    14.4.7 SENet
  279.   14.5 Kerasを使ったResNet-34 CNNの実装
  280.   14.6 Kerasで事前学習済みモデルを使う方法
  281.   14.7 事前学習済みモデルを使った転移学習
  282.   14.8 分類と位置特定
  283.   14.9 物体検知
  284.    14.9.1 全層畳み込みネットワーク
  285.    14.9.2 YOLO(You Only Look Once)
  286.   14.10 セマンティックセグメンテーション
  287.   14.11 演習問題
  288.  15章 RNNとCNNを使ったシーケンスの処理
  289.   15.1 再帰ニューロンとレイヤ
  290.    15.1.1 記憶セル
  291.    15.1.2 入出力シーケンス
  292.   15.2 RNNの訓練
  293.   15.3 時系列データの予測
  294.    15.3.1 ベースライン指標
  295.    15.3.2 単純なRNNの実装
  296.    15.3.3 深層RNN
  297.    15.3.4 複数のタイムステップ後の予測
  298.   15.4 長いシーケンスの処理
  299.    15.4.1 不安定な勾配問題への対処
  300.    15.4.2 短期記憶問題への対処
  301.   15.5 演習問題
  302.  16章 RNNと注意機構による自然言語処理
  303.   16.1 文字RNNを使ったシェイクスピア風テキストの生成
  304.    16.1.1 訓練セットの作り方
  305.    16.1.2 シーケンシャルデータセットの分割方法
  306.    16.1.3 シーケンシャルデータセットの複数のウィンドウへの分割
  307.    16.1.4 文字RNNモデルの構築と訓練
  308.    16.1.5 文字RNNモデルの使い方
  309.    16.1.6 シェイクスピア風の偽文書の生成
  310.    16.1.7 ステートフルRNN
  311.   16.2 感情分析
  312.    16.2.1 マスキング
  313.    16.2.2 事前学習済みの埋め込みの再利用
  314.   16.3 ニューラル機械翻訳のためのエンコーダ-デコーダ・ネットワーク
  315.    16.3.1 双方向RNN
  316.    16.3.2 ビームサーチ
  317.   16.4 注意機構
  318.    16.4.1 ビジュアル注意
  319.    16.4.2 必要なものは注意だけ:Transformerアーキテクチャ
  320.   16.5 言語モデルにおける最近のイノベーション
  321.   16.6 演習問題
  322.  17章 オートエンコーダとGANを使った表現学習と生成型学習
  323.   17.1 効率のよいデータ表現
  324.   17.2 不完備線形オートエンコーダによるPCA
  325.   17.3 スタックオートエンコーダ
  326.    17.3.1 Kerasによるスタックオートエンコーダの実装
  327.    17.3.2 再構築の可視化
  328.    17.3.3 Fashion MNISTデータセットの可視化
  329.    17.3.4 スタックオートエンコーダを使った教師なし事前学習
  330.    17.3.5 重みの均等化
  331.    17.3.6 オートエンコーダの層ごとの訓練
  332.   17.4 畳み込みオートエンコーダ
  333.   17.5 再帰型オートエンコーダ
  334.   17.6 ノイズを除去するオートエンコーダ
  335.   17.7 スパース・オートエンコーダ
  336.   17.8 変分オートエンコーダ(VAE)
  337.    17.8.1 Fashion MNIST風の画像の生成
  338.   17.9 GAN
  339.    17.9.1 GANの訓練の難しさ
  340.    17.9.2 深層畳み込みGAN
  341.    17.9.3 PGGAN(Progressive Growing of GANs)
  342.    17.9.4 StyleGAN
  343.   17.10 演習問題
  344.  18章 強化学習
  345.   18.1 報酬の最大化の学習
  346.   18.2 方策探索
  347.   18.3 OpenAI Gym入門
  348.   18.4 ニューラルネットワークによる方策
  349.   18.5 行動の評価:信用割当問題
  350.   18.6 方策勾配法
  351.   18.7 マルコフ決定過程
  352.   18.8 TD学習
  353.   18.9 Q学習
  354.    18.9.1 探索方策
  355.    18.9.2 近似Q学習と深層Q学習
  356.   18.10 深層DQNの実装
  357.   18.11 深層Q学習のバリアント
  358.    18.11.1 ターゲットQ値の固定化
  359.    18.11.2 ダブルDQN
  360.    18.11.3 優先度付き経験再生
  361.    18.11.4 Dueling DQN
  362.   18.12 TF-Agentsライブラリ
  363.    18.12.1 TF-Agentsのインストール
  364.    18.12.2 TF-Agents環境
  365.    18.12.3 環境の仕様
  366.    18.12.4 環境ラッパーとアタリ前処理
  367.    18.12.5 訓練のアーキテクチャ
  368.    18.12.6 DQNの作り方
  369.    18.12.7 DQNエージェントの作り方
  370.    18.12.8 再生バッファと対応するオブザーバの作り方
  371.    18.12.9 訓練指標の作り方
  372.    18.12.10 ドライバの作り方
  373.    18.12.11 データセットの作り方
  374.    18.12.12 訓練ループの作り方
  375.   18.13 広く使われているRLアルゴリズム
  376.   18.14 演習問題
  377.  19章 大規模なTensorFlowモデルの訓練とデプロイ
  378.   19.1 TensorFlowモデルのサーブ
  379.    19.1.1 TF Servingの使い方
  380.    19.1.2 GCP AI Platform上での予測サービスの作成
  381.    19.1.3 予測サービスの使い方
  382.   19.2 モバイル/組み込みデバイスへのモデルのデプロイ
  383.   19.3 GPUを使った計算のスピードアップ
  384.    19.3.1 自前のGPU
  385.    19.3.2 GPU装着仮想マシン
  386.    19.3.3 Colaboratory
  387.    19.3.4 GPU RAMの管理
  388.    19.3.5 オペレーション、変数のデバイスへの配置
  389.    19.3.6 複数のデバイスにまたがる並列実行
  390.   19.4 複数のデバイスによるモデルの訓練
  391.    19.4.1 モデル並列
  392.    19.4.2 データ並列
  393.    19.4.3 Distribution Strategy APIを使った大規模な訓練
  394.    19.4.4 TensorFlowクラスタによるモデルの訓練
  395.    19.4.5 Google Cloud AI Platformでの大規模な訓練ジョブの実行
  396.    19.4.6 AI Platform上でのブラックボックス型のハイパーパラメータ調整サービス
  397.   19.5 演習問題
  398.   19.6 ありがとう!
  399.  付録A 演習問題の解答
  400.   A.1 1章:機械学習の現状
  401.   A.2 2章:エンドツーエンドの機械学習プロジェクト
  402.   A.3 3章:分類
  403.   A.4 4章:モデルの訓練
  404.   A.5 5章:サポートベクトルマシン(SVM)
  405.   A.6 6章:決定木
  406.   A.7 7章:アンサンブル学習とランダムフォレスト
  407.   A.8 8章:次元削減
  408.   A.9 9章:教師なし学習のテクニック
  409.   A.10 10章:人工ニューラルネットワークとKerasの初歩
  410.   A.11 11章:深層ニューラルネットワークの訓練
  411.   A.12 12章:TensorFlowで作るカスタムモデルとその訓練
  412.   A.13 13章:TensorFlowによるデータのロードと前処理
  413.   A.14 14章:畳み込みニューラルネットワークを使った深層コンピュータビジョン
  414.   A.15 15章:RNNとCNNを使ったシーケンスの処理
  415.   A.16 16章:RNNと注意機構による自然言語処理
  416.   A.17 17章:オートエンコーダとGANを使った表現学習と生成型学習
  417.   A.18 18章:強化学習
  418.   A.19 19章:大規模なTensorFlowモデルの訓練とデプロイ
  419.  付録B 機械学習プロジェクトチェックリスト
  420.   B.1 問題の枠組みと全体像をつかむ
  421.   B.2 データを手に入れる
  422.   B.3 データを研究する
  423.   B.4 データを準備する
  424.   B.5 有望なモデルを絞り込む
  425.   B.6 システムを微調整する
  426.   B.7 ソリューションをプレゼンテーションする
  427.   B.8 本番稼働!
  428.  付録C SVM双対問題
  429.  付録D 自動微分
  430.   D.1 手計算による微分
  431.   D.2 有限差分近似
  432.   D.3 フォワードモード自動微分
  433.   D.4 リバースモード自動微分
  434.  付録E その他の広く知られているANNアーキテクチャ
  435.   E.1 ホップフィールドネットワーク
  436.   E.2 ボルツマンマシン
  437.   E.3 制限付きボルツマンマシン
  438.   E.4 DBN
  439.   E.5 自己組織化マップ
  440.  付録F 特殊なデータ型
  441.   F.1 文字列
  442.   F.2 不調和テンソル
  443.   F.3 疎テンソル
  444.   F.4 テンソル配列
  445.   F.5 集合
  446.   F.6 キュー
  447.  付録G TensorFlowグラフ
  448.   G.1 TF関数と具象関数
  449.   G.2 関数定義とグラフの調べ方
  450.   G.3 トレーシングの詳細
  451.   G.4 自動グラフによるダイナミックループ
  452.   G.5 TF関数における変数、その他のリソースの処理
  453.   G.6 tf.kerasのもとでTF関数を使うか否かの指定方法
  454.  著者紹介
  455.  奥付

Product information

  • Title: scikit-learn、Keras、TensorFlowによる実践機械学習 第2版
  • Author(s): Aurélien Géron, 下田 倫大, 長尾 高弘
  • Release date: October 2020
  • Publisher(s): O'Reilly Japan, Inc.
  • ISBN: 9784873119281

You might also like

book

仕事ではじめる機械学習 第2版

by 有賀 康顕, 中山 心太, 西林 孝

2018年の発行以来、多くの読者に支持された書籍を全面改訂! 不確実性の高い機械学習プロジェクトについて、「仕事で使う」という観点から整理するコンセプトはそのままに、初版の発行後に登場した概念や課題を取り上げます。「機械学習でいい感じにしてくれ」と突然上司に言われたとき、本書で学んだことが読者の力になるはずです。本書で得た知識は読者が「いま」困っている問題を解決する助けとなるでしょう。 第2版では、機械学習システムの開発と運用の統合する「ML Ops」、機械学習モデルを解釈し、その妥当性や根拠を明らかにする「機械学習モデルの検証」、ユーザーの行動を学習しながら予測を進める「バンディットアルゴリズム」、意思決定における予測システムの役割や意思決定のデザインを扱う「オンライン広告での機械学習」といった新章を追加しています。

book

Pythonではじめる機械学習 ―scikit-learnで学ぶ特徴量エンジニアリングと機械学習の基礎

by Andreas C. Muller, Sarah Guido, 中田 秀基

Pythonの機械学習用ライブラリの定番、scikit-learnのリリースマネージャを務めるなど開発に深く関わる著者が、scikit-learnを使った機械学習の方法を、ステップバイステップで解説します。ニューラルネットを学ぶ前に習得しておきたい機械学習の基礎をおさえるとともに、優れた機械学習システムを実装し精度の高い予測モデルを構築する上で重要となる「特徴量エンジニアリング」と「モデルの評価と改善」について多くのページを割くなど、従来の機械学習の解説書にはない特長を備えています。

book

プログラミングRust 第2版

by Jim Blandy, Jason Orendorff, Leonora F. S. Tindall, 中田 秀基

次世代ブラウザ開発用にMozillaによって開発されたRustは、C/C++並みのパフォーマンスと低レベルの制御能力に加え、メモリとスレッドの安全性を担保し、さらに並行性にも優れるといった特徴を持つ、優秀な言語です。本書はMozillaで実際にRustを使ってFirefoxを開発している著者らによる、言語の概要と用途について解説する書籍で、Rustのほとんどの機能を詳細にカバーします。Rustのメジャーバージョンアップにより非同期処理が可能となったことに対応し、第2版では新たに非同期処理の章を設け、この機能を詳細に解説しています。Rust 2021対応。

book

バイオインフォマティクスデータスキル ―オープンソースツールを使ったロバストで再現性のある研究

by Vince Buffalo, 片山 俊明, 川島 秀一, 鈴木 治夫, 山本 泰智, 酒匂 寛, 山村 吉信

バイオインフォマティクス(生命情報科学)とは、コンピュータによる情報解析の手法を生物学の問題に応用する学問のことを指します。本書は、基本的なプログラミングに関する知識を持ったバイオ研究者を対象に、“ロバストで再現性のある研究”のため、複雑で大規模な配列データから意味を抽出し、探索するための技術を解説します。データを処理する方法としてPython、R、Gitなどのオー プンソースツールを用いるため、次世代のデータにも適用できます。近年、ニーズが高まりつつあるバイオ分野において不可欠なデータ処理技術のすべてがこの一冊に詰まっています。