Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版(伊藤 真)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版

Pythonで動かして学ぶ!あたらしい機械学習の教科書 第2版


形式:
書籍
発売日:
ISBN:
9784798159911
定価:
2,948(本体2,680円+税10%)
仕様:
A5・416ページ
カテゴリ:
人工知能・機械学習
キーワード:
#プログラミング,#開発手法,#データ・データベース,#ビジネスIT
シリーズ:
AI & TECHNOLOGY
紙の書籍
本書籍には新版があります
Pythonで動かして学ぶ!あたらしい機械学習の教科書 第3版

数学の基礎知識とPythonコードを紐づけて機械学習の基本を学べる!

【本書の目的】
現在、人工知能関連のプロダクト・サービスが数多く見受けられるようになりました。
人工知能関連の開発に機械学習の基礎知識は必須です。
本書はそうした機械学習の基礎知識を学びたいエンジニアに向けた書籍です。

【本書の特徴】
本書は機械学習の基本について、数学の知識をもとに、
実際にPythonでプログラムしながら学ぶことができる書籍です。
・最新のPython 3.7に対応
・学習内容を「要点整理」で復習
・数式とコードをつなげたわかりやすい解説

【読者が得られること】
本書を読み終えた後には、機械学習のしくみとプログラミング手法を理解できます。

【対象読者】
機械学習の基礎を学びたい理工学生・エンジニア

【目次】
第1章 機械学習の準備
第2章 Pythonの基本
第3章 グラフの描画
第4章 機械学習に必要な数学の基本
第5章 教師あり学習:回帰
第6章 教師あり学習:分類
第7章 ニューラルネットワーク・ディープラーニング
第8章 ニューラルネットワーク・ディープラーニングの応用(手書き数字の認識)
第9章 教師なし学習
第10章 要点のまとめ

数学の基礎知識とPythonコードを紐づけて機械学習の基本を理解できる!

本書の特徴

数式とコードをつなげたわかりやすい解説

数式とコードをつなげたわかりやすい解説

機械学習の基本について、数学の知識をもとに実際にPythonでプログラムしながら学べます。

学習内容を「要点のまとめ」で復習

学習内容を「要点のまとめ」で復習

本書の内容を最短で確認するために、重要な概念と式を最終章にまとめています。学習後の早見表としても使えます。

Python3.7に対応

Python3.7に対応

Pythonのサンプルは翔泳社のサイトでダウンロードできます。

第1章 機械学習の準備
 1.1 機械学習について
 1.2 Pythonのインストール
 1.3 Jupyter Notebook
 1.4 KerasとTensorFlowのインストール

第2章 Pythonの基本
 2.1 四則演算
 2.2 変数
 2.3 型
 2.4 print文
 2.5 list(リスト、配列変数)
 2.6 tuple(タプル)
 2.7 if文
 2.8 for文
 2.9 ベクトル
 2.10 行列
 2.11 行列(ndarray)の四則演算
 2.12 スライシング
 2.13 条件を満たすデータの書き換え
 2.14 Help
 2.15 関数
 2.16 ファイル保存

第3章 グラフの描画
 3.1 2次元のグラフを描く
 3.2 3次元のグラフを描く

第4章 機械学習に必要な数学の基本
 4.1 ベクトル
 4.2 和の記号
 4.3 積の記号
 4.4 微分
 4.5 偏微分
 4.6 行列
 4.7 指数関数と対数関数

第5章 教師あり学習:回帰
 5.1 1次元入力の直線モデル
 5.2 2次元入力の面モデル
 5.3 D次元線形回帰モデル
 5.4 線形基底関数モデル
 5.5 オーバーフィッティングの問題
 5.6 新しいモデルの生成
 5.7 モデルの選択
 5.8 まとめ

第6章 教師あり学習:分類
 6.1 1次元入力2クラス分類
 6.2 2次元入力2クラス分類
 6.3 2次元入力3クラス分類

第7章 ニューラルネットワーク・ディープラーニング
 7.1 ニューロンモデル
 7.2 ニューラルネットワークモデル
 7.3 Kerasでニューラルネットワークモデル

第8章 ニューラルネットワーク・ディープラーニングの応用(手書き数字の認識)
 8.1 MNISTデータベース
 8.2 2層フィードフォワードネットワークモデル
 8.3 ReLU活性化関数
 8.4 空間フィルター
 8.5 畳み込みニューラルネットワーク
 8.6 プーリング
 8.7 ドロップアウト
 8.8 集大成のMNIST認識ネットワークモデル

第9章 教師なし学習
 9.1 2次元入力データ
 9.2 K-means法
 9.3 混合ガウスモデル

第10章 要点のまとめ
 要点のまとめ

付属データはこちら

