機械学習
機械学習とは
機械学習(統計的学習)
データをもとに対象の数学モデルを作る枠組み
これをもとに、予測、分類などを行って問題解決
そもそも「学習」とは
「ある状況における繰り返された経験によってもたらされたその状況に対する動作の変化」を意味する(Hilgard, E. R., 1975)
「過去の経験」を適切に「学習」していれば、本質的に似たような状況に遭遇したときに適切に対応できる
人間は生まれながらに「学習」する能力を持っている
コンピュータに学習のメカニズムをもたせる手法 → 機械学習
コンピュータによる「学習」
これが何かをコンピュータに判断させるには?
https://gyazo.com/018deb7d94ffa055042c15b284ad1d5d
たとえばこんな手順?
画像としてコンピュータに入力
256×256画素だったとして、「1つめの画素が白、2つめの画素が白、……300個目の画素が黒、301個目の画素が白、……65535個目の画素が白、65536個目の画素が白、であれば「あ」と判断する」という65536個の条件をプログラミングする…??
これだと「その画像」にしか対応できず、また非常に煩雑で現実的ではない
機械学習ではどのようにこれを実現しようとするか
たくさんの「事例」を用意する
https://gyazo.com/c682762fc687e9ab1774971f16ef6355
多くのデータをもとに、『データの要素がこうなっていれば「あ」だ』というような法則を統計学的に「学習」する「しくみ」をプログラミングする
「法則」が学習できていれば、新しいデータに対しても、学習した「法則」に従って答えを判断できる
https://gyazo.com/509b358d4391e86af0748facfb4514cd
教師あり学習・教師なし学習
「正解」のラベルがついたデータからの学習を「教師あり学習」とよぶ https://gyazo.com/c682762fc687e9ab1774971f16ef6355
https://gyazo.com/38067ab164c923df6901ed90783eafa7
「これが何かはわからないが、別々の2グループに分類できそう!」 という分類規則を「学習」する → 教師なし学習
教師あり学習が活用されるタスク
分類問題(Classification)(パターン分類、クラス分類) 入力されたデータ(パターン)をあらかじめ用意されたいくつかのカテゴリー(クラス)に分類する問題
https://gyazo.com/35ccf695ed28777ac7b10ce4e1ed327f
入力された値をもとに、何らかの数値を予測する問題
https://gyazo.com/b4736d31d0c2ca1620fbf3db1529e46d
データの入力$ x・出力$ yの間の「関数」を求める問題(関数近似)になる
$ y = f(x)をデータから推定する($ yは連続値)
https://gyazo.com/8d2f6fee2875bcb43b7dc898259548ed
入出力の関係を学習する
回帰も分類も、「入力から出力への関数(写像関係)」を学習する問題に帰着する
https://gyazo.com/0b81c4e9e00b7829a60226e135735116