
数学に取り組むと決めたときに最初に額数すべきは,線形代数です.線形代数は本格数学の入口としても,データサイエンスの基礎としても重要な分野であることを説明します.
ビデオにて説明した内容をpdfファイルとして添付しています.ダウンロードしてご参照ください.
線形代数への入口として,連立一次方程式の復習を行います.
まずは,確実に理解していることから始めます.自身のある方もそうでない方も,初心に戻ってスタートしてください.
【問題】
3種類のコーヒー豆A, B, Cを購入しました.100g当たりの単価はそれぞれ800円, 400円, 100円です.合計金額は2,000円でした. A, B, C合わせて700g購入しましたが,A, B合計量はCの量より100g少なかったです. A, B, Cそれぞれ何g購入したか求めよ.
演習問題の解答です.
これまで説明してきた連立方程式の解説を文書化してpdfファイルとして添付いたしました.ダウンロードして,復習にご活用ください.
ここでは,連立一次方程式の解法の一つであるGauss-Jordanの消去法について,例題を用いて説明します.
Gauss-Jordanの消去法を連立一次方程式の係数を記号にした場合で説明します.
Gauss-Jordanの消去法の例題および一般の方程式での説明をpdfファイルとして添付しました.ダウンロードして,復習にご活用ください.
連立一次方程式の変数の個数と式の個数の関係について確認します.
連立一次方程式の解には次の3種類のパターンがあります.
解が一意的に存在するケース
解が無限に存在するケース
解が存在しないケース
ここでは,それらのケースについて紹介します.
それぞれの解のパターンについて,グラフを描いて幾何学的な意味を確認します.
「変数の個数と式の個数について」から「解の幾何学的解釈」までの説明をpdfファイルにまとめて,資料として添付しています.
Pythonのグラフのプログラムが載っていますので,pdfファイルをダウンロードして参考にしてください.
スカラー,ベクトル,行列の定義について確認します.
Pythonにおけるスカラー,ベクトル,行列の扱い方をJupyter notebookを使って説明しています.
添付ファイルとして,Jupyter notebookのファイルをzipにしたものを載せてますので,ダウンロード,解凍してご利用ください.
また,スカラー,ベクトル,行列の説明資料もpdfファイルとして添付しています.
ベクトルのスカラー倍やベクトルの足し算などについて説明します.
ベクトルのスカラー倍やベクトルの足し算のPythonにおける実行方法をJupyter notebookで説明します.
また,説明資料のpdfファイルも添付してありますので,ダウンロードしてご参照ください.
ベクトル演算の演習問題です.問題をpdfファイルとして添付してありますので,ダウンロードしてご利用ください.
ベクトル演算の演習問題の解答です.この解答の文書はpdfファイルとして添付してありますのでダウンロードして参照してください.
行列の足し算や積についての定義を学習します.
Pythonにおける行列の演算について,Jupyter notebook上で説明しています.
説明資料のpdfファイルを添付いたしましたので,ダウンロードしてご参照ください.
行列の積の定義が何故そうなっているのかを解説しています.
説明資料のpdfファイルを添付いたしましたので,ダウンロードしてご参照ください.
Pythonにおけるベクトルの扱いは数学における厳密な定義とは異なる仕様になっています.このことについての説明を行います.
説明資料のpdfファイルを添付いたしましたので,ダウンロードしてご参照ください.
線形代数に現れる代表的な行列を紹介します.
これらの説明資料のpdfファイルを添付いたしましたので,ダウンロードしてご参照ください.
行列演算についての演習問題です.問題はpdfファイルとして添付してありますので,ダウンロードしてご利用ください.
演習は,紙の上で手計算で解答した後に,Pythonでご確認ください.
行列演算の演習問題の解答です.この解答の文書はpdfファイルとして添付してありますので,ダウンロードして参照してください.
これからの準備として,添え字付き変数と添え字付き定数に慣れておきましょう.
集合についての初歩的な説明を行います.
さらに,説明の詳細を記述した資料をpdfファイルとして添付してありますので,ダウンロードしてご参照ください.
数学を学習する上で必要となる論理の初歩手な説明を行います.
さらに,説明の詳細を記述した資料をpdfファイルとして添付してありますので,ダウンロードしてご参照ください.
線形代数の基礎である写像について説明します.
さらに,説明の詳細を記述した資料をpdfファイルとして添付してありますので,ダウンロードしてご参照ください.
写像としての二項関係と二項演算について説明します.
説明の詳細を記述した資料をpdfファイルとして添付してありますので,ダウンロードしてご参照ください.
数学における重要な概念である「群」について,「置換」を用いて説明します.
正則行列を要素とする一般線形群について説明します.
数学の証明において頻繁に使用される数学的帰納法について説明します.
ベクトル空間の定義について説明します.
ベクトル空間の例として,n次多項式の集合がベクトル空間であることを紹介します.
ベクトル空間における基礎的な概念である線形結合,基底,および座標について説明します.
ベクトルの線形結合によって生成される部分空間について説明します.
ベクトル空間を幾何学的に解釈して,分かりやすいイメージを身に付けていきます.
ベクトル空間上の線形写像の定義と例について説明します.
線形写像の代表的な例である拡大縮小および回転について説明します.
線形写像を表す表現行列について説明します.
回転写像および表現行列の応用として,三角関数の加法定理を導きます.
ベクトル空間の同型について説明します.
線形写像の表現行列の列ベクトル空間について説明します.
列ベクトル空間による解の存在定理について説明します.
行列の核(カーネル)について説明します.さらにカーネルを使って解の一意性を示します.
レクチャー「線形写像と部分空間」,「列ベクトル空間と解の存在」,「行列の核と解の一意性」についての説明資料です.
一意的に解ける連立一次方程式をGaussの消去法によって解いていきます.
方程式の解を求めるために利用する行列の基本変形について説明します.
連立一次方程式を行列に変えて,行列に対するGauss消去法の前進消去を説明します.
式の入替えを行わなくても一意的に解ける連立一次方程式に付随する係数行列のLU分解について説明します.
LU分解の続きとしてLDU分解について説明します.
行列でのGaussの消去法から行列のLDU分解の説明資料です.
Gaussの消去法とLU分解についての理論のまとめです.
また,Gaussの消去法に数学的帰納法の考え方が使われていることも説明します.
Gauss消去法の前進消去の途中で行の入替えが発生する場合の連立一次方程式を扱います.
式の入替えが発生する連立一次方程式を行列に置き換えて考えていきます.
行の入替えが発生する場合のPA=LU分解について説明します.
前のレクチャーで求めたPA=LU分解の結果をPythonによって検証します.
ここで使用したJupyter notebookのファイルをzipファイルとして添付してありますので,ダウンロードして,ご自身のJupyter notebook環境でご利用ください.
行の入替えによる前進消去を最初から実施する手戻りの回避方法について説明します.
LU分解の演習問題です.
対象となる行列をPythonで定義すると次のようになります.
A =numpy.array([[1,2,-1],[2,6,-2],[3,4, 1]])
LU分解についての演習問題の解答です.
解答のpdfファイルも添付してありますので,ご利用ください.
連立一次方程式の解のパターンについて,これまで学習した行列による解釈を確認します.
取扱う連立方程式を一般化して,n行m列の係数行列の場合についてLU分解を考えていきます.
一般の行列のLU分解について,具体的な例を用いて説明します.
手計算で行った一般の行列のLU分解をJupyter notebook上でPythonで追体験します.
この詳細文書はpdfファイルとして添付してありますので,ダウンロードしてご参照ください.
一般行列のLU分解に引き続いて,一般解を求めます.
PA-LU分解からさらに進めてPA-LDU分解を求めます.
ニューラルネットワークや微分方程式の解法などにおいて,線形代数は重要な基盤となっています.
ディープラーニングにおけるニューラルネットワークをプログラムで実施するには線形代数が必要であることを説明します.
微分方程式の数値解法においても線形代数が重要であることを説明します.
行列式の意味と定義について説明します.また,2次正方行列の行列式を求める公式を提示します.
3次以上の行列の行列式を求めるための余因子展開について説明します.
データサイエンスを目指す人が最初に学習すべき数学が線形代数です.
また線形代数は,本格的な数学を学ぶ入口としても本カリキュラムは最適です.
線形代数の最も自然な導入は,連立方程式の解法です.最初に連立方程式を古典的な解法に沿って復習します.その上で,同じことを線形代数の現代的な表現に置き換えます.現代的な解法は,ベクトルと行列を使用した方法です.連立方程式の古典的解法であるGaussの消去法が行列のLU分解に置き換わります.これにより,現代的な線形代数の意味を納得することができます.
最初は解ける連立方程式を扱いますが,その次に解けない連立方程式を扱います.解けない連立方程式は応用を考えると極めて重要です.解けない方程式を「解無し」として済ますのではなく,近似解を求める手法を展開します.その方法は最小2乗法と呼ばれる方法ですが,最小2乗法で求めた結果を整理すると,線形代数の射影の問題になります.そして,その応用として回帰分析があります.回帰分析の理論的本質は線形代数ですが,そのことを明確にすることによって,回帰分析を本当に理解することができます.
さらに線形代数の大きなテーマである固有値と固有ベクトルを学習します.固有値を真に理解するためには,線形代数の本格的な理論を学習する必要があります.この部分の学習には線形代数で扱う様々な数学的構造を理解しなければならないので,忍耐力が必要です.それと同時に,ここで学習することが「数学の学び方」のヒントになります.この学習を克服すれば,数学の他の分野を学習する素養が付きます.さて,固有値を求めることを一言で言うと行列の対角化です.学習した後に,その意味と効果が理解できます.固有値の応用の例としては,多変量解析の主成分分析が挙げられます.ここでは,主成分分析を具体的な固有値問題として解決します.
このように,線形代数は数学のインフラと言って良いでしょう.
レクチャーの主な内容は次の通りです.
連立一次方程式
問題の定式化,Gauss-Jordanの消去法,幾何学的解釈
ベクトルと行列
ベクトルとそのPythonによる取扱い,行列とそのPythonによる取扱い,行列の積
数学の基礎
集合論,論理,写像,二項演算,群論
ベクトル空間
基底,部分空間,線形写像とその行列表現
解が一意的に存在する連立方程式の現代的解法
Gaussの消去法,LU分解,PA_LU分解
解が無限に存在する連立方程式の現代的解法
階段行列とLU分解,線形写像の核,一般行列のPA_LDU分解,Pythonによる解法
内積
ユークリッド空間,ピタゴラスの定理と直交性,内積と転置行列,射影,ユニタリ空間,グラム・シュミットの正規直交化法
解が存在しない連立方程式の近似解法
最小2乗法と射影,回帰分析
固有値と固有ベクトル
線形変換とベクトル場,固有値問題の解法,複素共役と随伴行列,エルミート行列のスペクトル分解
行列の対角化
相似と対角化,正規行列,フィボナッチ数列,マルコフ過程,主成分分析
最後に,このカリキュラムの特徴として,理論と実践の両立があります.数学の専門書の最大の欠点は理論が分かっても実際の問題を解けないということです.具体的に連立方程式の例で言えば,理論を学ぶときに実際に解く問題の変数の個数は3個ぐらいで,多くても5個ぐらいです.しかし,私たちが将来取り組むことになるであろうデータ分析やニューラルネットワークでは,使用される変数の個数が100個を超えることは驚くことではありません.しかし,100個の変数を手計算で解く気にはなりません.現実にはコンピュータを使って解くことになります.
そこで,私たちは線形代数をPythonで扱うことをマスターします.ご存知のようにPythonは,データサイエンスの分野ではデファクトスタンダードになっています.この講座はPythonの学習講座ではありませんが,Pythonを少しでも知っていれば理解できます.
(注意)
この講座は線形代数を本気で学習するコースになっています.そのため,基礎から地道に式を追っていく忍耐力が必要となります.ご購入の前に,この点についてご理解ください.