読者です 読者をやめる 読者になる 読者になる

竹林のゆとりブログ

山奥で生活し、日々の思いをつらつらと書くブログ。 IT、数学、アニメなど。

パターン認識と機械学習の第1章を読んで驚いた話

機械学習 数学

パターン認識と機械学習 上

パターン認識と機械学習 上

機械学習で一番理論をしっかりした本として定番となっている本です。

これを読んでみて、衝撃を受けました。

数学的に雑すぎる。

1.1の最初で衝撃を受けたんですが、最低限いくつか紹介させてください。

Suppose we observe a real-valued input variable x and we wish to use this observation to predict the value of a real-valued target variable t.

変数に対して、inputやtargetなんて、初めて聞きました(笑。 無駄に入力に絞る必要ないでしょう。みてるのはxとtの関係であって、必ずtはtargetであるわけでもないし。そもそも変数を何だと思っているのでしょうね?。 observeしてるのはinputだけなのかとか…。

要は関数を特定したいと言っているんですよね。 有限個の点で、関数の値がわかった時に、可能な限り、その関数が何か知りたい。 そう言っているんですよね。

もしかしたら、これはxに対しtが一意に定まらないために、関数という言葉を避けたと深読みできなくもありませんが…

Now suppose that we are given a trainig set comprising N observations of x, written $$ \mathbb{x} \equiv (x_1,\dots,x_n)^{T} $$

これもかなり気持ち悪いんだけど、俺だけですかね。written??表記の問題ではなくてN個の実数値を自分でベクトルだとみなしているんですよね。

別に本質的に難しいと言ってるわけじゃないです。
ただ、意味を察しづらい書き方がされすぎて、数学に詳しくない人はよくわからなくて、混乱するんだろうなとしみじみとおもった話です。

何が問題か

機械学習というものは数学プロパーな人がやるものじゃないから、数学屋さんと同じ言語を使う必要はありません。 それは別に最悪無視していいです。

でも、この教科書を読んでみて、問題は3つあると思ってます。

  • 表記に無駄が多い。
    InputとTargetなんてまさにいらないでしょう。関数という言葉で、定まるし。関数は高校レベルでも知っているものだと思うんですがね。
  • 間違っている 軽くみても、変数なのか、値なのかを区別していなくて、混同されてているものがあります。
  • 学ぶ人が何がなぜ正しいのかが理解できない これだと書いてあるから正しいらしいけど…としかなれないし、数学できない人は全く理解できないとなりますよね。

だからなるべく、数学的に厳密に話を展開しながら、このブログ上で説明していきたいと思います。