ふくだ学習録とは?
ふくだが学習したことの備忘録。
目に見える形で残すことによってやる気を出す個人的な作戦です。
他人に見せるように書いているわけではないので、すごく読みにくいです。
読了した本
データベースエンジニア養成読本 [DBを自由自在に活用するための知識とノウハウ満載!]
ゼロから作るDeepLearningを読んで
ニューラルネットワークの学習
ニューラルネットワークの学習とは、データから重みパラメータの値を自動で決定すること。
つまりデータを大量に集めれば集めるほど、重みパラメータが正確になっていく。
パーセプトロンの収束定理とは?
「パーセプトロンでは、線形分離可能な問題であれば、データから自動で学習することが可能」という定理。
福田的噛み砕きは、
複数階層を持っていないパーセプトロンでは、出力層にくる重み付き入力値は、全て一次関数の形を取っている。
線形可能な問題 = 一次関数の和で表現できるもの = パーセプトロンで表現できるもの
ということになるため、データから自動で学習することが可能。って感じで Q.E.D.(だと思ってる)
SIFT、SURF、HOGとは?
-
SIFT
Scale-Invariant Feature Transform。特徴点検出・特徴量記述を行うアルゴリズム。 -
SURF
Speeded-Up Robust Features。SIFTは比較的遅いアルゴリズム。それを高速化させるために考えられたアルゴリズム。 -
HOG
Histograms of Oriented Gradientsは、局所領域 (セル) の画素値の勾配方向ヒストグラム化して特徴量としたもの。
(おそらく)SIFT、SURF、HOG、全て文脈次第でアルゴリズムのことを指しているのか特徴量を指しているのか変わってくる。
まずSIFTを理解するためには下記サイトを見るべし!
SVM、KNNとは?
-
SVM
データを分類するための境界線を決定する際に、境界線から一番近いサンプルデータまでのマージンの和が最大になる線を境界線とする手法。分類も回帰にも利用できる。
サポートベクターマシーン(SVM) -
KNNk(近傍法)
自分から最も近い複数のデータのクラスの多数決で、分類する手法。
単純すぎて怠惰学習という異名を持つ。
k近傍法 ( KNN )
どちらもデータを分類分け(クラス分け)する際の手法。
OpenCV
画像処理するためのライブラリ。
機械学習もできると書いてあるけど、テストデータ作成とか、学習モデル作成とかもできてしまうのか…?
今度、実際使ってみて、何ができて何ができないのか体験してみる。
画像処理ライブラリ OpenCV で 出来ること・出来ないこと
過学習とは?
特定のデータセットだけに過度に対応して状態のことを指す。
過学習を避けることは、機械学習の重要な課題。
よく使用される損失関数
2乗和誤差や交差エントロピー誤差などがよく使用される。
今日の一言
勉強しててわかった。
自分が勉強したいのって「機械学習のための関数作成」じゃなくて「特徴量エンジニアリングの手法」ってことに気づいた。
機械学習自体は、
- パターン分析の理論をざっくり理解して、各特徴量に対してどのような分析を行えば良いのかを把握する。
- 実際の分析作業などは、(精度が高そうな)外部ツールやライブラリを使用
って感じで対応するのが、いちばんコスパ良さそう。
(ってか正しい推論モデル作れるようになる、ってのを目指すのは無理なんちゃうかな?)
追記
「正しいニューラル設計ができるようになろ!」って思ってたけど、それ自体が不要なんかも。
下記記事みたいに、ランダムにニューラルネットワーク作ってもらうようにした方が、性能あがるんかも。
(人のバイアスかからんくなるから、まぁ確かにそのほうが元々の思想近いし、精度も上がるならその方が良いかって感じではある)