でーじデータ

機械学習に関する実験と理論をまとめます。

Embeddingについて Part1

入力データを低次元に特徴を埋め込むモデル構築に、最近私は取り組む機会が多くなっています。黙々と構築してきましたが、embeddingの良さをどのように測るべきか、ちゃんと厳密に考えていなかったなと痛感しています。モデルをさらに「改善」したいと思った時に、この改善ってどういうこと?となってしまいます。

感覚としては、モデルができるだけ多くの情報を埋め込む事が出来れば良いモデルとなりますが、それを確かめるためにはどうするべきでしょうか。

Autoencoderベースのモデルだと、再構築された出力から、入力データと比べることによってembeddingの情報量を調べる事ができます。

でももしAutoencoderから、LSTM+Autoencoderで時系列も考慮!みたいな改良を行なったとすると、後者は本当に改善したembeddingベクトルを生み出すのだろうか。再構築された出力結果を調べるだけでなく、embeddingベクトルの性質をみる必要があると思います。例えば、予測モデルの特徴量として活用して、精度が上がるかどうかなど。また、多数の予測モデルで多目的な予測の精度を確かめるなどすると良さそうだなと感じます。他には、クラスタリングなども使えそうですね。

 

embeddingモデルを構築したということは、何かの目的があり構築したはずなので、その目的を達するために改善したか測る方法を確立すると後々便利だなと感じております。

 

この記事は私の意見も入り混じっているので、何か色々とご意見をいただけると幸いです。