ミドル・シニア世代のための『機械学習はじめの一歩の一歩のそのまた一歩』
私は長年工学系の学校で外来講師をさせていただいていますが、ここ何年か今はやりのAI・機械学習の講義を受け持たせていただいておりまして、その関係もあり、一般の人(特にミドル世代からシニア世代(40代〜60代以上))から、機械学習を学習したいのだがどうすればよろしいのか、といった質問をよくいただいたりします。
『機械学習を学習したい』との意味を、その原理からすべて理解したいととるならば、線形代数、ベクトル、行列、微積分、偏微分などの数学知識が必須となります、もちろんプログラミングの知識も必要です、一般の人にはハードルがやや高いのです。
ですがやる気のある人には、私は『ぜひ機械学習を学習してください、もし習得できればあなたの将来は、人生は大きく開けます、その可能性を広げることでしょう』と励ましたいです。
そこまで大袈裟にしなくても、老後のボケ防止(苦笑)には機械学習習得は最適です。
そこで今回は時事問題から離れて、『機械学習はじめの一歩の一歩のそのまた一歩』と題しまして、読者のみなさまが機械学習の学習に踏み出す準備のエントリーをしたいと思います。
興味がありお時間の許す読者はお付き合いください。
(やる気のある人は紙とペンのご準備をしてください)
このエントリーの内容が理解できれば、あなたはすでに『機械学習』を学習する準備ができていると私・木走が保証いたしましょう。
ただし本エントリーは機械学習の学習にはほとんど踏み込みません、読者が学習する準備ができているか、チェックすることが主目的だからです。
もしこのエントリーが好評でしたら、『ミドル・シニア世代が一から学ぶ機械学習』と題してシリーズ化してもよいかもと考えています。
以下のメールアドレスにレスいただければ幸いです。
木走正水のメールアドレス
mkibashiri@gmail.com
数学のある定理を証明していきます。
直線と点の距離を求める公式です。
図示すると距離Rはこうです。
ここまでで、何点か基本的な説明をしておきます。
私達が中学以来なじんでいる 直線の式は
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/α)であることは以下の図で簡単に証明されます。
次に2点の距離Rは、ピタゴラスの定理から次の公式が得られます。
準備はできました、では、証明を開始しましょう。
点(xa1,xa2)を通り、直線w0+w1x1+w2x2=0に直交する直線の式を求めます。
ついてきてください。
元の直線w0+w1x1+w2x2=0が式(1)、点(xa1,xa2)を通り、元の直線w0+w1x1+w2x2=0に直交する直線の式が式(2)に求まりました。
次に式(1)と式(2)の交点座標(xb1,xb2)を求めます。
ついてきてください。
これで、点(xa1,xa2)と交点座標(xb1,xb2)の2点の座標が求まりました。
あとはピタゴラスの定理から2点間の距離Rを求めればいいわけです。
式の複雑さに嫌になりますが我慢して付いてきてください。
ここから一気に綺麗な形で証明されていきます。
これで以下の直線と点の距離を求める公式が証明されました。
いかがでしたでしょうか。
この公式の証明を機械学習の学習の最初に取り上げたのは、この証明には、ベクトルや行列、あるいは微積分などの知識は要求されていません。
中学の数学の知識で十分解くことができます。
ただし問題はその計算量です。
ミドル・シニア世代の錆び付いた(失礼)頭脳のサビを落とすのに最適な問題だと思ったのです。
繰り返しますが、このエントリーの内容が理解できれば、あなたはすでに『機械学習』を学習する準備ができていると、長年『機械学習』を学生に教育指導してきた私・木走が保証いたしましょう。
(木走まさみず)