書評『Pythonではじめる教師なし学習』の感想(オススメ本)
こんにちは!Aoneko( @blue_cats03)です。今回は『Pythonではじめる教師なし学習 ―機械学習の可能性を広げるラベルなしデータの利用』を読んだ感想とレビュー記事です。
『Pythonではじめる教師なし学習 ―機械学習の可能性を広げるラベルなしデータの利用』読了。
機械学習の分野の1つである「教師なし学習」の手法を紹介した本書は、この技術を直感的に使えるように「理論」と「ツール」をハンズオン方式にてうまく解説しています。https://t.co/4ZmAKK5w6V#人工知能— Aoneko Lab (@blue_cats03) November 17, 2020
『Pythonではじめる教師なし学習』の概要
「教師なし学習」はラベル付けされていないデータから学習する機械学習の一種です。現在の機械学習では大量のラベル付きのデータを用いる「教師あり学習」が主流ですが、ラベルを付けるには膨大なコストがかかります。現実世界に機械学習を適用していくためには、ラベル付けを必要としない「教師なし学習」の重要性が増してくると考えられます。
『Pythonではじめる教師なし学習』は、実践的な視点から、データにある隠れたパターンを特定し、異常検出や特徴量抽出・選択を行う方法を紹介しています。
複雑なAI開発には「教師なし学習」が鍵であると思っています。
例えば、人間の言語の意味を理解し人間のように自然に会話するチャットロボットを作るなど。
AI市場の数年先を見越して「教師なし学習」の知見を深めることはとても意義があることだと思います。#Pythonではじめる教師なし学習 pic.twitter.com/csZXwuMCov
— Aoneko Lab (@blue_cats03) November 17, 2020
機械学習プロジェクト
『Pythonではじめる教師なし学習』の第2章では、機械学習プロジェクトを準備し、管理する方法が記載されています。
バージョン管理:Git
Gitはプログラムコードのバージョンを管理するシステムで、『Pythonではじめる教師なし学習』のコード例はすべてJupyter Notebookの形でGitHubレポジトリから入手可能です。
公式サイト: GitHubレポジトリ(『Pythonではじめる教師なし学習』のコード例)
Gitの使い方
Frontify CEOのRoger Dudler氏の「Gitの使い方」が参考になります。
公式サイト: Gitの使い方(git - the simple guide)
Frontify CEOのRoger Dudler氏(@rogerdudler)の「Gitの使い方」がシンプルでわかりやすいですね。
レポジトリのクローンの仕方、変更の追加、コミット、プッシュの方法、ブランチによるバージョン管理などをさらっと学べます。
git - the simple guide - no deep shit! https://t.co/eYQTnpPNGU #git pic.twitter.com/RcjxHGT1u6— Aoneko Lab (@blue_cats03) November 17, 2020
scikit-learnを用いた教師なし学習
『Pythonではじめる教師なし学習』のⅡ部では、教師なし学習の2つの重要な概念である次元削減とクラスタリングについて説明し、それらを用いた異常検出とグループ分けを紹介しています。
公式サイト: scikit-learn(Pythonの機械学習ライブラリ)
TensorFlowとKerasを用いた教師なし学習
『Pythonではじめる教師なし学習』のⅢ部では、ニューラルネットワークとそのフレームワークで広く使われているTensorFlowとKerasを用いた教師なし学習を紹介しています。
TensorFlowとKerasを用いた教師なし学習
- オートエンコーダ
- オートエンコーダハンズオン
- 半教師あり学習
公式サイト: TensorFlow
公式サイト: Keras
TensorFlowとKerasを用いた深層教師なし学習
『Pythonではじめる教師なし学習』のⅣ部では、大規模なラベルなしデータセットの分野である「深層教師なし学習」に関して解説しています。
TensorFlowとKerasを用いた深層教師なし学習
- 制限付きボルツマンマシンを用いた推薦システム
- 深層信念ネットワークを用いた特徴量検出
- 敵対的生成ネットワーク
- 時系列クラスタリング
『Pythonではじめる教師なし学習』の著者Ankur A. Patel(アンクル・A・パテル)
『Pythonではじめる教師なし学習』の著者は、AI起業家として有名なAnkur A. Patel(アンクル・A・パテル)です。パテル氏の経歴などは彼のWebサイトから見ることができます。
公式サイト: Ankur A. Patel
『Pythonではじめる教師なし学習』の口コミ・評価・評判
『Pythonではじめる教師なし学習』の口コミや評価・評判を集めてみました。教師なし学習の利点や特性などを体系的に学べる書籍です。
「Pythonではじめる教師なし学習」で、「あり」と「なし」の違いというか。分析計画の中の位置づけが、さらりと整理されており、目から鱗がボロボロです!
引用: Twitter, 石塚康志氏(@yasushiishizuka)
教師あり学習と対比し、教師なし学習の利点や特性などを踏まえながら、以下の順で教師なし学習を紹介してくれている。
内容は、機械学習の基本知識をすでに理解している人向け。・scikit-learnを用いた教師なし学習
次元削減:膨大な特徴量を含んだ高次元データを、関数近似などで特徴量を残しつつ低次元に変換する
・線形射影(主成分分析(PCA)、特異点分解、ランダム射影)
・多様体学習(ISOMAO、多次元尺度構成法、局所線形埋め込み、t-sne、辞書学習...)
クラスタリング:類似性に基づいて観測点をグループ分けする・TensorFlowとkerasを用いた教師なし学習
オートエンコーダ:特徴量抽出手法の一つ
半教師あり学習:教師あり、なしの両方のメリットを組み合わせる。利用できるラベル情報を活用してデータセットの構造を明らかにして、残りのデータのラベルづけの補助ができる・TensorFlowとkerasを用いた深層教師なし学習
RBM(制限付きボルツマンマシン)による映画推薦システムの構築
DBM(Deep Belief Network:深層信念ネットワーク)の構築:複数のRBMからなる
GAN:敵対的生成ネットワーク、DCGAN
時系列クラスタリング:一つの観測点でしかなかった横断的データ以外に、時系列データを学習できる実際にgithubからソースコードをダウンロードして、クレジットカードのトランザクションデータを使って不正を検知する教師なし学習システムの構築演習を体験する事ができる。
機械学習における教師なし学習法についての一連の作業過程、分析手法の実例を勉強したい人に価値が出てくる著作だと感じた。引用: Amazon, Kyle
プログラミング関連記事
「書評『Coders』感想とレビュー」では、クライブ・トンプソン氏の書籍『Coders(コーダーズ) 凄腕ソフトウェア開発者が新しい世界をビルドする』の概要を紹介しています。
関連記事: 書評『Coders』感想とレビュー
「子供のプログラミング学習は無料のCode.orgがオススメ」では、NPO「code.org(コード・ドット・オルグ)」が提供する無料のプログラミング教材について解説しています。
関連記事: 子供のプログラミング学習は無料のCode.orgがオススメ