可視化とSmootohing処理
機械学習をやっているとしばし学習を可視化したりします。
そこで便利なのがTensorboardと呼ばれるツールです。
実際にTensorboardを使ってモニタリングする際に、損失だったりValidationのスコアなどをそのままの数字で見ようとすると誤差などが大きかったりするのでプロットに対してSmoothing(=平滑化)を行える項目があります。
移動平均の場合は何プロットあたりで平均をとるのかなどを決めますが、Tensorboardの場合は0-1の間の実数値を指定してあげる必要があります。
TensorboardのSmoothingアルゴリズムはEWMA
この数字の意味なのですが、まずTensorboardでは平滑化に使われているアルゴリズムとして「指数加重移動平均(EWMA:Exponentially Weighted Moving Average)」が用いられています。
一応、式はこうなります。
指数移動平均値 = 今回の入力値 * α + 前回の入力値 * (1- α)
このアルゴリズムのパラメータαとして0~1の実数値を使います。
再帰的に計算するアルゴリズムとなっており、αの値が大きければ大きいほど滑らかなプロットになります。
以上、備忘録でした。
コメント