ICAは、与えられたデータを、統計的に独立な元データが混合されてできたものと考え、元データを再構成したもの(独立な成分)を求める手法である。信号処理の信号分離から発展したもので、いまでは教師なし学習のベーシックな手法の一つとして定着している。これをRumaleにも実装した。信号分離を例にFastICAの使い方を示す。データのplotにNumo::Gnuplotを使いたいので、Rumaleとあわせてインストールする。FastICAの実装では、Numo::Linalgを用いたのでこれもインストールする。必要に応じてサンプルコードは以下のようになる。2つの原信号(本来は未知で事前に知ることができない)がなんやかんやで混ざり、3つのセンサで観測されたとする(これが入力データとなる)。この3つの観測信号から、FastICAにより、2つの原信号を復元(推定)する。'2'])endこれを実行すると以下の三種類の信号の画像が得られる。原信号のサイン波と矩形波が混合され、3つのセンサで観測された感じになっている。2つの原信号が混合され3つのセンサで観測されたイメージ.この観測信号から、FastICAにより原信号に類似した信号を復元できている。もとのサイン波と矩形波がある程度復元できている.ICAでは、独立性のみを頼りに推定を行う。注意点として、順序や大きさが原信号と異なるものが得られる場合があることがある(今回はわりと上手くいった)。おわりにICAは、上記のサンプルで3信号から2信号を復元したように(3次元のデータから2次元の成分データを抽出したように)、次元削減として使うことも可能である。ICAには、主成分分析のような直交条件がないため、よりデータ分布にそった主軸をえることができる。ICA自体の研究は、まだまだ続いていて、様々な発展型が提案されている。(3)はてなブログをはじめよう!yoshokuさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。