信号とノイズが混ざっていたり、信号Aと信号Bが混ざっていたりと、邪魔な信号のせいで判然としない状況をなんとかして克服する信号処理はストレージや通信の世界ではよくあります.ぶっちゃけ次のようなのが例です.
例1) HDDやDVDやケータイや地デジですでに使われている最尤復号というのがあります.送信信号にあらかじめ規則性を持たせておきます.受信信号はノイズでボロボロにやられています.受信信号を規則性から最も逸脱しないように復号します.
ゆえに広い意味で最尤復号はノイズリダクションの一種といえますが、正しく復号する根拠、すなわち、正しいかどうかの判定基準は「あらかじめの規則性」なわけです.「あらかじめの規則性」をたくさん追加するとノイズリダクション性能は向上しますけど、冗長度が増えてしまうデメリットとのトレードオフでいろいろと工夫されます.
例2) 混ざった画像Aと画像Bを分離するために、AとBの直交性を根拠にして分離するやり方もあります.ベクトルAとBの内積がゼロに近ければ直交していると呼びます.混ぜたのがあまり直交してない画像(=似た画像)だと上手く分離できません.
例3) IEEE 802.11nの無線LANは、たくさんのデータを送るためにアンテナを4本にしたりします.すると4つの電波が混ざってグチャグチャになってしまいますが、逆計算をすれば必ず分離できますから実際にそうしています.逆計算の数式を決めるにはどうするか? 答えのわかっている学習データを送信して、受信機が最も上手く分離できる数式を決定します.(たぶん)
ノイズを除去するにせよ、混ざった信号を分離するにせよ、何らかの根拠が在るから出来ているわけで、手品には必ずタネがあるのと同じです.上の3例の太字が手品のタネです.タネが無いのに分離など出来てしまったら超能力になってしまいますから.
-----
では、スパースモデリングの手品のタネは何なのか?
とあるサイトから引用しますとスパースモデリングの仕組みは、
1) 高次元データの説明変数が次元数よりも少ないと仮定し
2) 説明変数の個数がなるべく小さくなることと、データへの適合とを同時に要請することにより
3) 自動的な説明変数の選択を可能にする枠組み
だそうです.
雰囲気的には多変量解析に近いみたいですが、1,2,3を読んでも具体的には何のコトやらさっぱりわからんちんです.
ネットをうろついて、このページの解説が判りやすかったです.
http://home.hiroshima-u.ac.jp/uemuram/?page_id=234
連立一次方程式を解く場面を考えます.Xが解きたい解です.この例のように、解きたいXがN個ある場合は、連立方程式がN本あれば解けます.正確にはM本≧N個ならOKOK.
ところが、スパースモデリングは、M本≦N個の連立方程式を解くというのですから、こりゃ超能力です.つまり、Xが100個(100次元)なのに、方程式が10本しかないじゃん、という場面です.そんなの解けるわけがあるか???
でも解けるのはなぜか? そのカラクリは、
たとえXが100次元であっても、90個のXがゼロであれば、解けるじゃん
というのがタネであるようです.スパースモデリングの語源は、
100個中90個がゼロである=まばらである=スパース
から来ています.まばらとか疎という意味だそうです.座標変換を良く知っている人なら、ある座標系では100次元のXが全て数値で満ちているけど、別の座標系では90個がゼロな場合もありうるというコトを判ると思います.そういう座標変換もスパースモデリングのテクニックの一つらしい.というか自動的にそうしてくれるみたい.
-----
Xのどの成分がゼロなのか? それを勝手に決めるんじゃねぇ!と主張したい気になる者の一人です、わたしも.
連立一次方程式を最小二乗法で解くのは従来から知られている方法です.これがその式です.
|y-Ax|^2は、観測値と推定値との距離、すなわちバッチリさの判断根拠です.どうして二乗なのかはピタゴラスの定理に出てくる二乗とまぁ同じです.
minは、推定値がなるべくバッチリであれ、という願望です.
「めくら撃ち」でxをあれこれと試してみて、偶然にバッチリが達成できたとしたら、、、そのxが連立一次方程式の解なわけです.実際にはxの「めくら撃ち」ではなく、何らかの根拠のあるxを試すのですが、その解説はまたの機会にいたします.
スパースモデリングも最小二乗法の変形で解くらしい.その式は、
ちなみに、統計処理向けの「R言語」というのがあります.Rでスパースモデリングを解くこともできるらしいです.ふ~ん、、、
スパースモデリングは脳神経科学から出てきたらしいです.脳が不要な情報をそぎ落とす動作と関係しているとかなんとかでしょうか?
通信とかストレージには使えそうにないかな? ビッグデータには使えそう.
かしこ
人気ブログランキングへ
PRMLって2~3dBのマージンが増えるんでしたっけ?
返信削除もう一生使うことのない技術です。職業訓練では出てきません。。。。
符号理論を習う職業訓練があったら相当ビビりますね.(笑)
削除LDPCみたいに「シャノン限界」まで行ける符号なら理論的には6dBぐらい行けちゃうんじゃなかったかと思いますが、すでにウロ覚えです.まぁ、PRMLの類の理論ゲインを現実に叩きだせる場面はあまり無いもんでしてね.(泣)
実は伝送理論はユニット訓練の中にあるんですよ。テキストは最近見ました。
削除でもそれを訓練に採用しているところは今のところないような。
http://www.tetras.uitec.jeed.or.jp/CurriculumModel/unitsheet/?cd=EU403-1061-2
へぇぇカリキュラムに符号もあるんですね.工事担任者を受ける人向けってとこでしょうか? このへんは平易に解説しようとすると苦労しそうです.というか苦労してますかw
削除最近教えたのは有接点シーケンス制御とPLC制御でした。伝送理論はうちのカリキュラムに無いです。
削除有接点シーケンス制御ってリレーでコンピュータを作るみたいです.未体験ぞーん
削除昔はそうみたいですね。基本は論理回路ですから。
削除スパースと言えばLDPCを連想しますが、関連ありますか?
返信削除わたしも「まばら」と聞いてLDPCを連想しました.
削除でも、上のような調べモノをした結果、別なモノだと思いました.
スパースモデリングの最大の特徴は、100のデータから10のパラメータを上手に推定するところにあるようです.別の言い方をすれば、無駄だった90個のデータを如何に捨て去るかという信号処理.
それに対して、LDPCは基本的に100のデータから100のデータを取り出そうとする方式だと思います.基本的に捨てませんよと.
ただLDPCが「まばら」なのは事実で、何がまばらなのかというと、符号化するために必要なmatrixの次元が10x10すなわち100個のパラメータが必要であるところを、10個ぐらいのパラメータで済ましちゃうというような仕組みだったと思います.すなわちLDPCは、「あらかじめの規則」を削減出来るから冗長度を抑制できてうれしいなという技術だと思えば合ってるように思います.
LDPCというと野田さん??
削除はいはいそうです
削除アダプティブEQのLMSみたいな感じ?
返信削除最小二乗法(=LMS)の部分は同じなんだと思います.スパースの部分はいろいろと違うモノみたいです.
削除