search
LoginSignup
112

More than 1 year has passed since last update.

posted at

updated at

Organization

機械学習の実装とアルゴリズムをバランス良く学べる書籍を執筆しました

scikit-learnライブラリを用いて、機械学習の実装とアルゴリズムをバランス良く学んでいただく書籍を執筆しました。

41u26RsCQPL._SX394_BO1,204,203,200_.jpg

AIエンジニアを目指す人のための機械学習入門 実装しながらアルゴリズムの流れを学ぶ(電通国際情報サービス 清水琢也、小川雄太郎 、技術評論社)
https://www.amazon.co.jp/dp/4297112094/

既に発売開始しています。

機械学習の
・各種アルゴリズムの実装
・それぞれのアルゴリズムの動作の仕組み

これらを学んでみたい方に向けて執筆いたしました。

ご活用いただければ幸いです。

昨年書いた書籍

つくりながら学ぶ! PyTorchによる発展ディープラーニング(小川雄太郎、マイナビ出版)

の、機械学習版のような位置付けです。

本記事では、
・本書を書いたモチベーション
・本書の概要
・本書の目次
を紹介いたします。

本書を書いたモチベーション

本書は、同僚の清水さんと、私(小川)の共著になります。

私たちは、社内で「機械学習・AI活用の教育支援」などの業務を行っていたのですが、

その際に私が持っていた不満が、

「機械学習、scikit-learnの実装と、各種アルゴリズムの動作原理の解説を、
バランス良く書いてくれている本がないな~」

というものでした。

また、
「scikit-learnをある程度網羅した書籍で日本人が書いた本がないのが悲しいな~」
とも思っていました。

その頃は、

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

をメインに使用していました。

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

です。

●自分たちのチーム(AIテクノロジー部)に新しく配属された新卒採用や中途採用の方に、
「機械学習:scikit-learnの知識・スキルを押さえるために、まずはこの本読んで学んでください」と渡せる本を書く!

●これからビジネスの現場で機械学習に携わる方に、AI技術者としてこれだけは押さえて欲しいという各種アルゴリズムの実装、動作原理の理解ができる本を書く!

というモチベーションで本書を執筆しました。

本書の概要

本書で解説している機械学習アルゴリズムは以下の通りです。

ssss.PNG

第2章では、
線形回帰、正則化、ロジスティック回帰、
SVC(Support Vector Machine Classification)
決定木、ランダムフォレスト
Naive Bayes(ナイーブベイズ)

第3章では、
主成分分析、k-means、ガウス混合モデル

第4章では、
勾配ブースティング決定木、エルボー法とシルエット分析、t-SNE、
異常検知Novelty Detection、
異常検知Outlier Detection

そして、第5章では、
機械学習システムの構築フローおよび性能評価

について解説しています。

紙面のイメージを6ページほど抜粋します。
以下のような雰囲気です。
※2ページずつ掲載していますが、連続した2ページではありません。

s1.png

s2.png

図3.png

各アルゴリズムについて、簡単なお題で実装例を示し、その後、そのアルゴリズムの動作原理(アルゴリズムのお気持ち、心)を解説しています。

本書の目次

本書の内容、目次は以下の通りです。

基本的に、各アルゴリズムについて

  ・アルゴリズムの基本的な流れ、概要
  ・プログラムの実装と実行
  ・アルゴリズムの詳細な解説(●●アルゴリズムのこころ)
  ・終わりに

を繰り返す構成です。

目次

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

第2章 実装しながら学ぶアルゴリズムのこころ・教師あり学習編
 2.1 本章の目的と概要
 2.2 最小二乗法による線形回帰
  アルゴリズムの基本的な流れ、概要
  プログラムの実装と実行
  アルゴリズムの詳細な解説(線形回帰モデルのこころ)
  終わりに(線形回帰モデルの使用上の注意)

 ※以下、項は省略
 2.3 L1正則化、L2正則化による過学習の抑制
 2.4 ロジスティック回帰によるクラス分類
 2.5 SVCによるクラス分類
 2.6 決定木によるクラス分類
 2.7 ランダムフォレストによるクラス分類
 2.8 Naive Bayesによるテキストデータの分類

第3章 実装しながら学ぶアルゴリズムのこころ・教師なし学習編
 3.1 本章の目的と概要
 3.2 主成分分析による次元圧縮
 3.3 k-meansによるクラスタリングとデータ前処理
 3.4 ガウス混合モデル(GMM)によるクラスタリング

第4章 実装しながら学ぶアルゴリズムのこころ・発展編
 4.1 本章の目的と概要
 4.2 勾配ブースティング決定木によるクラス分類
 4.3 エルボー法とシルエット分析によるクラスタ数の探索
 4.4 t-SNEによる次元圧縮(多様体学習)
 4.5 異常検知(Novelty Detection、Outlier Detection)

第5章 機械学習システムの構築フローとモデルの性能評価
 5.1 本章の目的と概要
 5.2 ビジネス理解
 5.3 データ加工
 5.4 モデリング
 5.5 デプロイと運用

付録
 A.1 Google Colaboratoryの利用方法
 A.2 ローカルPCに機械学習の実装・実行環境を整える方法

さいごに

バリバリ機械学習をやっている人には物足りないかもしれません。

ですが、
「これからAI・機械学習の実装とアルゴリズムをきちんと学びたい!」という方に、
自信をもっておすすめできる本になるよう、清水さんとふたりで執筆しました。

ご活用いただければ幸いです。

AIエンジニアを目指す人のための機械学習入門 実装しながらアルゴリズムの流れを学ぶ(電通国際情報サービス 清水琢也、小川雄太郎 、技術評論社)

●さいごに

私の場合、書籍は基本的に業務時間外に執筆しています。

ときおり、「どうやって本を書く時間を捻出しているのか?」と聞かれます。

そのあたりの私の働き方などを、本名でQiita記事に書き始めました。

本書に合わせて、こちらの記事もご覧いただければ幸いです。

●追記

これだけですと、書籍の宣伝のようになるので、本書に合わせ、
AIエンジニアが気をつけたいPython実装のノウハウ・コツまとめ
を追記します。

記事が長くなりすぎるので、分割して以下に掲載します。
合わせてご覧いただければ幸いです。

Qiita:AIエンジニアが気をつけたいPython実装のノウハウ・コツまとめ

以上、ご一読いただき、ありがとうございました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
112