機械学習やAI(人工知能)の進展によって、経営戦略論、組織論、人事・労務管理論、マーケティング、会計、ファイナンスといった経営学における諸専門分野においても、数理的アプローチやデータ分析の素養を身につけることが必要不可欠なものとなりつつある。本書は、それに先立ち、上記分野への応用を目的とした数学的基礎知識のうち、「微分・積分」を扱うテキストである。
本書は、上記分野への応用を目的とするため、本書で扱う微分・積分の知識が経営学の諸領域にどのように繋がり応用可能なのかを随所にケース問題として例示することによって、学習者の動機付を促している。また、実際のAIにおいて最も多く使われているプログラミング言語であるPythonの習熟も視野に入れ、Python記号演算ライブラリSymPyスクリプトを用いた演習問題を配置している。これは、文系に分類されている経営学では、理系大学教養レベルでの、微分・積分の計算を中心とした演習方法は適当ではなく、計算などの演算処理はPythonで行い、計算力よりも「どのような計算を行わせれば、どのような結果が得られるのか」という論理的思考力の涵養が重要と考えたからである。さらに、本書では、文系学習者を想定し、平易で具体的な内容から次第に抽象的な内容になるようになっている。加えて、他の微積分の教科書と異なり、経営系での応用のための基礎をなすことを意図することから、初めに、キャッシュフロー評価の基礎となる数列を第1章に配置し、その後、経営問題における因果関係をモデル化して解析するために必須となる関数を学習したうえで、微分・積分の学習に入っている。最終章の積分では、経営系に必須と言える確率・統計への応用を意図して正規分布の確率密度関数と積率についても説明を加えている。付録にPython基本操作方法をつけ、Pythonの事前知識がなくても本文のスクリプトが理解できるよう配慮している。
基礎的な点群処理から、ICPアルゴリズム、物体認識、PointNetまでをPythonで学ぼう!★章末問題付き★
・Open3Dを使用し、Pythonプログミングとともに平易に解説。
・サンプルコードをサポートページから提供したので、すぐに実践できる!
・最終章では、RGBD画像、ボクセルデータ、メッシュデータ、多視点画像の3次元データ処理も解説。
【主な内容】
第1章 はじめに
第2章 点群処理の基礎
第3章 特徴点・特徴量の抽出
第4章 点群レジストレーション(位置合わせ)
第5章 点群からの物体認識
第6章 深層学習による3次元点群処理
第7章 点群以外の3次元データ処理
目次
第1章 はじめに
1.1 3次元世界について
1.2 本書について
1.3 3次元計測原理
1.4 3次元センサの紹介
章末問題
第2章 点群処理の基礎
2.1 ファイル入出力
2.2 描画
2.3 回転・並進・スケール変換
2.4 サンプリング
2.5 法線推定
章末問題
第3章 特徴点・特徴量の抽出
3.1 特徴点(キーポイント)
3.2 大域特徴量
3.3 局所特徴量
章末問題
第4章 点群レジストレーション(位置合わせ)
4.1 最近傍点の探索(単純な方法)
4.2 最近傍点の探索(kd-treeによる方法)
4.3 ICPアルゴリズム
4.4 ICPアルゴリズムの実装(Point-to-Point)
4.5 ICPアルゴリズムの実装(Point-to-Plane)
章末問題
第5章 点群からの物体認識
5.1 特定物体認識と一般物体認識
5.2 特定物体の姿勢推定
5.3 一般物体の姿勢推定
5.4 プリミティブ検出
5.5 セグメンテーション
章末問題
第6章 深層学習による3次元点群処理
6.1 深層学習の基礎
6.2 PyTorch Geometricによる3次元点群の扱い
6.3 PointNet
6.4 点群の畳み込み
6.5 最新研究動向
章末問題
第7章 点群以外の3次元データ処理
7.1 RGBD画像処理
7.2 ボクセルデータ処理
7.3 メッシュデータ処理
7.4 多視点画像処理
7.5 Implicit Functionを用いた3次元形状表現
章末問題
生物の進化に着想を得た新しい「発散型」の機械学習アルゴリズムを解説!
深層学習を含む多くの機械学習アルゴリズムは、1つの最適化を求める「収束型」のアルゴリズムであるのに対し、近年注目を集めているのが人工生命の研究分野で開発され、従来の探索方法では得られなかったような、多様な解が求められる「発散型」アルゴリズムです。本書はこの発散型アルゴリズムに焦点を当て、進化計算の基礎となる集団的探索の考え方、既存の収束型アルゴリズムとの違い、そして、有用性について説明します。最近注目を浴びるNovelty SearchやQuality Diversity、MC、POETといった新しいアルゴリズムも取り上げます。
「入門書を読んだけれど、次に何をすればいいかわからない」そんな方が次のステップへ進む助けとなることを目的とした本書では、よく使う関数(もしくはメソッド)を「文例」として紹介。章の後半で複数の文例を合体した応用例を載せています。これらの文例を使いファイルを操作したり、画像を加工したりして実用的なプログラムに触れながらPythonの学びを深めることができます。この「合体」という考え方はプログラミングを学ぶ上でとても重要です。それぞれの文例の使い方を把握して、うまく組み合わせていきましょう!
「Python」はできることが多く、活用しがいがあるプログラミング言語ですが、初心者は「できることが多すぎて何をしたらいいか分からない」状況に陥りがち。
本書では、「Pythonとはどういう言語なのか」「何ができて何ができないのか」といった基礎的な点を解説し、参考として、初心者でも作れる簡単かつ実用的なプログラムや電子工作に「Python」を利用する方法を紹介しています。
■「Python」とは
これから始める「Python」
なんでもできる「Python」の魅力
Pythonの「ライブラリ」と「開発実行環境」
■「Python」の利用環境を整える
「Python」の環境構築術
■「Python」で便利なプログラム制作
Pythonビジネスソフト開発
「Python」で「Selenium」を使う
データ収集とWebアプリ化
「GUIアプリ」を配布する
■「Python」で電子工作
「Raspberry Pi」の電子工作と「Python」
「Arduino」と「Python」による「サウンド・システム」
■奥深い「Python」の世界
Pythonの「ラムダ式」
「Python+機械学習」でプログラミングが簡単に!
★ビジュアルプログラミングからオブジェクト指向プログラミングへ。さあ、はじめよう!★
MicroPython ver2.0に対応した改訂版。LEGO MINDSTORMS EV3を用いるロボットプログラミングもPythonで自由自在!
ソースコードの解説が丁寧だから大丈夫。プログラムを書いて、すぐロボットが動くからSTEM教育の導入としても最適。センサ、機構、ライントレース、Open Roberta Labなどの発展的な話題も豊富。
いま、テキストベースのプログラミング言語Pythonが注目されています。人工知能(AI)を応用したアプリケーション開発やビッグデータ解析、ロボットアプリケーション開発などの分野でよく使用されており、さらに初心者のプログラミング学習にも向いています。したがって、Pythonを学ぶことは、ロボットプログラミングを始めたい人にとって大いに意味があります。
本書では、EV3ソフトウェアとPythonでプログラムを書きます。2つのプログラムの対応がよくわかるように、EV3ソフトウェアのプログラムを説明した後に、Python のプログラムを説明します。Pythonのプログラムの説明では、EV3ソフトウェアのプログラム中のブロックに相当する手続きがどこで使われているかについても説明します。
【主な内容】
1章 はじめに
2章 プログラミングの準備をしよう
3章 ロボットプログラミングをはじめよう
4章 ロボットを動かしてみよう
(基本プログラム/ ステータスライトを光らせる/ 音を鳴らす/ ディスプレイに文字を描画する/ モーターを回転させる)
5章 センサーを使って動かそう
(EV3 で使用できるセンサー/ タッチセンサーを使おう/ カラーセンサーを使おう/ ジャイロセンサーを使おう/ 超音波センサーを使おう/ モーター回転センサーを使おう)
6章 オリジナルロボットを作ろう
(ロボット製作のための力学・機構/ 力学・機構のための数学的準備/ 力学の基礎/ 基本的な機構/ 車輪移動機構/ ロボットアームとエンドエフェクター)
7章 実践してみよう
(ボタンを押してすぐに実行する/ 複雑な動作をプログラミングするためのテクニック/ ライントレース/ 線の検出)
8章 Open Roberta Lab
(Open Roberta Labとは/ 画面の説明/ プログラミング/ 保存と読み込み/ シミュレーター/ ロボットの設定/Open Roberta Lab からEV3 を動かす)
付録A リファレンス
現代の理工系に必携。学生から職業的プログラマーまで、必須の教養「線形代数」を身につけよう! 数学的基礎がしっかり理解でき、課題をPythonで解く力が得られる。サンプルコードによる演習も豊富な、一挙両得の入門書!
【サンプルコード(本文中のプログラム)は、講談社サイエンティフィクWebページ https://www.kspub.co.jp/book/detail/5303757.html 内の最下段のリンクから入手いただけます。】
【目次】
第1章 行列と連立方程式1
第2章 行列と連立方程式2
第3章 逆行列
第4章 行列式・ブロック行列
第5章 行列式の余因子展開・クラメルの公式
第6章 対称群による行列式表示・終結式
第7章 幾何学的意味
第8章 ベクトルの一次独立性・直交基底
第9章 行列と線形写像
第10章 固有値と固有ベクトル
第11章 行列の標準化
第12章 特異値分解・低ランク近似
第1章 行列と連立方程式1
1.1 行列とベクトル
1.2 行列の基本変形と連立方程式
1.3 行列に演算を入れる
1.4 Pythonにおける行列の表現と簡単な計算
1.5 行列の積
第2章 行列と連立方程式2
2.1 行列の積の成分表示
2.2 行列の積と基本変形の関係・Pythonによる行列成分の操作
2.3 解がただ一つに定まらない場合
2.4 Pythonで連立方程式を解く
第3章 逆行列
3.1 逆行列の定義
3.2 逆行列の計算
3.3 逆行列の性質
3.4 Pythonによる逆行列の求め方
第4章 行列式・ブロック行列
4.1 2×2行列の行列式
4.2 行列式の定義・Pythonによる行列式の計算
4.3 ブロック行列と行列式
4.4 NumPy・SymPyにおけるブロック行列の扱い
第5章 行列式の余因子展開・クラメルの公式
5.1 3×3行列の行列式の余因子展開
5.2 一般の行列式の余因子展開
5.3 逆行列と余因子行列
5.4 Pythonで余因子行列をつくる
5.5 クラメルの公式
5.6 ヴァンデルモンドの行列式と巡回行列式
第6章 対称群による行列式表示・終結式
6.1 置換に基づいた行列式の定義
6.2 Pythonで置換を計算しよう
6.3 対称群を用いた行列式の定義
6.4 正方行列ではない行列A, Bの積ABの行列式
6.5 Pythonによる終結式の計算
第7章 幾何学的意味
7.1 ベクトルと図形
7.2 ベクトルの内積と外積
7.3 Pythonによる内積と外積の計算
7.4 空間の直線と平面
第8章 ベクトルの一次独立性・直交基底
8.1 ベクトルの一次独立性
8.2 グラム・シュミットの直交化法
第9章 行列と線形写像
9.1 Pythonで線形変換を見る
9.2 回転・折り返しの線形変換
9.3 線形変換と行列式
9.4 線形写像と行列のランク
第10章 固有値と固有ベクトル
10.1 線形変換で方向を変えないベクトル
10.2 固有値と固有ベクトルの定義と例
10.3 固有値が実数でない場合
10.4 NumPyで固有値と固有ベクトルを計算する
10.5 Pythonでエルミート行列・ユニタリ行列の固有値を図示する
第11章 行列の標準化
11.1 行列の対角化
11.2 行列のk乗
11.3 対角化可能である条件
11.4 三角化とその応用
第12章 特異値分解・低ランク近似
12.1 特異値分解とは
12.2 低ランク近似の基本原理
12.3 Pythonで画像圧縮
章末問題略解
これからのAI時代では、医療従事者であってもデータリテラシーを身につけておく必要があります。でもどこから学べば? そんな方はぜひ本書でその第一歩を踏み出してみてください。プログラミング言語Pythonを使って医療従事者が無理なく効率よく学べる、医療に特化したAI入門書となっています。
■本書の特徴
1)機械学習やAIに親しむことを目的としています。そのため、データサイエンスやプログラミングの専門性の高い記述は避けています。
2)プログラミングやPythonの初心者でも大丈夫です。無料のGoogle Colaboratoryを使って自分のPCですぐに始められます。
3)医療のデータを題材に学びます。本書のゴールである5章では、「肺のX線画像が肺炎かどうかを予測する深層学習モデル」を自作できます。
4)東京医科歯科大学(2024年10月より東京科学大学)の必修講義「医療とAI・ビッグデータ入門」で培ったノウハウが満載です。
■こんな方におすすめ
・機械学習やAIを学びたいけれど、どこから始めたらいいかわからない医療従事者や研究者の方
・AIを気軽に体験してみたい医療系・生命科学系の学生の方
■本書の内容
0章 演習準備
[→Google Colaboratoryの基本から解説]
1章 Pythonに触ってみよう
[→年齢と歯の本数のデータを使ってプログラミングを体験]
2章 機械学習のしくみを理解しよう
[→糖尿病と乳がんのデータを使って線形回帰、ロジスティック回帰を実践]
3章 さまざまな機械学習を理解しよう
[→サポートベクターマシン、決定木分析、ランダムフォレストを実践]
4章 深層学習のしくみを理解しよう
[→ニューラルネットワークを使ったシンプルな深層学習を実践]
5章 肺のX線画像を用いた画像分類にトライしよう
[→X線画像が肺炎かどうかを予測する深層学習モデルを作成]
Topics 医療とAIのこれから
[→AIの研究や社会実装に関する8つの話題を紹介]
「電源ボタンを押せばBASICが起動して、即プログラミング!」
という時代もありました。ところが、最近のプログラム言語は肥大化し、入り口である「環境の構築」も、初心者にとっては難関になっています。
本書は、「プログラミング環境の構築」や「取りかかり」の解説を中心に、数あるプログラム言語の中から、定番の「Python」や、「Webサイト」や「ドキュメント」を作るためのスクリプトの記述を、分かりやすく解説しています。
プログラミングのはじめ方
●スムーズにプログラミングをはじめるために
●プログラミング言語のトレンド
●「プログラミングの基礎知識」の身につけ方
●「開発環境」なしで、“即プログラミング”
Pythonの使い方
●なんでもできるPythonの魅力
●「Python」をはじめてみよう!
●「AIプログラム」が出来るまで
Webサイトやドキュメントの作り方
●「Webサイト」を作れるようになるまで
●「マークアップ」と「マークダウン
【Google Colaboratoryでプログラミング力と計算論的思考力を身につけよう!】
本書では、手続き型からオブジェクト指向へ向かうプログラミングの進化の道筋を辿りながらアルゴリズム的思考とプログラミング的思考を培い、Google Colaboratoryを使ったプログラミング力と計算論的思考力を身につけることができます。
第1章はプログラミング全般に関わる説明、第2章はプログラミングの準備、第3章〜第5章までに小さなプログラムの作成を学びます。第6章と第7章では関数やモジュール、ライブラリの使い方、第8章ではファイルの取り扱い、第9章では手続き型プログラミングの総まとめを解説。第10章はオブジェクト指向プログラミング(OOP)の基本的な考え方、およびクラスやオブジェクトの作り方、第11章はAnacondaを用いGUIアプリの作成について扱います。プログラミング言語の文法を網羅的に説明している入門書とは一線を画する内容であり、初心者だけでなくPythonに既に振れている中級者にも最適な参考書です。
第1章 プログラミングと計算論的思考
第2章 プログラミングの準備
第3章 順次構造と処理
第4章 条件分岐構造と処理
第5章 繰り返し構造と処理
第6章 関数の定義と自作
第7章 モジュールとライブラリの利用
第8章 ファイルの入出力と例外処理
第9章 アルゴリズムと計算論的思考
第10章 オブジェクト指向プログラミング
第11章 Anacondaによるプログラミング
「ライブラリ」「インターネットサービス」と「Python」を使って、手間のかかる作業を10行のプログラムで簡単に実現!たとえば、「Webサイトのキャプチャを自動的に撮影」「Googleカレンダーの予定を一覧形式にする」など、便利なプログラムを20点以上、解説。こうした便利なプログラムは、もちろん実用的に使えますが、楽しくプログラミングでき、「Pythonプログラミング」応用の第一歩としても、役立ちます。
例題を試しながら地理空間データ分析の基本を学べる!
数字だけの分析ではなく、地理空間を組み合わせることで、より立体的で精度の高い予測、分析ができるため、注目を集める地理空間データ分析をPythonで行うための入門書です。
既存の公開データ、Jupyter Notebookで提供されているサンプルコード、QGISというオープンソースのGISソフトを使い、手軽に試して結果を出力してみることができます。空間データ分析において重要ながらも見過ごされがちな、正確なマップをデザインするコツ、非定型データ型の処理のテクニックなどもフォローしています。
《Pythonで数値計算の基本をより実践的に!》
□NumPy、SciPyを動かしながら、数値計算の基本を学ぶフルカラーテキスト!
□浮動小数点演算の基礎から偏微分方程式の数値解法までを一冊に凝縮!
□Pythonスクリプトはサポートページにて無料公開!
【サポートページ】
https://github.com/tkouya/inapy
【目次】
第1章 数値計算と数学ソフトウェア
第2章 数の体系,コンピュータ,浮動小数点数
第3章 Pythonことはじめ
第4章 丸め誤差の評価方法と多倍長精度浮動小数点計算
第5章 初等関数の計算
第6章 基本線形計算
第7章 連立一次方程式の解法1 -直接法
第8章 連立一次方程式の解法2 -疎行列と反復法
第9章 行列の固有値・固有ベクトル計算
第10章 非線形方程式の解法
第11章 補間と最小二乗法
第12章 関数の微分と積分
第13章 常微分方程式の数値解法
第14章 偏微分方程式の数値解法
第1章 数値計算と数学ソフトウェア
第2章 数の体系,コンピュータ,浮動小数点数
第3章 Pythonことはじめ
第4章 丸め誤差の評価方法と多倍長精度浮動小数点計算
第5章 初等関数の計算
第6章 基本線形計算
第7章 連立一次方程式の解法1 -直接法
第8章 連立一次方程式の解法2 -疎行列と反復法
第9章 行列の固有値・固有ベクトル計算
第10章 非線形方程式の解法
第11章 補間と最小二乗法
第12章 関数の微分と積分
第13章 常微分方程式の数値解法
第14章 偏微分方程式の数値解法
Python(パイソン)は初心者が比較的修得しやすく、AI(人工知能)やパターン認識などの先端技術に活用されている優れたプログラミング言語です。
本書では、初心者を対象に、Pythonを使ったプログラミングの勘所をやさしく解説しました。
例題に取り組むことで、プログラミングとはどういうものかを理解し、プログラミング的思考を身につけてもらうことを目的に執筆しました。
読者の皆さんが、楽しみながらPythonの素晴らしさやプログラミングの醍醐味を感じていただけたら、著者として望外の喜びです。
Pythonを使って線形代数学を見える化して学ぼう!
本書は、大学初年次に学ぶ基礎数学科目の一つであり、具体的なところでは機械学習やコンピュータグラフィックス、ゲームプログラミングなどの基礎となる線形代数を、Pythonを使って学ぶものです。
線形代数は、微分・積分とならび基礎的な数学の一つですが、ふつうに勉強するとベクトル・行列計算が面倒くさく、また定義や概念が多く抽象的な表現も多いため、なかなか理解しづらい学問といえます。そこで本書は、Pythonによるプログラミングを用いて以下の工夫を施すことで、よりわかりやすく、またビジュアルにベクトルを見るなどの体験を通して、線形代数を学べるようにまとめたものです。
1)2次元平面や3次元空間のベクトルを視覚的に表現する
2)関数をグラフ化することで、ベクトル計算の意味を理解しやすくする
3)面倒なベクトルや行列の計算をプログラミングで表現する
4)手計算では不可能な高次の線形計算を、具体的なデータ(音や画像)を用いて表現する
5)通常の教科書の演習問題レベルの計算問題をプログラミングによる数式処理で求める
第1章 数学の基礎とPythonによる表現
第2章 線形空間と線形写像
第3章 基底と次元
第4章 行列
第5章 行列の基本変形と不変量
第6章 内積とフーリエ展開
第7章 固有値と固有ベクトル
第8章 ジョルダン標準形とスペクトル集合
第9章 力学系
第10章 線形代数の応用と発展
本書ではWebスクレイピングを、PythonとScrapyフレームワークを利用して行うことをソースコードとともに解説します。Webサイトには多くの情報があり、ブラウザの利用だけでも取得できます。しかし、Webサイトを閲覧するという行為が能動的であり手間と時間を使うことになります。本書はPythonを使って普通のサイトからWebスクレイピングをはじめ、少しづつ難易度を高めていく実践的な内容です。