AI・データサイエンスのための 図解でわかる数学プログラミング | ||
---|---|---|
数学的知識を武器に ビジネス現場で活躍するために 昨今、AIやデータサイエンスが広まったことにより、これらを用いたシステムやツールが世に出回っています。日々新しく開発される仕組みをビジネスに取り入れようとしてみても、その仕組みがどのようなもので、他のものと比べて何が違うのか、自らのビジネスにどういった価値を生み出してくれるのかがなかなか整理できるようになりません。この原因は、数学的視点からビジネスを俯瞰すると明らかです。 1つのシステムやツールは、数ある数学の中のうちの一部の仕組みを利用して開発されます。そのため、他にどのような仕組みがあり、今目の前のシステムやツールが他のものとどのように異なるかについては、一部の数学だけを見ても把握できません。数学の全体像を把握したうえで、あらためて、目の前のシステムやツールを位置づけてはじめて、それがどのようなもので、どういった価値があるのか、また、どのように利用するものなのかが見えてくるのです。 この問題は、数学を一部の分野から見ても起こります。ためしに、数学をビジネスに取り入れようとして、書店の数学コーナーに足を運んでみてください。そこには、細分化されたそれぞれの分野の専門書がずらりと並んでいることに気づくはずです。「統計学」や「深層学習」など、それぞれの分野については非常に詳しく書かれており、中には、実際のビジネスの一例を扱ったものもあります。しかしながら、ビジネスの視点から、その全体像について解説したもの、あるいはそのヒントになるものは、なかなか見当たりません。 本書における目次は、まさにビジネスの視点から数学を大雑把に括ったものであり、ビジネスの現場において数学を武器にして活躍している人たちの頭の中を描いたものです。 たとえば、分析したいデータがすでに存在する場合、それが時系列の形で整っていれば、第一部で解説する確率統計や機械学習が利用できることが多いです。一方、画像や音声など、確率統計や機械学習を直ちに利用できないデータがある場合は、第四部の深層学習が利用できます。また、最適化したいものがある場合は、第二部で解説する数理最適化とそのプロセスが役に立ちます。 また、将来を予測したり、予測した結果をプレゼンテーションしたりする場合は、第三部の数値シミュレーションが活用できます。数学を武器としてシステム開発やデータの分析を行う人は、実際には、これらの知識を組み合わせながら、場合によってはこれらの知識を土台にして、専門書を参考にして最新の仕組みを読み解きながら、その場その場で適切な手法を適用しているのです。 この全体像を頭においたうえで、新しいシステムやツールを位置付けていけば、ビジネスマンやエンジニアの皆さん自身の手で、目の前のビジネスにおいて何を活用すべきか、また、どのようなものを新たに開発すべきかが見えてくるでしょう。 (本書より) |
||
著者:松田雄馬・露木宏志・千葉彌平 A5・512ページ・2色 定価:3,278円(本体:2,980円) ISBN978-4-8007-1281-3 | ||
本の購入はこちらからどうぞ | ||
電子書籍の購入はこちらからどうぞ | ||
Amazon Kindle / Kobo / honto / Reader Store / iBooks / Kinoppy | ||
サポートページへ | ||
序章 Python開発環境を設定してみよう
※お使いのブラウザでJavaScriptが無効の場合は機能しません。
Prologue 1 Google Colaboratoryを使ってみよう Prologue 2 Anacondaをダウンロードして開発環境を作ってみよう Prologue 3 Pythonによるプログラミングを体験してみよう Prologue 4 ファイルをアップロードしてみよう 第一部 確率統計・機械学習編 第1章 データを手にしてまず行うべきこと 1-1 データを読み込んでみよう 1-2 時系列データを可視化してみよう 1-3 平均値、中央値、最小値、最大値を出力してみよう 1-4 分布の形を見てみよう 1-5 分布の近似曲線を求めてみよう 1-6 プランごとにデータを抽出してみよう 1-7 大口顧客の行動を分析してみよう 1-8 感染症流行前後の顧客の行動を分析してみよう 1-9 条件による顧客の分類をしてみよう 1-10 条件にあった顧客をリストアップしよう 第2章 機械学習を使った分析を行ってみよう 2-1 顧客の行動パターンの類似度を計算しよう 2-2 類似度と機械学習との関係を知ろう 2-3 大口顧客の類似性を主成分分析によって確認しよう 2-4 大口顧客の行動パターンを時系列によって確かめよう 2-5 大口顧客同士の行動パターンの違いをクラスタリングによって可視化しよう 2-6 決定木によって行動の原因を推定してみよう 2-7 決定木の分類結果を可視化し、分類精度を評価しよう 2-8 予測の精度を評価する流れを理解しよう 2-9 さまざまな分類アルゴリズムを比較しよう 2-10 サポートベクトル回帰によって時系列予測をしてみよう 第3章 必要なデータ数を検討しよう 3-1 統計値をシミュレーションしてみよう 3-2 中心極限定理について知ろう 3-3 一ヶ月のデータを正確に取ってみよう 3-4 一ヶ月分のデータから二年分のデータの平均・標準偏差を推定しよう 3-5 標準偏差と信頼度の関係を知ろう 3-6 宿泊者数との相関関係を仮定して被害額の推移を推測しよう 3-7 年間の被害総額とその信頼区間を推定しよう 3-8 安価なアメニティに絞り込んで、二年分のデータの平均・標準偏差を推定し直そう 3-9 安価なアメニティに絞り込んだ結果の二年間の被害額の推移に信頼区間を設定しよう 3-10 二年分のデータによる「答え合わせ」をしてみよう 第二部 数理最適化編 第4章 最適ルート探索問題を題材にした最適化問題を解く方法 4-1 数理最適化問題の解き方を理解しよう 4-2 数理最適化の出発点である「定式化」を理解しよう 4-3 全探索を行ってみよう 4-4 アルゴリズムによる問題の解き方を理解しよう 4-5 動的計画法によって厳密解を求める方法を学ぼう 4-6 動的計画法のソースコードを理解しよう 4-7 近似解を求めるというアプローチを学ぼう 4-8 最近傍法によって近似解を求めよう 4-9 遺伝アルゴリズムを用いて近似解を求める方法を学ぼう 4-10 遺伝アルゴリズムのソースコードを理解しよう 第5章 シフトスケジューリング問題を中心にした最適化問題の全体像 5-1 最適化問題の種類を知ろう 5-2 ソルバーを利用して線形最適化問題を解いてみよう 5-3 非線形最適化問題を解いてみよう 5-4 日雇いアルバイトのシフトを自動で決める方法について検討してみよう 5-5 シフト希望をグラフネットワークで可視化する方法を学ぼう 5-6 マッチング問題を最大流問題に帰着させる方法を学ぼう 5-7 最大流問題を解くためのパーツ「幅優先探索」を理解しよう 5-8 最大流問題を解くためのパーツ「深さ優先探索」を理解しよう 5-9 最大流問題を解いてみよう 5-10 最大流問題を応用して、マッチング問題を解いてみよう 第三部 数値シミュレーション編 第6章 感染症の影響を予測してみよう 6-1 イメージで理解する感染症モデル 6-2 感染症モデルを理解するためのねずみ算 6-3 ねずみ算のパラメータを変化させ、直感的な理解をしてみよう 6-4 実際の生物や社会の現象を説明するロジスティック方程式 6-5 ロジスティック方程式のパラメータを変化させ、直感的な理解をしてみよう 6-6 生物間や競合他社との競争を説明するロトカボルテラ方程式(競争系) 6-7 ロトカボルテラ方程式(競争系)のパラメータを変化させ、直感的な理解をしてみよう 6-8 他生物種や他社との共生関係を説明するロトカボルテラ方程式(捕食系) 6-9 ロトカボルテラ方程式(捕食系)のパラメータを変化させ、直感的な理解をしてみよう 6-10 微分方程式を復習しながら、映画や商品のヒットを予測する方法を考えよう 第7章 人の動きをアニメーションのようにシミュレーションしたい 7-1 人の移動をシミュレーションしてみよう 7-2 緊急時の避難行動をシミュレーションしてみよう 7-3 それぞれの人の移動の様子を可視化してみよう 7-4 噂の広まりはシミュレーションできるの? 7-5 経路によって変わる噂や口コミの様子を確認してみよう 7-6 どれだけ噂が広がったか、その浸透度合いをグラフにしてみよう 7-7 人間関係のネットワークを可視化してみよう 7-8 人間関係のネットワークの成長の様子を可視化してみよう 7-9 ネットワークを分析してみよう 7-10 微分方程式を差分化する際の誤差とその対策について知っておこう 第四部 深層学習編 第8章 深層学習による画像認識とその仕組みを知ろう 8-1 深層学習って何ができるの? 8-2 深層学習はどうやって動くの? 8-3 深層学習の「学習」はどうやって進むの? 8-4 深層学習ライブラリを使って直線グラフを予測してみよう 8-5 深層学習ライブラリを使って曲線グラフを予測してみよう 8-6 学習データとしての画像の構造を理解しよう 365 8-7 深層学習ライブラリを使ってゼロから画像データを学習してみよう 8-8 学習した結果を評価しよう 8-9 学習したネットワークが見ている「特徴」を可視化してみよう 8-10 学習したネットワークの中身を可視化してみよう 第9章 深層学習によって時系列を扱う仕組みを知ろう 9-1 RNNの基礎を理解しよう 9-2 RNNを使ってsin波を予測してみよう 9-3 予測した結果を評価してみよう 9-4 CNNを用いてsin波を予測してみよう 9-5 sin波の予測精度を高めよう 9-6 音の分類のために必要なデータの前処理をしてみよう 9-7 LSTMを使って音の分類をしてみよう 9-8 LSTMを使って分類した結果を評価してみよう 9-9 CNNで音の分類をしてみよう 9-10 CNNで分類した結果を評価してみよう 第10章 深層学習によって実現できる画像処理・言語処理を知ろう 10-1 深層学習によって実現できる処理の全体像を知ろう 10-2 物体検出アルゴリズムYOLOについて知ろう 10-3 YOLOを用いて物体検出を行ってみよう 10-4 物体検出を行った結果を評価してみよう 10-5 画像セグメンテーションSegnetについて知ろう 10-6 Segnetを用いてセグメンテーションを行ってみよう 10-7 セグメンテーションした結果を評価してみよう 10-8 深層学習を用いた自然言語処理Bertについて知ろう 10-9 Bertを用いて文章の分類をしてみよう 10-10 Bertを用いて分類した文章の評価をしてみよう 付録 プログラミングと数学との橋渡し Appendix?1 数式を動かして理解する正規分布 Appendix?2 微分方程式の差分化による誤差とテイラー展開 Appendix?3 非線形最適化としての機械学習/深層学習における回帰/分類 ≪ 目次を隠す |