はじめに
今年に入って,機械学習・深層学習について勉強を進めてます.
現在,それぞれ1冊づつ読み終えた感じなので,整理の一環で記事を書くことにしました.
偏った見解や誤った情報を載せてしまっているかもしれないので,それを念頭に読んでいただけると幸いです.
極力カタカナ表記をしないようにする.もしくは,合わせて英語表記を入れることにしてます.
そのキーワードの意味が見えなくなることを避けるためです.
両技術に共通して言えること
両技術ともに,インプットのデータを解析して分類・回帰予測すると言う流れになっているというもの.
この解析の部分が,機械学習と深層学習で大きく違うことになる.
似たようなものにAI(人工知能)があるが,これについてはこの記事では一切触れないことにする.
(と言うよりAIの知識が皆無のため)
基礎・関連している分野
情報処理
これは,コンピュータを使っている以上,基礎スキルとして,身につけておくべきものだろうと考えてる.
機械学習・深層学習に於いては,特に,データがアンケートやテキストのような1次元データや画像のような2次元データのもの,更に,時系列を加えたストリーミングデータ・動画像など様々ある.これらをプログラムで処理するので,取り扱いたいデータがどんな性質があるかを知っておく必要があるだろう.
微積分
結果から得られる理想値と実測値との誤差の最小化や観測データの累積,最適化問題を解くために,微積分の知見やテクニックが必要となる.
線形代数学
一度に多くのパラメータを取り扱うため,ベクトル・行列の計算テクニックを利用する.
また,膨大な計算量を少しでも減らすためのテクニックが線形代数学に知見があるため,大いに活用する.
スカラー・ベクトル・行列を更に一般化したテンソル(Tensor)は,名前は知ってる程度なので触れないでおく.
統計学
機械学習・深層学習は分類・回帰予測が得意分野となる.この分野は統計学で様々な知見がある.
主に,観測されたデータを元に,理想値と実測値の誤差を最小にするために,モデルを最適化するときに活用できる.
最後に
機械学習・深層学習の中で,モデルを組み立てて,内部変数(重みパラメータ)を決定させるための最適化問題がある.
この問題を解くために最も使われるのが最小二乗法(Least Squares Method)が上記の分野の寄せ集めのようなものだと思う.
これ以外にも,損失関数やLagrange未定乗数法,サポートベクターマシン(SVM),パーセプトロンPerceptron,
ニューラルネットワーク(Neural-Network)やボルツマンマシンなど次々と難しい理論や仕組みが出てくる.
これを基に1つづつ記事に出来れば良いなと思ってます.