IT is IT.

空想イノベーション

機械学習における学習”前”の工夫

正規化

入力データを学習する前に、各特徴量間のスケールを調整した方がよいケースがある。
例えば、経済指標を予測する場合、円とドルでは100倍もの差が生じている。
このようなケースでも、事前にスケールを調整し、パラメータの偏りをなくすことで、学習効率も上がる
この、データ全体を調整する処理を、正規化と呼ぶ。

正規化の手法で一番簡単とされているものが、各特徴量を0から1の範囲に変換する処理だ。
これは、各特徴量を、同じ特徴量の最大値で割ることで実現できる。
例えば画像などが、画素値の最大値である255で割ることで、正規化を行う。

標準化

各特徴量の平均を0、分散を1にし、各特徴量の標準正規分布に従うように変換することを標準化と呼ぶ。
機械学習では、入力のそれぞれの特徴量がどのように動いていくか、を見ることになるので、各特徴量の分散をそろえておくことで、それぞの特徴量の動きに対する感度を平等に見ることができるようになる。

スポンサーリンク
 

白色化

各特徴量を無相関化したうえで標準する手法を白色化と呼ぶ。
標準化よりも優れている側面がある一方で、非常に計算コストが高いため、一般的には標準化を用いることが多い。

重みの初期値を工夫する

重みの初期値自体はわからないため、勾配降下法に用いる初期値はランダムに設定せざるをえない。
この初期値はもともと、一様分布、あるいは正規分布に従う乱数が用いられているが、ディープニューラルネットワークではうまくいかないケースが多発した。

そこで、乱数にネットワークの大きさにあわせた適当な係数をかけることで、データの分布が崩れにくい初期値が考案された。
シグモイド関数では、Xavierの初期値が、ReLU関数ではHeの初期値がよいとされている。