データサイエンスを目指す人が最初に学習すべき数学が線形代数です.
また線形代数は,本格的な数学を学ぶ入口としても本カリキュラムは最適です.
線形代数の最も自然な導入は,連立方程式の解法です.最初に連立方程式を古典的な解法に沿って復習します.その上で,同じことを線形代数の現代的な表現に置き換えます.現代的な解法は,ベクトルと行列を使用した方法です.連立方程式の古典的解法である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を少しでも知っていれば理解できます.
(注意)
この講座は線形代数を本気で学習するコースになっています.そのため,基礎から地道に式を追っていく忍耐力が必要となります.ご購入の前に,この点についてご理解ください.