見出し画像

データ解析や数学の理解にはイメージが大切

多変量解析であれ,機械学習であれ,データを解析する道具は数学で鍛えられている.数学というと,数式を見ると蕁麻疹がでるとか,生理的に無理とか,「日常生活で使うことはないから勉強するのは無駄(キリッ」とか,色々な感想があるだろうが,理解するために大切なのは,イメージを持つことだ.

例えば,線形代数や微積分.大学に入学すると,必修科目に指定されていれば,とりあえず履修する.δ-εがどうとか語る教員に,頼むから日本語で話してくれと思う学生もいるだろう.私もそうだった.数学の講義で,勉強したことが何に使えるのかを教える先生はいなかった.だから,数学の重要性なんてわからなかったし,興味も持たなかったし,深く理解することもなかった.もちろん,自分の研究としてデータ解析の応用に取り組むようになり,必死で数学の勉強をしなおすはめになることも想像していなかった.それくらい頭が空っぽだったわけだ.

そんな昔と違って,今は,高校と大学の橋渡しをする導入科目がある.京都大学では「自然現象と数学」という科目があって,実用重視の工学部の新入生を相手に,自然現象と数学の関わりを知ってもらうことで,数学の重要性をわかってもらい,数学に興味を持ってもらおうという狙いだ.

本年度は,この「自然現象と数学」を担当しているので,私のように数学の重要性がわからずに後から後悔する学生を生まないために,そして数学嫌いを生まないために,奮闘している.その中で大事にしているのが,イメージを持ってもらうことだ.ある概念を学んだときに,そのイメージが湧けば,理解しやすい.逆に,イメージが湧かないものは理解するのが難しい.

例えば,「行列式 |A|=ad-bc の幾何学的意味」に書いたように,2次正方行列 A の行列式が,その列ベクトルが作る平行四辺形の面積であり,その平行四辺形とは大きさ1の正方形を行列 A で変形したものだと理解すれば,わけもわからずサラスの公式を暗記して行列式を計算できるようになるよりも,納得感を得られるだろう.

また,「フーリエ級数展開は関数の座標を決めている」に書いたように,フーリエ係数が,三角関数を基底とする無限次元空間での座標だと理解すれば,フーリエ級数展開の役割が明確になる.平面上の三平方の定理を無限次元空間に拡張すればパーシバルの等式になることもわかる.フーリエ級数展開の式を暗記して計算できるようになれば,テストで点は取れるだろうが,理解したとは言えない.なるほど!という感覚がないと,身に付いたとは言えない.

これらの例のように,数学を理解するときには,イメージを持つことがとても重要だ.何かの概念について,その具体的なイメージを持つことができれば,その特徴を捉えた具体的な例を自分で作ることができる.そのような例を用いて誰かに説明できるなら,しっかり理解できたと言えるだろう.それが「お勧めする勉強方法2:人に教える」に書いたことでもある.

多変量解析や機械学習の手法も同じだ.

例えば,多変量解析の基本中の基本である主成分分析.データが与えられたとき,その共分散行列の固有ベクトルが主成分の方向を表すと知っていても,最大固有値に対応する固有ベクトルが第一主成分になると知っていても,主成分のイメージを持てていなければ,何も理解していないに等しい.身長と体重の例は手垢がつきすぎていて面白くないが,変数の数が2つか3つの場合に,いくつかの点をグラフに描いて,どのような主成分が得られるかをササッと示せるようであれば,主成分分析のイメージを持てていると言えるだろう.

サポートベクターマシン(SVM)にしても,サポートベクトルの定義を知っていて,KKT条件はこうなりますと数式で示せても,それでSVMを理解したとは言えない.どのような仕組みで非線形な判別ができるようになるのか,カーネルを用いるメリットは何なのか,そういったことを簡単な言葉で説明できるなら,SVMのイメージが自分のなかにあり,理解したと言えるだろう.

研究室では,データ解析に取り組む学生が,多変量解析や機械学習の基本的な方法を勉強し,それを研究室のメンバーに説明するという場を設けている.毎回,担当になった学生は丁寧な資料を準備して説明してくれるのだが,テキストに書いてあったことを書き写して,式変形はこうなりますというだけでは意味がない.それは必要なことではあるけれども,その上で,具体例を示しつつ,それぞれの方法の本質をわかりやすく自分の言葉で説明して欲しい.そこまでできれば,その方法を理解したと言えるし,勉強方法も身に付いたと言えるだろう.

イメージを持とう.なるほど!という感覚を得よう.

© 2020 Manabu KANO.

この記事が気に入ったらサポートをしてみませんか?