見出し画像

機械学習のイラスト解説

最近,図とかイラストで機械学習を解説するという本がたくさん出てきた.図があればわかりやすいかというと,そうでもない本が多いようだ.イラストレーターが描いたキャラが,図の横で何か説明しているだけでは,captionとかわりがない.

本当に分かりやすい図というのは,対象とする問題に対する理解度に依存する.たとえば,AndrewJeremyの図は汚いが,理解の補助になるものが多い.

絵を描くのが上手な人が近所にいたので,イラストでPandas,scikit-learn, fastaiなどを解説する本を出そうかと思い立った.

たとえば,機械学習のカーネルの概念は分かりにくいので有名だが,ちゃんとした図解はないようだ.Andrewの講義では2次元の分布の和として説明していたが,それを1次元にしたのが冒頭の図だ.

x[j] = 0,1,2,3 の4点のデータを考える.y[0] = y[3] =1 で,y[1]=y[2] =0 を判別する.線形カーネルでは分離できない.各点を中心とした正規分布の密度関数からradial basis functionが定義され,y=1のものに対する重みは1,y=0のものに対する重みを-1として和をとったものがf(x)となり,それが正のときy=1と分類すればよい.

この図はExcelで描いたものだが,Excel+簡単な図解で本質を理解させるような本が,機械学習を勉強したい学生や社会人には良いような気がする.

追記:機械学習図鑑という本が届いたのでみてみたら,カーネルは以下のような図で説明している.

この図はx,y座標で考えると線形関数で分離できないように,円上に点を配置したデータに対するものだ.

from sklearn.datasets.samples_generator import make_circles
X, y = make_circles(100, factor=.1, noise=.1)
plt.scatter(X[:, 0], X[:, 1], c=y, s=50, cmap='autumn')

x,yの他に,中心からの距離をzにすると上の図ができる.こちらに詳細がのっている.当然,平面で分離できるが,これでカーネルの概念のすべてを説明するのは無理がある.

高次空間で考えて平面で分離という部分だけはあっているが,この図をどのように作ったかを説明しないで,これがカーネルであるというのは間違えている.書いた本人も分かっていない可能性が高い.


この記事が気に入ったらサポートをしてみませんか?