使い分けがわからない。
日本語だと「正規化」とか「標準化」とか「正則化」書いてあって、 あまり厳密に区別していないように見える。 「Normalization Standardization Scaling」で検索すると、 多くの人が混同しているようで、 「違いがわかりません!」というページがたくさん出てくる。 ぜんぶ英語だけど。 で、自分なりにまとめてみた。 間違ってたら教えて偉い人。 ・Normalization 各ベクトルのL2ノルムが1になるように収める。 L1ノルムを指定することもあるらしい。 (ノルム norm を使うから normalization なの?) 「正則化」と訳してあることが多い。 L2ノルムとは各特徴量の二乗の和。 L1ノルムは二乗しない絶対値の和。 ちなL0ノルムもあって、値が0でない特徴量の和、らしい。 どんな説明を読んでも、なんかぴんと来ない(笑 ・Standardization 各ベクトルの平均0、標準偏差1にする。 これは各ベクトルなのか、 全ベクトルの特定の feature ごとなのか、 どっちもアリなのかは不明。 ちなみに R e1071 パッケージ svm の scale オプションは、 TRUE にすると、全ベクトルの各特徴量を串刺しで ゼロ平均+分散1の変換をするので、 厳密には standardization なのだろうと思う。 (標準偏差を見るから、standardization なのかも) ・Scaling 値を特定の範囲([0,1]とか?[-1,1]とか?)に収める。 これも、各ベクトルなのか、 全ベクトルなのか、 全ベクトルの特定のrowなのか、 全部アリなのかは不明。 normalization も standardization も含めて scaling と言ったり、 別扱いしているページもあったり、 色々でよくわからない。 参考(主なもの): http://scikit-learn.org/stable/modules/preprocessing.html http://blog.pengyifan.com/scale-standardize-and-normalize-data/ http://www.faqs.org/faqs/ai-faq/neural-nets/part2/section-16.html ××× 機械学習とかパタン認識とかの説明を読むと、 どうも日本語よりも英語のほうがわかりそうな気がする (多分に気のせいだと思うんだが)。 日本語に訳して、難しい感じになっちゃったり、 視認性が下がったりして読みづらくなっているのかなぁ。 例えば、クラス分類とクラスタリングを混同する人が多いのも、 classification / clustering と書くと、 全然違うから混同しないのではと思ったり。
by xiaoxia
| 2014-07-01 18:42
| コンピュータ関係
|
カテゴリ
以前の記事
2022年 12月 2021年 05月 2019年 12月 2018年 12月 2018年 05月 2018年 03月 2017年 03月 2017年 02月 2016年 08月 2016年 04月 more... 最新の記事
最新のトラックバック
ライフログ
今読んでる
その他のジャンル
記事ランキング
ブログジャンル
|
ファン申請 |
||