この会の企画・会場設備の提供をして頂きました
㈱ ワークスアプリケーションズ様
にこの場をお借りして御礼申し上げます。
本書を理解するのに,パターン認識や機械学習について,あらかじめ何も知らなくてもよいが,多変数微積分や基礎的な線型代数についての知識は必要である. また,確率について精通していれば,本書の理解に役立つ.
演習を重ねなければ数学の力は身につきませんが,勉強会でそこまでやる時間はありませんので,各自で練習してください。
良い参考書・演習書は前提知識によって変わるので一概にどれが良いとは言えませんが,全くの初心者の方は以下のようなシリーズ物の易しい参考書を選ぶと良いと思います。
そもそも,数学を使って現実の問題にどうアプローチするのかよく解っていないという人もいるかと思います。
そこで、本日は細い理論には立ち入らず全体的な雰囲気を掴む為の話をします。
数学は理学・工学分野で共通言語として使われます。この分野で行われるありとあらゆる事に数学が関わってきます。
仮説や実験などと言うと大げさに思うかもしれませんが、何かをよく調べたい・改善したいという際にはこういったプロセスが生じます。
モデルとは模型の事です。
何かを調べる場合・何かを説明する場合,対象の性質を良く再現する模型を利用する事は重要な手法です。
数学的に記述されたモデルを数理モデルと言います。
{ρ(∂vx∂t+vx∂vx∂x+vy∂vx∂y+vz∂vx∂z)=ρgx−∂p∂x+μ(∂2vx∂x2+∂2vx∂y2+∂2vx∂z2)ρ(∂vy∂t+vx∂vy∂x+vy∂vy∂y+vz∂vy∂z)=ρgy−∂p∂y+μ(∂2vy∂x2+∂2vy∂y2+∂2vy∂z2)ρ(∂vz∂t+vx∂vz∂x+vy∂vz∂y+vz∂vz∂z)=ρgz−∂p∂z+μ(∂2vz∂x2+∂2vz∂y2+∂2vz∂z2)⋯
数学的に厳密な解析を行ったり注,計算機を用いてシミュレーションを行う事が出来ます。実験装置を設計し組み立てるのに比べ,安く実験を行う事が出来ます。
注: 上の方程式はナビエ・ストークス方程式といいますが,これが一般に解けるのかは未解決の問題です。
数学はその知識の普遍性が重要です。一見異なる2つの現象が同じ数学の言葉で記述出来るという事がよくあります。
溶媒中で微粒子が不規則に運動するブラウン運動のモデルであるランダム・ウォークやその極限であるウィナー過程は,金融工学の価格付けのモデルや電子工学のノイズのモデルなどとして応用されます。
本日は簡単な例としてばねと,ばねに付けられた質点の振動現象のモデルを見てみます。
「そんな現象に興味ない」という人もいるかも知れませんが,分野が変わっても使われる数学は共通しています。線型微分方程式や固有値などを学ぶ良い題材なので今後も度々取り上げます。
本日は理論的な事は解らなくて良いです。数学がどのように使われるのかという雰囲気を感じて下さい。
まず,ばねに生じる力のモデルを考えます。
以下のような性質が観察出来るはずです。
簡易的な装置を使って2種類のばねの力を実際に測ってみました。注
注: 引きばねしか用意出来なかったので伸びに対する復元力のみ実験。 また,引きばねは変位0で既に力が働いているので,2cm伸ばした状態を基準長として測定。
観察結果より,ばねに生じる力の大きさは伸縮の大きさに比例すると考えて良さそうです。これはフックの法則として知られています。
ここではばねの材質,ばねの形状,ばねの破壊などは考えられていない事に注意して下さい。興味の対象が変われば,モデルも変わる事になります。
上の測定値がF=kxというモデルで説明出来ると仮定して,kを求める事を考えます。実験データには誤差が含まれるのでそれが何らかの確率モデルに従って生じると仮定し,統計学を用いて推定する事になります。
変位の大きさx1,⋯,xnにおける測定値F1,⋯,Fnと理論値kx1,⋯,kxnのずれの大きさを残差平方和 E=∑i(Fi−kxi)2 で測る事にします。誤差|Fi−kxi|が大きいとEも大きくなる事がわかります。
残差平方和の最小化によってモデルの係数を決定する方法を最小二乗法と呼びます。 Eが最小となる係数は微分法を用いて求める事になります。
測定値の誤差は正規分布という分布に従って生じると仮定出来る事が多いです。
各測定値が平均kxiの正規分布に従い分散が等しく,個々の測定が独立であると仮定すると,残差平方和が最小となるkにおいて測定データが得られる確率が最大となるという事が示されます。統計学では尤度という概念として一般化されます。
最小二乗法の例で見たように,バラつきのあるデータを統計的に分析する前提として,バラつきがどのような確率モデルに従って生じるかの考察が重要です。前提が異なれば適切な分析方法も変わります。また,尤度以外にもモデルの「良さ」を評価する様々な基準が存在します。
見当違いなデータ解析をしてしまわない為には,各手法を「公式」として覚えるのではなく,その原理を深く理解する事が大切だと思います。
力学の問題に戻りましょう。ばねの力のモデルが出来たので,次は「物体の運動のモデル」を考えます。
運動の第1法則: 外部から力が働いていない時,静止している質点は静止状態を続け,運動している質点は等速直線運動をする。
運動の第2法則: (第1法則が成り立つ座標系において)質点に外部から力が働くと,その力の方向に加速度が生じる。加速度の大きさは力の大きさに比例し,質点の質量に反比例する。
運動の第3法則: 二つの質点の間に相互に力が働く時,それらの力は大きさが等しく逆向きである。
速度は「位置の時間あたりの変化率」なので,直線運動では (速度)=(変位)(時間) という関係があります。
時刻tの位置をx(t)と表すと,時刻tからt+Δtまでの平均的な速度vは v=x(t+Δt)−x(t)Δt と表されます。
Δtを限りなく0に近づけた時の極限を考える事によって,時刻tの瞬間の速度を微分係数として表す事が出来ます。 v(t)=limΔt→0x(t+Δt)−x(t)Δt=dxdt
同様にして加速度は「速度の時間あたりの変化率」ですから,時刻tにおける加速度a(t)は a(t)=limΔt→0v(t+Δt)−v(t)Δt=dvdt=d2xdt2 と表す事が出来ます。
従ってニュートン力学の第2法則は以下の様に運動方程式と呼ばれる微分方程式として記述する事が出来ます。
フックの法則とニュートン力学の第2法則を組み合わせると,ばねに繋がれた質点の運動方程式を得る事が出来ます。
今の例の様に,理学・工学の様々な問題が微分方程式として表現されます。連続的な変化の様子を記述しようとすると必然的に微分係数・偏微分係数を用いる事になるからです。
特に線型微分方程式と呼ばれる
という形の微分方程式がよく現れます。
方程式を代数学や微積分学の手法を用いて厳密に解く事を,方程式を解析的に解くなどと言います。
2つパラメータAとϕは初期条件を与える事で定まり,実際の運動の様子が得られる事になります。
また,初期条件によらず周期T=2π√mk で振動する等時性という性質など,様々な事が解ります。
時間や位置などの変数を離散化して,近似的に次々と求めていく事によって数値シミュレーションを行う事が出来ます。
解析解に比べ離散化による誤差,数値演算による誤差が発生します。また,使える計算時間にも限りがあり,様々な計算手法を使い分ける必要があります。
一方,解析的に解く事が出来ない問題に対しても数値計算は利用する事が出来ます。
ばね定数:両方1,質量:1,Δt=0.1secとして古典的ルンゲクッタ法という積分法で計算しています。
次は質点を2つにしてみましょう。 何かパターンが見えますか?
3つにしてみましょう。
4つにしてみましょう。
n個の質点(質量m)がn+1個のばね(ばね定数k)で繋がれているとしましょう。
i番目の質点に働く力は k(xi+1−xi)−k(xi−xi−1)=kxi−1−2kxi+kxi+1 となります(但しx−1=xn+1=0とする)。
従って,
{md2x1dt2=−2kx1+kx2md2x2dt2=kx1−2kx2+kx3md2x3dt2=kx2−2kx3+kx4⋮md2xidt2=kxi−1−2kxi+kxi+1⋮md2xndt2=kxn−1−2kxn
となります。これを工夫せずに解くのは非常に大変です。
今の方程式はベクトル・行列を用いると以下の様に表す事が出来ます。
md2dt2(x1x2x3⋮xn)=−k(2−100⋯−12−10⋯0−12−1⋯⋮⋮⋱⋱⋱)(x1x2x3⋮xn)
つまり,変数ベクトルxと正方行列Aに対して
という形の微分方程式を解く問題を考えれば良いです。
現実に生じる問題の多くは多変数の方程式で表されます。 特に連立一次方程式はベクトル・行列で記述され,理論的に扱い易い為重要です。
連成ばねの方程式のように多くのモデルは自然に一次式で表す事ができ,そうでない場合も近似的に一次式で表す事が出来るので,非常に幅広く利用されます。
数理モデルを考える以外にも,計算機で扱う様々なデータを高次元のベクトルと見なす事も出来ます。
例えば30ピクセル×30ピクセルのモノクロ画像を考えましょう。 この画像は900個の数値で表されますので,900次元空間の1点であるとして扱う事が出来ます。このような画像を沢山集めると,900次元空間内に何らかの分布を作ります。画像認識の問題は高次元ベクトル空間内の点の分布の様子を調べる問題として捉える事が出来ます。
連成ばねの問題に戻りましょう。簡単の為に質点を2つとしm=k=1とします。
解くべき方程式は d2x1dt2=−2x1+x2d2x2dt2=x1−2x2 となります。
天下り的ですが,2つの方程式を足して√2で割ってみます。
すると d2dt2(x1+x2√2)=−x1+x2√2 となります。
同様に2式を引いて√2で割ってみると d2dt2(x1−x2√2)=−3x1−x2√2 となります。
X1=x1+x2√2, X2=x1−x2√2 と置き直してみると,
{d2x1dt2=−2x1+x2d2x2dt2=x1−2x2 ⇔ {d2X1dt2=−X1d2X2dt2=−3X2 ただし X1=x1+x2√2, X2=x1−x2√2
となります。
座標変換を施すことによって「連成ばね」の運動が「2つの別々のばね」の運動になってしまいました。
今の現象は線型代数学において,元の二次元の空間を行列 (2−1−12) に関する2つの1次元の固有空間に分解したのだ、と説明する事が出来ます。
変換後の係数である1,3は固有値,変換の係数である 1√2(11),1√2(1−1) は固有ベクトルと呼ばれます。
データの特徴が分り易くなるように座標変換を行う,高次元の空間を独立な低次元の空間に分解するという非常に重要な手法・考え方を線型代数から学ぶ事が出来ます。
以上で微積分学,線型代数学,確率・統計学が一体どのような事を記述し調べる為に利用されるのか,何となくイメージ出来たのではないかと思います。
しかし,ばねのモデルはまだまだ奥が深いのでもう少し見てみましょう。
方程式は何も変えず質点の数を増やしただけですが波動という現象が現れました。波形がぶつかっても崩れずに通りぬけるといった波動の性質をしっかり示しています。
フックの法則とニュートン力学という非常にシンプルなモデルが,このような複雑な現象を説明するということに面白さを感じる事が出来ます。
これまではばねの話をしてきましたが,ある系が安定状態からずれた時に復元力が働き,慣性が存在するならば,ずれが十分小さい時には d2xdt2=−kx(k>0) と全く同じ方程式で表す事が出来ます。非常に多くの現象に同様の方程式が現れます。
ばねでない物の例として,下図のように物体にせん断変形が生じた状況を考えましょう。
元の状態に戻ろうとする復元力Fはxの関数であると考える事が出来ます。xが小さい時は近似的に F=kx と表す事ができ,フックの法則と同じ形の法則が現れます。
さらに,この物体をn個積み重ねれば連成ばねと(両端を除いて)全く同じ微分方程式が現れます。
先ほどの物体を30個,10個積み重ねた物体(ビルのつもり)に外部から振動を与えた場合(地震のつもり)のシミュレーションです。 連成ばねのコードをほとんどそのまま使い,このようなシミュレーションが出来ます。
注:このシミュレーションは抵抗力を加えた上で行っています。
本日は1次元方向の変形しか考えませんでしたが,3次元方向の変形を考えるようにモデルを拡張する事ができ, 変形と応力 の関係を解析する構造力学という学問に繋がります。
非常に難しいモデルも単純なモデルの延長上にありますので,基礎をしっかりと理解することが重要です。
(株)五洋電子ホームページより引用具体的な例を使って,現実の問題に数学を使いどのようにアプローチするのか説明しました。 何となく雰囲気を理解出来たのではないかと思います。
微積分学・線形代数学・確率統計という学問についてもイメージが湧いたでしょうか?
次回から具体的な数学の理論を学んで行きます。微積分学・線形代数学・確率統計学の順番に進めます。
次回は微積分学に入る前に浮動小数点数と演算誤差の話をします。
その後,極限・微分・偏微分から解説を始めたいと思います。