書籍概要

Software Design plus

AIエンジニアを目指す人のための 機械学習入門 実装しながらアルゴリズムの流れを学ぶ

著者
発売日
更新日

概要

機械学習はAI(人工知能)の基礎技術です。今後AIの利活用が進むにつれて、機械学習をコンピュータシステムに組み込んでビジネスに活用できる人材(本書ではAIエンジニアと呼称します)がますます求められます。
機械学習には目的に応じたいくつかの手法が存在します。それらの手法を正しく使えるようになるために、本書はAIエンジニアが理解しておきたいレベルの深さで、各手法のアルゴリズム(動作原理)を丁寧に解説します。とくにアルゴリズムの目的や意味を理解できることをめざします。(アルゴリズムの背景にある高度な数学・統計学の理論についての説明は必要最小限にとどめ、)まずはプログラムを書いて動かし、その結果を見ながらアルゴリズムの長所・短所や、性能をチューニングするためのコツを学びます。
機械学習プログラムの作成には、プログラミング言語「Python」と機械学習ライブラリ「scikit-learn」を使用します。作成したプログラムは、クラウドサービス「Google Colaboratory」や手元のパソコンに構築する「Jupyter Notebook」の環境で簡単に動かせます。

こんな方におすすめ

  • 機械学習・AI(人工知能)技術を学ぶエンジニアや学生
  • これから機械学習システムの開発に携わる人

サンプル

samplesamplesamplesample

目次

第1章 機械学習の概要と本書の進め方

  • 1.1 本章の目的と概要
  • 1.2 機械学習の概要と3つの分類
    • 従来の人工知能型システムと機械学習システムの違い
    • 機械学習の3つの分類(教師あり学習,教師なし学習,強化学習)
  • 1.3 機械学習の各手法の動作原理(アルゴリズム)を学ぶ意義
  • 1.4 機械学習の勉強方法
    • 機械学習に必要な知識・スキル
    • 機械学習の勉強を効率的に進めるコツ
  • 1.5 本書で使用するライブラリと実行環境
    • 機械学習を実装する環境を整える方法

第2章 実装しながら学ぶアルゴリズムのこころ・教師あり学習編

  • 2.1 本章の目的と概要
  • 2.2 最小二乗法による線形回帰
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(線形回帰モデルのこころ)
    • 終わりに(線形回帰モデルの使用上の注意)
  • 2.3 L1正則化,L2正則化による過学習の抑制
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(正則化モデルのこころ)
    • 終わりに(L1正則化とL2正則化の使い分け)
  • 2.4 ロジスティック回帰によるクラス分類
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(ロジスティック回帰のこころ)
    • 終わりに
  • 2.5 SVCによるクラス分類
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(LinearSVCのこころ)
    • 終わりに
  • 2.6 決定木によるクラス分類
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(決定木のこころ)
    • 終わりに
  • 2.7 ランダムフォレストによるクラス分類
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(ランダムフォレストのこころ)
    • 終わりに(ランダムフォレストの使用上の注意)
  • 2.8 Naive Bayesによるテキストデータの分類
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(Naive Bayesのこころ)
    • 終わりに

第3章 実装しながら学ぶアルゴリズムのこころ・教師なし学習編

  • 3.1 本章の目的と概要
  • 3.2 主成分分析による次元圧縮
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(主成分分析のこころ)
    • 終わりに
  • 3.3 k-meansによるクラスタリングとデータ前処理
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(k-meansのこころ)
    • 終わりに
  • 3.4 ガウス混合モデル(GMM)によるクラスタリング
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(ガウス混合モデルのこころ)
    • 終わりに

第4章 実装しながら学ぶアルゴリズムのこころ・発展編

  • 4.1 本章の目的と概要
  • 4.2 勾配ブースティング決定木によるクラス分類
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(勾配ブースティング決定木のこころ)
    • 終わりに
  • 4.3 エルボー法とシルエット分析によるクラスタ数の探索
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行(エルボー法)
    • アルゴリズムの詳細な解説(エルボー法のこころ)
    • プログラムの実装と実行(シルエット分析)
    • アルゴリズムの詳細な解説(シルエット分析のこころ)
    • 終わりに
  • 4.4 t-SNEによる次元圧縮(多様体学習)
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行
    • アルゴリズムの詳細な解説(t-SNEのこころ)
    • 終わりに
  • 4.5 異常検知(Novelty Detection,Outlier Detection)
    • アルゴリズムの基本的な流れ,概要
    • プログラムの実装と実行(Novelty Detection:特異点検知)
    • プログラムの実装と実行(Outlier Detection:外れ値検知)
    • 終わりに

第5章 機械学習システムの構築フローとモデルの性能評価

  • 5.1 本章の目的と概要
  • 5.2 ビジネス理解
    • 目的の明確化
    • 業務フローの作成
    • データの検討
    • 目標設定
  • 5.3 データ加工
    • データチェック
    • データクリーニング
    • データ前処理
  • 5.4 モデリング
    • アルゴリズム策定
    • 特徴量エンジニアリング
    • データ分割
    • 学習と評価
  • 5.5 デプロイと運用
    • システムへの組み込み
    • システム性能の検証
    • ハンドオフ
    • 運用・保守
    • 終わりに

付録

  • A.1 Google Colaboratoryの利用方法
    • サンプルコード(既存のipynbファイル)の利用
  • A.2 ローカルPCに機械学習の実装・実行環境を整える方法
    • Python実行環境Anacondaのインストール
    • 機械学習に必要なライブラリのインストール
    • Jupyter Notebookのインストールと起動
    • サンプルコード(既存のipynbファイル)の利用
    • ノートブックの保存とシャットダウン

サポート

ダウンロード

(2020年3月27日更新)

本書内に掲載しているサンプルコードを以下からダウンロードできます。「SampleCode.zip」は圧縮ファイルです。解凍したうえでご利用ください。

サンプルコードの詳細については,圧縮ファイル内の「Readme.txt」を参照してください。

ダウンロード
サンプルコード(SampleCode.zip)

免責:本サンプルを使用することによって,使用者が受けたあらゆる不利益に対して,原著者および技術評論社はその責任を負いません。

商品一覧