木走日記

場末の時事評論

ミドル・シニア世代のための『機械学習はじめの一歩の一歩のそのまた一歩』

私は長年工学系の学校で外来講師をさせていただいていますが、ここ何年か今はやりのAI・機械学習の講義を受け持たせていただいておりまして、その関係もあり、一般の人(特にミドル世代からシニア世代(40代〜60代以上))から、機械学習を学習したいのだがどうすればよろしいのか、といった質問をよくいただいたりします。

機械学習を学習したい』との意味を、その原理からすべて理解したいととるならば、線形代数、ベクトル、行列、微積分、偏微分などの数学知識が必須となります、もちろんプログラミングの知識も必要です、一般の人にはハードルがやや高いのです。
ですがやる気のある人には、私は『ぜひ機械学習を学習してください、もし習得できればあなたの将来は、人生は大きく開けます、その可能性を広げることでしょう』と励ましたいです。
そこまで大袈裟にしなくても、老後のボケ防止(苦笑)には機械学習習得は最適です。

そこで今回は時事問題から離れて、『機械学習はじめの一歩の一歩のそのまた一歩』と題しまして、読者のみなさまが機械学習の学習に踏み出す準備のエントリーをしたいと思います。

興味がありお時間の許す読者はお付き合いください。
(やる気のある人は紙とペンのご準備をしてください)

このエントリーの内容が理解できれば、あなたはすでに『機械学習』を学習する準備ができていると私・木走が保証いたしましょう。

ただし本エントリーは機械学習の学習にはほとんど踏み込みません、読者が学習する準備ができているか、チェックすることが主目的だからです。

もしこのエントリーが好評でしたら、『ミドル・シニア世代が一から学ぶ機械学習』と題してシリーズ化してもよいかもと考えています。

以下のメールアドレスにレスいただければ幸いです。

木走正水のメールアドレス
mkibashiri@gmail.com

数学のある定理を証明していきます。

直線と点の距離を求める公式です。
f:id:kibashiri:20200215161042p:plain
図示すると距離Rはこうです。
f:id:kibashiri:20200215161055p:plain
ここまでで、何点か基本的な説明をしておきます。
私達が中学以来なじんでいる 直線の式は

y=ax+b

です、aが傾きでbがy切片でしたよね。

しかしこの図では、x軸はx1軸、y軸はx2軸となっていることに留意が必要です。
中学高校の数学では2次元、3次元までしたから、x,y,zの3つまでで十分でしたが、機械学習ではさらに4次元・・・n次元と高次元を扱うので、x1,x2・・・xnと変数を表現するのです。

機械学習の直線の式w0+w1x1+w2x2=0は、w0+w1x1+w2x2・・・+wnxn=0と高次元でも表現できるように配慮したものです。

とはいえ、w0+w1x1+w2x2=0

を、強引にy=ax+bの形にすれば、

x2=-(w1/w2)x1-w0/w2 となりますね、書き方が違うだけで同じ直線の式であることがわかります。

ちなみに、係数のw0,w1,w2ですが、wは重み(ウエイト)と呼ばれています。

さて証明をする前に、2つ基礎数学的準備をしておきましょう。

傾きがαである、直線y=αxと直交する直線の傾きは、-(1/α)であることは以下の図で簡単に証明されます。
f:id:kibashiri:20200215161109p:plain
次に2点の距離Rは、ピタゴラスの定理から次の公式が得られます。
f:id:kibashiri:20200215161123p:plain
準備はできました、では、証明を開始しましょう。

点(xa1,xa2)を通り、直線w0+w1x1+w2x2=0に直交する直線の式を求めます。

ついてきてください。

f:id:kibashiri:20200215161134p:plain

元の直線w0+w1x1+w2x2=0が式(1)、点(xa1,xa2)を通り、元の直線w0+w1x1+w2x2=0に直交する直線の式が式(2)に求まりました。

次に式(1)と式(2)の交点座標(xb1,xb2)を求めます。

ついてきてください。

f:id:kibashiri:20200215161145p:plain

これで、点(xa1,xa2)と交点座標(xb1,xb2)の2点の座標が求まりました。

あとはピタゴラスの定理から2点間の距離Rを求めればいいわけです。

式の複雑さに嫌になりますが我慢して付いてきてください。

f:id:kibashiri:20200215161156p:plain

ここから一気に綺麗な形で証明されていきます。

f:id:kibashiri:20200215161210p:plain

これで以下の直線と点の距離を求める公式が証明されました。
f:id:kibashiri:20200215161042p:plain

いかがでしたでしょうか。

この公式の証明を機械学習の学習の最初に取り上げたのは、この証明には、ベクトルや行列、あるいは微積分などの知識は要求されていません。

中学の数学の知識で十分解くことができます。

ただし問題はその計算量です。

ミドル・シニア世代の錆び付いた(失礼)頭脳のサビを落とすのに最適な問題だと思ったのです。

繰り返しますが、このエントリーの内容が理解できれば、あなたはすでに『機械学習』を学習する準備ができていると、長年『機械学習』を学生に教育指導してきた私・木走が保証いたしましょう。



(木走まさみず)