機械学習、単回帰分析の直線。簡単で具体的に。
サーチマン佐藤です。
こんにちは。
今日は、他の参考書よりも、
わかりやすい機械学習の話をします。
・・・というのは、
最近、機械学習で
挫折した人から聞いたのですが、
「数学がわからなくて・・・」
と言うんですね。
機械学習の
最も基礎的なアルゴリズムは、
「単回帰分析」です。
「単回帰分析」とは、
x,yというデータがある時、
「y = ax + b」という式(モデル)を作り、
未来のyを予想すること。
↓こんな感じですね。
https://twitter.com/sato_searchman/status/1075284463301451780
私の実感では、
「y = ax + b」は、
多くの人が理解している。
しかし、最も妥当な
「y = ax + b」を求めることができない。
いや、エクセルのボタン一発だろ!
って話はありますが、
「何をもって妥当とするのか?」
がわかってない。
数学的に言えば、
最小二乗法や微分が出来れば
・・・・簡単なのですが、
しかし、それは、
わかっている人の話。
急に、そんなこと言われても、
無理でしょ(苦笑)。
そりゃ、挫折する。
そうじゃなくて、
「妥当な y = ax + b」って、
そもそも何?と、その考え方を知り、
自分で手計算してみる。
(↑ここ大事)
この過程を経ることで、
例え「エクセルのボタン一発」を使うにしても、
裏でどんな計算やっているのか?
わかっているので応用もきくし、
何より気持ちいい。
・・・と思うんですけどね。
まあ、ともあれ、
話を簡単にしてみます。
で、何を簡単にするかと言うと、
まずは、データの数です。
沢山のデータがあると混乱するし
(手計算できないし)、
仮に2点だったら?と考えてみましょう。
2点の場合は、
多くの人が正解しましたね。
じゃあ、3点だったら?
https://twitter.com/sato_searchman/status/1092186064985350144
ここで一気に難しくなるのですが、
実は、考え方一つ知っていれば、
手計算でいけます。
====================
※この考え方は、重回帰分析でも同じ。
統計学の基本になります。
====================
その考え方とは・・・・・・・
いや、すみません、
このまま説明すると抽象的で、
少し混乱するので、
具体的に、クイズにしてみますね。
今、その3点に対して、
2本の直線を引いてみました。
https://twitter.com/sato_searchman/status/1092207383659479041
さて、この直線は、
(機械学習的に言うと)
どっちが妥当なのでしょうか?
言っておきますが、
ベストな近似直線じゃないですよ。
どっちが妥当なのか?
何を比較すればいいのか?
を考えるためのクイズです。
Twitterにあるので、よかったら、
一つクリックしてみてくださいね。
https://twitter.com/sato_searchman/status/1092207837600669697
あと、最後に、
少し意地悪なこと言いますね。
こういう時代になってきたので、
アナタの周りにも、
「機械学習だ」「分析だ」って、
威張っている人がいるでしょ。
その人に、
このクイズ出してみてください。
たぶん、威張っている人に限って、
出来ないですよ(苦笑)。
考え方知っていれば、
手計算で3分でできますが、
「う~ん」とか言って、
手が動かなかったら、
たぶん、何もわかってないですよ。
試してみてください。
https://twitter.com/sato_searchman/status/1092186064985350144
ではでは、またお会いしましょう。
ありがとうございました。
「超初心者のJava無料講習」
最新版のテキストにしたので、利用くださいね。
------------------------------------