2018年8月4日土曜日

DeepLearning メモ

・単層パーセプトロン
\[ y = \begin{cases} 0 & (w_1x_1+w_2x_2 \leqq \theta) \\ 1 & (w_1x_1+w_2x_2 > \theta) \end{cases} \]
x1とx2がin
yがout
\[ b = -\theta \] と置き換えると、最初の式が、こうなる。 \[ y = \begin{cases} 0 & (b + w_1x_1+w_2x_2 \leqq 0) \\ 1 & (b + w_1x_1+w_2x_2 > 0) \end{cases} \] さらに \[ x = b + w_1x_1+w_2x_2 \\ y = h(x) \] と置くと、 \[ h(x) = \begin{cases} 0 & (x \leqq 0) \\ 1 & (x > 0) \end{cases} \]
分類問題と回帰問題
分類問題 → 何かを分類する 犬か猫か → 恒等関数
回帰問題 → 予測する → ソフトマトリックス関数
MNINST
・28*28ピクセルの画像がいっぱい入っているデータのセット。

・訓練用の画像が6000枚, テスト用の画像が10000枚入っている。
・以下の関数で画像を読み出すことができる
(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)
・x_trainとt_trainは訓練用の画像(の配列)と、正解を表す数字(の配列)が入っていて、
・x_testとt_testはテスト用の画像(の配列)と、正解を表す数字(の配列)が入っている。
・例えばt_trainの0番目の要素(t_train[0])は、5が入っている。
・また、x_trainの0番目の要素(x_train[0])は、次のような数値がはいっている。
28*28=784この要素を持つ配列になっており、各要素には256階調の数値が入っている。

4.1.1データ駆動のあたりで出てくる用語の整理
・SIFT : Scale-Invariant Feature Transform → よくわからないけど、特徴点を出す手法の一つみたい。
参考URL http://lang.sist.chukyo-u.ac.jp/classes/OpenCV/py_tutorials/py_feature2d/py_sift_intro/py_sift_intro.html

・SURF : Speeded-Up Robust Features → SIFTの高速化バージョン
参考URL http://lang.sist.chukyo-u.ac.jp/classes/OpenCV/py_tutorials/py_feature2d/py_surf_intro/py_surf_intro.html

・HOG : Histograms of Oriented Gradients → よくわからないけど、特徴点を出す手法の一つみたい。
参考URL https://qiita.com/mikaji/items/3e3f85e93d894b4645f7

・SVM : サポートベクターマシン → 分類するときに使われる手法
参考URL http://www.sist.ac.jp/~kanakubo/research/neuro/supportvectormachine.html

・KNN : k近傍法  → 分類するときに使われる手法(多数決できめる)
参考URL https://qiita.com/yshi12/items/26771139672d40a0be32