質問: matlab で独立成分分析(independent component analysis; ica)を行うことはできますか? matlab で独立成分分析(independent component analysis: ica)を行う方法を教えてください。
回答: matlab バージョンによって、異なります。 ■r2017a 以降のバージョン 独立成分分析そのものではありませんが、statistics and machine learning toolbox の関数 rica を使用することで、独立成分分析の派生アルゴリズムである再構成コストつき独立成分分析 (reconstruction ica; rica) を使用することができます。(ここでのコストとは、罰則項、あるいは正則化項のことを指します。) このアルゴリズムは、通常の ica の正規直交制約をより滑らかなコストで置き換えることで、計算の収束速度の短縮や局所的ではなく大域的な直交性を持つ特徴抽出をを可能にしています。再構成コスト付き独立成分分析のアルゴリズムについては以下のドキュメントに詳細があります。 - reconstruction ica アルゴリズム https://jp.mathworks.com/help/stats/feature-extraction.html#bvmxyf6-1 ■r2016b 以前のバージョン 独立成分分析を行うための機能は、statistis and machine learning toolbox では提供されていません。 なお、下記 url にて matlab を用いた独立成分分析のコードが公開されています。 ただし、フリーで公開されているファイルの内容に関しましては、直接プログラム作成者の方にお問い合わせください。 ・the fastica package for matlab http://research.ics.aalto.fi/ica/fastica/ ・nlpcamatlab http://www.nlpca.org/ica_independent_component_analysis.html ・icalab toolboxes https://web.archive.org/web/20191229160146/https://bsp.teithe.gr/members/downloads/icalabsignal.html https://web.archive.org/web/20191229160146/https://bsp.teithe.gr/members/downloads/icalabimage.html