
Regonn&Curry.fm Episode 120収録後記 テーブルデータでVAE
このnoteは、Regonn&Curry.fm というポッドキャストの第120回の収録後記です。
120回ではTellusのeラーニング教材追加、ColabPro、日本取引所グループ ニュース分析チャレンジ、バスケコンペ終了、今週のKaggleについて話しました。
最近はSIGNATEの日本取引所グループのコンペに取り組んでいて、関連する技術等を調べていると株式会社ソニーコンピュータサイエンス研究所が出している資料に運用機関の選定にVAE(Variational Autoencoder)を用いていることが書かれていました。
VAEは画像で使われるイメージがあったので、このようにテーブルデータに対しては、あまりやったことが無かったのと、システムトレード等で複数のモデルがあった場合のポートフォリオの参考情報として役に立ちそうだったので今回試してみました。
VAEのコードは、MNISTでの処理がメインでMaxPooling等の画像特有の処理が組み込まれている物が多かったですが、次の記事ではLinearで扱っていたので参考にしました。
出来上がったコードはこちらです。
今回の目標は、モデルの時系列的な予測値を比較したかったので、サンプルとしてSin波とCos波にノイズを与えたものでVAEを行ってみました。
VAEモデルの中のニューロン数やトレーニングの回数等は扱うデータ量や複雑さによって適宜調整が必要な気がしますが、潜在空間を確認しても、Sin波とCos波を分別できていそうです。
さらに元の参考にした資料だと、ここにSHAP(SHapley Additive exPlanations)を導入することで、解釈性も出すことができそうなので、もう少し自分のモデル等でも試していこうと思っています。