オンラインAI自習教材ガイド

著者名:比戸将平 馬場雪乃 里洋平 戸嶋龍哉 得居誠也 福島真太郎 加藤公一 関喜史 阿部巌 熊崎宏樹
価格:2462円
192ページ
出版社:技術評論社
ISBN:4774176311
発売日:2015.9.10
キーワード:機械学習,予測モデル,ニューラルネットワーク,Python,画像認識,異常検知
AIの理論の理解に役立つ ★ ★ ☆ ☆ ☆ AIの全体像を知るには有用
AIの実装(プログラミング)に役立つ ★ ★ ★ ☆ ☆ Pythonライブラリの使用方法などを学習できる
深層学習の理解に役立つ ★ ☆ ☆ ☆ ☆ 深層学習についてはあまり触れられていない
数学の難しさ ★ ★ ★ ☆ ☆ 数式を理解するには大学初年度程度の数学が必要
総合 ★ ★ ★ ☆ ☆
想定される読者
本の内容を理解するために必要な数学の知識は、高校で使用される、数学I~III, A~C の教科書に記載されている内容と偏微分の知識である。 実践をする際に必要となるプログラミングレベルは、Python プログラミングでの入力、出力、if文、for文、 関数などの初歩的なルールを難なく使えることである。
概要
データサイエンティスト養成読本の構成は学習と、実践の2部構成になっている。 学習部分では、統計学の知識や、実践部分で行うプログラミング例の理論を理解するため の数学的知識を得ることができる。 実践部分では、プログラミング言語であるPythonを主に使用し、 Pythonライブラリの使用例を実践したのちに、実践したライブラリを使用し、機械学習を実践していく。
特集2 Pythonによる機械学習入門
Numpyの関数を使用し、行列の和積、転置、変形をすることにより Numpyの基本的な使用方法について学習できる。 Scipyの関数を使用し、疎行列の演算を行い、疎行列のScipy を使用した演算手順を学習できる。 Matplotlibの関数とNumpy関数を使用し、二次関数、双曲線、折れ線、散布図のグラフの描画や、 等高線グラフの色の塗分けを行うことで、Matplotlibの使用方法が学習できる。 Sckit-learnの関数を使用し、乱数学習と相関関係の予測に教師ありの機械学習を使用した線形回帰、 ロジスティック回帰、サポートベクターマシン(SVM)のプログラミング、 乱数学習とその乱数のグループ分けに機械学習を使用したKMean法によるクラスタリングのプログラミングを実践することで、 線形回帰などのアルゴリズムやScikit-learnの使用方法を学習できる。
1. Numpy
Pythonのライブラリの一つであり、ベクトルや行列式などの数値計算を表現できる 数学関数ライブラリである。 今回の実践では行列作成演算、方眼作成、乱数作成などさまざま用途で用いられている。
2. Scipy
Pythonのライブラリの一つであり、NumPy を基礎にしており、 統計、最適化、積分、線形代数、フーリエ変換、信号・イメージ処理、遺伝的アルゴリズム、 ODE (常微分方程式) ソルバ、特殊関数、などのモジュールを提供する。 今回の実践では疎行列の演算のために使用する。
3. Matplotlib.pyplot
Pythonのライブラリの一つであり、科学計算用ライブラリNumPy のためのグラフ描画ライブラリである。 様々な種類のグラフを描画する能力を持つ。 描画できるのは主に2次元のプロットだが、3次元プロットの機能も追加されてきている。 今回の実践では等高線の描画やクラスタリング、線形回帰などの機械学習の描画にも用いられている。
4. Scikit-learn
Pythonのライブラリの一つであり、Scikit-learn はオープンソース機械学習ライブラリである。 様々な分類、回帰、クラスタリングアルゴリズムを備えており、 NumPyとSciPyとやり取りするよう設計されている。 今回の実践ではクラスタリング、線形回帰などを行う際に用いられている。
特集3 推薦システム入門
機械学習を使用した推薦システムの項目では、ベクトル表現を使用し類似度を求める評価値計算のアルゴリズムが学習でき、 評価値計算で導き出した類似度を学習させることや、類似度の高いものを予測し、 推薦することに機械学習を使用した内容ベースフィルタリングのアルゴリズムを学習することができる。 また、多次元のものの特徴を残したまま低次元にする次元削減のアルゴリズムを使用し、 低次元にすることで、より類似度の高いデータを機械学習で学習させ、 より類似度の高いデータを機械学習によって予測、推薦するアルゴリズムを学習することができる。
特集4 Pythonで画像認識にチャレンジ
Scikit-image項目では、Scikit-imageの関数を使用し画像の読み込み、 コピー、モノクロ化、領域の塗りつぶしなどの画像処理を行い Scikit-imageの使用方法について学習できる。 機械学習を使用した画像認識の項目では、画像認識アルゴリズムのテンプレートマッチング手法を使用し、 画像から切り出した画像の1部を機械学習で学習させ、 元画像のどの部分に当たるかを捜査するプログラミングを組むことで、 機械学習を使用した画像認識を学習できる。 また、物体検出のアルゴリズムを使用し、画像から局所的な明暗パターンを特徴量とし、 特徴量を機械学習で学習させ同じ部類の画像と認識させるプログラムを組むことで、 LBPのアルゴリズム、一般に使用されている顔認証などの画像認証の理論を学習できる。
・Scikit-image
Pythonのライブラリの一つであり、 Scikit-imageは画像処理に特化したライブラリである。 基本的な画像変換や、特徴抽出などができ OpenCVと機能が似ているが、 Numpy、Scipy、Matplotlib、Scikit-learn などと組み合わせやすくなっている。 今回の実践では画像処理、画像認識などを行う際に用いられている。
コメント
私が興味を持ったのは、特集2で実践する内容の一つ線形回帰プログラムである。 理由としては、特集2の実践では初級の機械学習が主となり、どの内容も魅力的ではあるが、 線形回帰プログラムの実践は比較的に理解がしやすく、 この後に機械学習を学んでいくうえで入りやすい内容であったので、線形回帰プログラムに興味を持った。 今回、読んだデータサイエンティスト養成読本は機械学習のシステムを考えるのではなく、 機械学習をアプリケーションとして使用し実際にプログラムを動かしながら学んでいくので、理解しやすかった。