統計的手法や可視化手法でデータを調べた後、 モデルのトレーニングが効果的に行えるよう データを変換する必要があります 説明します。クラウド コンピューティングと 正規化とは、 同様のスケールで作成する必要がありますたとえば、次の 2 つについて考えてみましょう。 機能:
- 特徴
X
の範囲は 154 ~ 24,917,482 です。 - 特徴
Y
の範囲は 5 ~ 22 です。
これら 2 つの特徴は範囲が大きく異なります。正規化によって、特定の
X
と Y
を同様の範囲(0 ~ 1 など)に拡張します。
正規化には次の利点があります。
- トレーニング中のモデルの収束が速くなります。 特徴によって範囲が異なる場合、勾配降下法は 「bounce」収束が遅い場合ですとはいえ、より高度なオプティマイザーは、 アダグラード Adam は、次の方法でこの問題から保護します。 効果的な学習率の変化を示します
- モデルがより優れた予測を推測するのに役立ちます。 特徴によって範囲が異なる場合、結果 有用性の低い予測になる可能性があります。
- 特徴値が非常に高い場合に「NaN トラップ」を回避するのに役立ちます。
NaN は、
数値ではありません。モデル内の値が
浮動小数点精度の上限がある場合は、代わりに値が
NaN
に設定されます。 です。モデル内の 1 つの数値が NaN になると、 モデルも最終的には NaN になります - モデルが各特徴に対して適切な重みを学習するのに役立ちます。 特徴量のスケーリングを行わないと、モデルへの注目が高すぎる 不十分な特徴に対する注目度が低いため、 非常に狭い範囲です
数値特徴の正規化では、異なる 1 つの特徴を
(年齢、収入など)に設定できます。
幅広い範囲をカバーする単一の数値特徴を正規化することも、
city population.
など
次の 2 つの機能を検討してください。
- 特徴
A
の最小値は -0.5、最大値は +0.5 です。 - 特徴
B
の最小値は -5.0、最大値は +5.0 です。
特徴 A
と特徴 B
のスパンは比較的狭くなっています。ただし、特徴 B
の
スパンが特徴 A
のスパンの 10 倍の幅があります。そのため、次のようになります。
- トレーニングの開始時に、モデルは特徴
A
が 10 倍であると仮定します。 より「重要」に特徴B
よりも低くなります。 - トレーニングに通常よりも時間がかかります。
- 結果として得られるモデルは最適ではない場合があります。
正規化しないことによる全体的な被害は比較的小さいただし、 特徴 A と特徴 B を同じ尺度に正規化し おそらく -1.0 から +1.0 です。
次に、範囲の差が大きい 2 つの特徴について考えてみましょう。
- 特徴 C の最小値は -1、最大値は +1 です。
- 特徴
D
の最小値は +5000、最大値は +1,000,000,000 です。
特徴 C
と特徴 D
を正規化しなければ、モデルは
最適ではありません。さらに、トレーニングが実際に完了するまでには、
完全に収束しないこともあり得ます
このセクションでは、次の 3 つの一般的な正規化方法について説明します。
- 線形スケーリング
- Z スコアのスケーリング
- 対数スケーリング
このセクションでは、その他の情報について説明します。 クリッピング。正解ではありませんが、 正規化の手法に加えて、クリッピングは無秩序な数値特徴を より優れたモデルが生成されます。
均等目盛
線形スケーリング(より一般的 (単に scaling と省略される)は、浮動小数点値を 通常は 0 から 1 までの自然な範囲を、 -1 ~+1。
線形スケーリングは、次のすべての条件が満たされている場合に適しています。
- データの下限値と上限値が経時的に大きく変化することはありません。
- 特徴に外れ値はほとんどまたはまったく含まれておらず、外れ値は あります
- この特徴は、その範囲全体にほぼ均等に分散されます。 つまり、ほとんどの年齢層でヒストグラムがバーをほぼ均等に表示します。
人間の age
が特徴であるとします。線形スケーリングは適切な正規化
次の理由で age
の手法を使用します。
- おおよその下限と上限は 0 ~ 100 です。
age
には、比較的少ない割合の外れ値が含まれます。全体の約 0.3% 人口は 100 人を超えています- ある年齢は他の年齢より優れていますが、 すべての年齢のサンプルが十分に含まれている必要があります。
理解度をチェックする
モデルの特徴であるnet_worth
が保持しているとします。
価値があります。線形スケーリングは適切な正規化
net_worth
の手法は?その理由もお聞かせください。
Z スコアのスケーリング
Z スコアは、値が平均からの標準偏差の数を表します。 例: 平均より 2 標準偏差大きい値 の Z スコアは+2.0 です1.5 標準偏差より小さい値 平均の Z スコアは-1.5 です
特徴を Z スコア スケーリングで表現すると、その特徴の 特徴ベクトルの Z スコア。たとえば、次の図では、2 つの ヒストグラム:
- 左の図は古典正規分布です。
- 右側は、同じ分布を Z スコア スケーリングで正規化したものです。
Z スコアのスケーリングは、図に示すようなデータにも適しています。 次の図のように、あいまいな正規分布のみを示しています。
Z スコアは、データが正規分布に従う場合や、 ほぼ正規分布のような分布になります
大部分の分布の中では、一部の分布が正常である
極端な外れ値が含まれている可能性があります。たとえば、ほぼすべての
net_worth
特徴量のポイントは 3 つの標準偏差にぴったり収まることがあります。
標準偏差が数百にもなり
平均値から外れています。このような場合は、Z スコアのスケーリングと
この状況に対処する別の形式の正規化(通常はクリッピング)を使用します。
演習:理解度をチェックする
成人のデータを保持するheight
という名前の特徴量でモデルをトレーニングしたとします。
身長は 1,000 万人の女性ですZ スコアのスケーリングは適切な正規化ですか?
height
の手法は?その理由もお聞かせください。
対数目盛
対数スケーリングでは、未加工の値の対数を計算します。理論的には、 対数は任意の底にできます。実際には、対数スケーリングでは通常、 自然対数(ln)
ログスケーリングは、データがべき法則分布に従っている場合に便利です。 簡単に言うと、べき乗法の分布は次のようになります。
X
の値が低いと、Y
の値が非常に高くなります。X
の値が増加すると、Y
の値は急速に減少します。 そのため、X
の値が高いと、Y
の値が非常に低くなります。
映画のレーティングはべき乗法の分布の好例です。実際に 図で示されていますが、
- ユーザーの評価が高い映画もあります。(
X
の値が小さいと、 (Y
の値)である必要があります。 - ほとんどの映画では、ユーザーの評価はほとんどありません。(
X
の値が高いと、 (Y
の値)である必要があります。
対数スケーリングによって分布が変化し、 予測精度を高めます
2 つ目の例として、書籍販売はべき乗法の分布に準じます。その理由は次のとおりです。
- ほとんどの出版された書籍は、ごく少数の部数、場合によっては 1 ~ 20 部を販売しています。
- 書籍の中には、数千部の中程度の数の書籍が販売されているものもあります。
- 100 万部以上を販売しているベストセラーはごく一部です。
トレーニング用の線形モデルをトレーニングして 表紙を買う人の割合です未加工の値で線形モデルをトレーニングすると、 100 万部を販売する書籍の表紙について調べる必要がある 100 部しか販売しない本の表紙よりも 10,000 部効果があります。 ただし、すべての売上高を対数スケールすることで、このタスクははるかに実行しやすくなります。 たとえば、100 のログは次のようになります。
~4.6 = ln(100)
1,000,000 対数は次のようになります。
~13.8 = ln(1,000,000)
つまり、1,000,000 という対数の方が 100 の対数より約 3 倍大きいだけです。 ベストセラーの書籍の表紙は、おそらく 3 倍くらい (なんらかの形で)小さな販売本の表紙よりも力強いのです。
クリッピング
クリッピングは、 極端な外れ値の影響を最小限に抑えます。簡単に言うと、クリッピングは通常、 外れ値の値を特定の最大値に減らします。クリッピングは おかしなアイデアかもしれませんが 非常に効果的です
たとえば、roomsPerPerson
という名前の特徴を含むデータセットについて考えてみましょう。
これは部屋の数(合計部屋数で割った値)を
住宅の入居者数などで区別されます。次のプロットは、以前の
特徴値の 99% が正規分布(
1.8、標準偏差 0.7)。ただしこの機能には
外れ値、極端な値の例も示しています。
このような極端な外れ値の影響を最小限に抑えるにはどうすればよいでしょうか。さて、
ヒストグラムは偶数分布、正規分布、べき法則ではありません
分散します単純にパラメータの最大値をキャップまたはクリップし、
roomsPerPerson
を任意の値(4.0 など)に設定します。
特徴値を 4.0 でクリップしても、モデルがすべての 指定することもできます値よりも大きいすべての値が 4.0 から 4.0 になりました。これが 4.0 という奇妙な傾きの原因となっています。それにもかかわらず、 元のデータよりもスケールされた特徴セットの有用性が高まっています。
ちょっと待って!あらゆる外れ値を任意の上限値まで減らすことができるか ?モデルをトレーニングする場合には、そのとおりです。
他の形式の正規化を適用した後に、値をクリップすることもできます。 たとえば、Z スコアのスケーリングを使用しているが、いくつかの外れ値で 3 よりもはるかに大きい絶対値になりますこの場合は、次のことができます。
- 3 より大きい Z スコアをクリップして、ちょうど 3 にします。
- -3 未満の Z スコアをクリップして、正確に -3 にします。
クリッピングにより、重要でないデータに対するモデルの過剰なインデックス化を防ぐことができます。ただし、 一部の外れ値は実際には重要であるため、値を慎重にクリップしてください。
正規化手法の概要
正規化手法 | 数式 | 使用場面 |
---|---|---|
均等目盛 | $$ x' = \frac{x - x_{min}}{x_{max} - x_{min}} $$ | 特徴が複数のゾーンにわたって均等に 固定範囲です |
Z スコアのスケーリング | $$ x' = \frac{x - μ}{σ}$$ | 特徴分布に極端な外れ値が含まれていない場合。 |
対数目盛 | $$ x' = log(x)$$ | 対象物が電力の法則に準拠しているかどうか。 |
クリッピング | $x > の場合最大$、$x'を設定= 最大 ドル $x が <最低額、$x' を設定= 最低額 |
特徴に極端な外れ値が含まれている場合。 |
演習:知識をテストする
データセンターの電力需要を予測するモデルを開発しているとします。
データセンター内部の温度に基づく生産性。
データセット内のほぼすべての temperature
値に該当する
摂氏 15 ~ 30 の範囲。ただし、以下の例外があります。
- 年に 1 回か 2 回、猛暑の日には、
31 と 45 は
temperature
に記録されます。 temperature
の 1,000 ポイントごとが 1,000 に設定されます 実際の温度ではありません。
次のうち、組織にとって妥当な正規化手法はどれですか。
temperature
?
1,000 という値は誤りであり、削除ではなく あります。
31 ~ 45 が正当なデータポイントです。 これらの値をクリッピングしたほうがよいでしょう。 データセットに、この温度範囲で十分な例が含まれていません 適切な予測ができるようにモデルをトレーニングしますただし推論中は したがって、クリップされたモデルでは、 温度 35 を温度 45 にする。