プロが教えるわが家の防犯対策術!

sparse cordingの幾何学的な意味を教えて下さい

A 回答 (2件)

とりあえず 

https://oshiete.goo.ne.jp/qa/9054237.html
n次元のパラメータ空間の各点に対応するf(x)が、cordingしたいナニカを(近似的に)網羅する、という性質を持つようにモデルf(x)を拵えておく。(ここんところは学習的ではなく、天下りで与える。最も簡単なのは基底の組b[i]の線形和 f(x) =Σ{i} x[i]b[i] というモデル。特にbが互いに直交するようにしておくと計算が楽になる。)
 で、ベクトルxで表されるパラメータ空間の中で、学習対象となるサンプルのベクトルp[j]に対して残差p[j]-f(x)の適当な評価の総和(大抵は残差2乗和)とxのノルムの和を小さくする、という評価関数Eを最小化する。このとき、ノルムとして2乗ノルムではなく、|x|^α (0<α<2)を使う。 |x|^α = constant という方程式の解がなすグラフは2乗ノルム |x|^2 = constant の場合(つまり球殻)に比べて軸(どれかの成分)に沿った方向に伸びている。つまり、同じ残差なら、どれかの成分が0になっている方が評価関数をより小さくできる。これで、比較的少数の成分だけが0でないようなベクトルxによってp[j]が近似されたことになる。で、ほとんどのjについて0であるような成分iについてb[i]を不要として捨てる。
    • good
    • 1

Z=ΣCi*Xi みたいに表記した時に与えられたZに対してCi≠0の項を極力減らす事、もしくはCiの何らかの和(絶対値の和なり、二乗の和なり)を小さくすること で良いと思います



例えば100階調、1x4の画像があったとしたら画像の種類は100^4=1億通りできます
ただし、それは基底関数を
X1=1,0,0,0
X2=0,1,0,0
X3=0,0,1,0
X4=0,0,0,1
とすれば、1億通りの画像は全てこの重み付き和で表現できます
しかし、その場合殆どの絵に対して全ての係数が0以外を持ってしまう=4つの係数が必要になります

そこで、基底の数をもっと増やしてやり(2,1,0,0など)、基底の数は増えても一度に使う=係数が0でない物の数を抑えようというのが、スパースコーディングです
極論をいうと、1億個基底を用意したら、どの画像でもどれか一つの基底そのもので表せます(ただし、データ量は膨大になります)ので、最もスパースです

例えば脳の細胞(の一部)とかはスパースコーディングしてるとも言われてます
これは、一度に活動する細胞数を減らす=使うエネルギーを減らせるからという人も居ます
その代わり細胞がいっぱい必要になり、脳が大きくなってしまいます
    • good
    • 0
この回答へのお礼

少しわかりました。
ありがとうございます

お礼日時:2015/10/08 13:58

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!