【本書の特徴】
● Pythonを題材として様々な言語にも応用できる汎用的なスキルを獲得できる
● 身近な例を用いているので理解しやすい
● コードの書き方からプロジェクトマネジメントまで開発に求められるすべてのスキルを網羅できる
【こんな人におすすめ】
・自分のビジネス分野にPythonを導入したい人
・Pythonをイチから学び直したいエンジニア
・Pythonで実際に開発をしてみたい人
・Pythonの入門書を読んで挫折した人
【本書の内容】
本書は、Pythonについて、基礎から実践的な知識まで幅広く学ぶことができる書籍です。
特にPythonを用いて人工知能を構築するための知識を中心に構成しています。
「やってみよう!」のページでは、Pythonのコードを書くことで、どのようなコードを書くとどのような動きになるのかを感覚的に理解できます。
また、身近なところでプログラムがどのように活かされているのか、人工知能がどのように活かされているのか、エンジニアリングや開発の考え方の基礎が身に付きます。
「学ぼう!」のページでは、本質を理解して、実際に開発の現場で活用できる知識を習得できるようにしています。
エンジニアリングだけでなく、プロジェクトマネジメントや人工知能が搭載された製品の実例なども含めているので、活きた知識を網羅的に習得できます。
【目次】
Chapter 1 プログラミングを学ぼう~プログラミングがPythonのスタート地点~
Chapter 2 プログラミング言語Pythonの特徴を学ぼう~Pythonもプログラミング言語のひとつ~
Chapter 3 人工知能の基本となる機械学習を学ぼう~機械学習の種類は豊富にある~
Chapter 4 ディープラーニングについて学ぼう~深い層のニューラルネットワークが人工知能をつくる~
Chapter 5 実践的な人工知能の構築手法を学ぼう~データは必ずしも完全ではない~
Chapter 6 人工知能を作るために扱うデータを学ぼう~どんなデータがあるのか?~
Chapter 7 Pythonを使って人工知能をつくろう~プロジェクトマネジメントを学ぶ
実際にコードを書いて試してみる部分です。「Colaboratory」という無料で利用できるサービスを利用してコードを書くことで、どのようなプログラムを書けば、どのような出力になるのかを直感的に理解できます。
オブジェクト指向や人工知能のアルゴリズムなど、汎用的な知識を学ぶ部分です。実習とベースとなる知識を行き来することで、実践的な知識の習得が期待できます。
その章のポイントをクイズ形式で振り返ることができるので、きちんと知識が身に付いているか確認できます。
Chapter 1 プログラミングを学ぼう~プログラミングがPythonのスタート地点~
1-1 プログラミングを体験してみよう
1-1-1 プログラミングは必須スキル
1-1-2 プログラミングの考え方を習得しよう
1-2 オブジェクト指向プログラミングの考え方を学ぼう
1-2-1 オブジェクト指向プログラミングとは何だろうか?
1-2-2 オブジェクト指向プログラミングの特徴であるクラスを学ぼう
1-2-3 オブジェクト指向プログラミングの特徴であるポリモーフィズムを学ぼう
1-2-4 オブジェクト指向プログラミングの特徴である継承を学ぼう
Chapter 2 プログラミング言語Pythonの特徴を学ぼう~Pythonもプログラミング言語のひとつ~
2-1 Pythonの成り立ちを学ぼう
2-1-1 プログラミング言語の歴史を学ぼう
2-1-2 オープンソースのプログラミング言語としてPythonが誕生
2-2 Pythonと他のプログラミング言語との違いを学ぼう
2-2-1 様々な思想に基づきプログラミング言語は開発されてきた
2-2-2 変数設定時に型の宣言が必要なプログラミング言語と不要なプログラミング言語
2-2-3 プログラミング言語ごとに強みがある
2-3 便利に使えるライブラリを見てみよう
2-3-1 Pythonでは様々なライブラリが開発されている
Chapter 3 人工知能の基本となる機械学習を学ぼう~機械学習の種類は豊富にある~
3-1 機械学習について知ろう
3-1-1 人工知能に関わる言葉
3-1-2 学習に関する言葉
3-1-3 人工知能は機械学習だけではない
3-2 機械学習のアルゴリズムの違いを知ろう
3-2-1 機械学習は教師あり学習と教師なし学習に分けられる
3-2-2 分類問題を解くための教師あり学習について学ぼう
3-2-3 数値データを予測する教師あり学習について学ぼう
3-2-4 新たな知見を得ることができる教師なし学習について学ぼう
Chapter 4 ディープラーニングについて学ぼう~深い層のニューラルネットワークが人工知能をつくる~
4-1 画像を扱うことが得意な畳み込みニューラルネットワークについて学ぼう
4-1-1 畳み込みニューラルネットワークの概要
4-1-2 モデル構成と各層の概要
4-1-3 ディープラーニングの学習
4-2 時系列データを扱うことが得意なリカレントニューラルネットワークについて学ぼう
4-2-1 時系列データを扱うニューラルネットワーク
4-2-2 時系列リカレントニューラルネットワークの応用とその拡張
4-3 文章解析精度を飛躍させたアテンションについて学ぼう
4-3-1 アテンションの概要
4-3-2 自然言語処理の革命児「Transformer」
4-4 画像や文章を生成しよう
4-4-1 生成系AIの種類
4-4-2 画像生成系AI「GAN」
4-4-3 テキスト生成系AI「ChatGPT」
Chapter 5 実践的な人工知能の構築手法を学ぼう~データは必ずしも完全ではない~
5-1 テキストデータの扱い方を学ぼう
5-1-1 テキスト解析に必要な処理
5-1-2 テキストを数字で扱うためのWord2vec
5-2 人工知能に関するその他の言葉
5-2-1 カテゴリ変数の扱い方
5-2-2 欠損値の処理をしてみよう
5-2-3 正規化・標準化の処理をしてみよう
5-2-4 過学習に陥らないよう訓練データとテストデータに分けて利用する
5-2-5 転移学習とファインチューニングを学ぼう
5-2-6 データ拡張を学ぼう
Chapter 6 人工知能を作るために扱うデータを学ぼう~どんなデータがあるのか?~
6-1 人工知能には様々なデータが用いられている
6-1-1 画像データを用いたサービス
6-1-2 テキストデータを用いたサービス
6-1-3 音声データを用いたサービス
6-1-4 IoTデータを用いたサービス
Chapter 7 Pythonを使って人工知能をつくろう~プロジェクトマネジメントを学ぶ
7-1 プロジェクトマネジメントを体系的に学ぼう
7-1-1 プロジェクトマネジメントとは何か?
7-1-2 ウォーターフォール型のシステム開発工程を押さえよう
7-1-3 アジャイル型に近い人工知能の開発工程