会員特典はこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

  • よくあるご質問

    Q:Anacondaの最新バージョンでエラーになる箇所がある
    A:本誌で指定しているAnacondaのバージョン(Anaconda3-2019.03-Windows-x86_64.exe、https://repo.anaconda.com/archive/)(以下本バージョン)であれば 以下のリスト( リスト4-5-(3) 、 リスト7-1-(10) 、 リスト7-1-(14) 、 リスト7-2-(4) 、リスト9-2-(6) )は問題なく動作しますが、新しい Anacondaの バージョン (以下新バージョン) だとエラーが出ます。
    もしエラーがでる場合は以下のように修正してください。

    Chapter4.jpynb
    ----------------------------------
    リスト4-5-(3)
    11行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.reshape(xn * xn), xx1.reshape(xn * xn)]

    リスト4-5-(3)
    14行目
    本バージョン:f = f.T
    新バージョン:上記削除

    リスト4-5-(3)
    24行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.reshape(xn * xn), xx1.reshape(xn * xn)]

    リスト4-5-(3)
    27行目
    本バージョン:f = f.T
    新バージョン:上記削除

    Chapter7.jpynb
    ----------------------------------
    リスト7-1-(10)
    8行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.reshape(xn * xn), xx1.reshape(xn * xn)]

    リスト7-1-(10)
    14行目
    本バージョン: f = f.T
    新バージョン: 上記削除

    リスト7-1-(14)
    22行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.T.reshape(xn * xn), xx1.T.reshape(xn * xn)]

    リスト7-2-(4)
    24行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.reshape(xn * xn), xx1.reshape(xn * xn)]

    リスト7-2-(4)
    30行目
    本バージョン: f = f.T
    新バージョン: 削除

    Chapter9.jpynb
    ----------------------------------
    リスト 9-2-(6)
    12行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.reshape(xn * xn), xx1.reshape(xn * xn)]

    リスト 9-2-(6)
    15行目
    本バージョン: f = f.T
    新バージョン: 削除

    リスト 9-2-(6)
    24行目
    本バージョン: x = np.c_[np.reshape(xx0, xn * xn, 1), np.reshape(xx1, xn * xn, 1)]
    新バージョン: x = np.c_[xx0.reshape(xn * xn), xx1.reshape(xn * xn)]

    リスト 9-2-(6)
    27行目
    本バージョン: f = f.T
    新バージョン: 削除
    ---------------------------------
この商品の「よくある質問」はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2022年01月24日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 064
「3.2.1 2つの変数の関数」の「In」リスト3-3-(1) 15行目(空行含む)
3刷
y = np.zeros((len(x0), len(x1))) # (C)
y = np.zeros((len(x1), len(x0))) # (C)
2022.01.24
1刷 096
「4.5.3 勾配を図で表す」の「In」リスト 4-2-(2) 22~24行目(空行含む)
3刷
ff = np.zeros((len(w0), len(w1))) dff_dw0 = np.zeros((len(w0), len(w1))) dff_dw1 = np.zeros((len(w0), len(w1)))
ff = np.zeros((len(w1), len(w0))) dff_dw0 = np.zeros((len(w1), len(w0))) dff_dw1 = np.zeros((len(w1), len(w0)))
2022.01.24
1刷 138
「4.7.8 ガウス関数」の「In」リスト4-4-(9)
2刷
# リスト 4-4-(9) def gauss(mu, sigma, a): return a * np.exp(-(x - mu)**2 /(2 * sigma**2)) x = np.linspace(-4, 4, 100) plt.figure(figsize=(4, 4)) plt.plot(x, gauss(0, 1, 1), 'black', linewidth=3) plt.plot(x, gauss(2, 2, 0.5), 'gray', linewidth=3)
# リスト 4-4-(9) def gauss(x, mu, sigma, a): return a * np.exp(-(x - mu)**2 /(2 * sigma**2)) x = np.linspace(-4, 4, 100) plt.figure(figsize=(4, 4)) plt.plot(x, gauss(x, 0, 1, 1), 'black', linewidth=3) plt.plot(x, gauss(x, 2, 2, 0.5), 'gray', linewidth=3)

2行目、下から1~2行目を修正しました。
2021.02.17
1刷 151
「5.1.2 二乗誤差関数」の「In」リスト 5-1-(6) 「# 計算」の7行目
3刷
J = np.zeros((len(w0), len(w1)))
J = np.zeros((len(w1), len(w0)))
2022.01.24
1刷 151
「5.1.2 二乗誤差関数」の「In」リスト 5-1-(6) 「# 計算」のfor文の最後の : の抜け(サンプルには入っている)
2刷

for i0 in range(len(w0))
    for i1 in range(len(w1))


for i0 in range(len(w0)):
    for i1 in range(len(w1)):

2019.09.26
1刷 156
「5.1.3 パラメータを求める(勾配法)」の「In」リスト 5-1-(9) 「# メイン」の9行目
3刷
J = np.zeros((len(w0), len(w1)))
J = np.zeros((len(w1), len(w0)))
2022.01.24
1刷 400
奥付
2刷
初版第1発行
初版第1発行
2020.06.01

感想・レビュー

z_nwd さん

2019-01-11

良き

ムック さん

2020-01-16

機械学習で理解しておくべき数学について かなりコンパクトに説明してあるので 数学が苦手な人でも退屈しないかもしれない pythonの中級を終えてから三冊目として 機械学習の初級としてさらっと概要を学ぶのにはよいかもしれない