質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
86.12%
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

受付中

標準化と正規化について

purogutamu
purogutamu

総合スコア17

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。

1回答

0グッド

1クリップ

336閲覧

投稿2022/05/31 14:18

データの正規化についてお聞きしたいことがあります。

標準化(平均0,標準偏差:1)をしつ、正規化(ex,値を-1から1)することはできるのでしょうか。

つまり最終的に得たいものは、値が-1から1で平均0、標準偏差1となるようなものです。

以下が自分になりに実験してみた結果です。標準化->正規化をしたのですが、最終的に得られた配列の平均は0になりましたが、標準偏差は1にはなりませんでした。
よろしくお願いいたします。

python

1import numpy as np 2 3a = np.array([1,134,234,1,13,133,124,12,4365,235,345,-100]) 4print("元の配列:",a) 5 6avg = np.average(a) 7print("平均:",avg) 8 9 10sigma = np.std(a) 11print("標準偏差:",sigma) 12 13print("---------------") 14x_s = (a-avg) / sigma 15print("標準化:",x_s) 16print("平均:",np.average(x_s)) #平均: -9.25185853854297e-18 17print("標準偏差:",np.std(x_s)) #標準偏差: 0.9999999999999999 18max = np.max(np.abs(x_s)) 19print("最大値(絶対値):",max) 20 21 22print("--------------") 23 24x_d = x_s / max 25print("正規化:",x_d) 26print("平均:",np.average(x_d)) #平均: -4.625929269271485e-18 27print("標準偏差:",np.std(x_d)) #標準偏差: 0.3030811999388321

以下のような質問にはグッドを送りましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

グッドが多くついた質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

fourteenlength

2022/05/31 22:35

正規化をしながら標準化をする目的は何ですか? 知的好奇心で、なのか、プログラム上必須で、なのかで答え方が変わると思います。
purogutamu

2022/06/01 12:23

機械学習で、tanh関数を出力として使いたいからです。正規化のみで学習させてみたのですが、思ったよりも精度が悪かったので..... 知的好奇心と必須の両方があります。
fourteenlength

2022/06/01 13:54

ちゃんとした答えではないのでコメント欄に書きます。 標準化は幅を定義する代わりにばらつきを制御します。 正規化はばらつきを定義する代わりに幅を制御します。 片方を合わせると片方が満たせなくなります。藪に入りそうな感じがします。 > 機械学習で、tanh関数を出力として使いたいからです。 > 正規化のみで学習させてみたのですが、思ったよりも精度が悪かったので..... どのような機械学習を使うのかわかりませんが、ハイパーパラメータを調整すれば何とかなりそうな気がします。 質問を追加するか、この質問を変えるとよりうまくいきやすくなるように思います。

回答1

0

任意の分布を線形変換で標準化かつ正規化することはできません

投稿2022/06/02 01:28

編集2022/06/02 04:35
horiegom

総合スコア152

良いと思った回答にはグッドを送りましょう。
グッドが多くついた回答ほどページの上位に表示されるので、他の人が素晴らしい回答を見つけやすくなります。

下記のような回答は推奨されていません。

  • 間違っている回答
  • 質問の回答になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

このような回答には修正を依頼しましょう。

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
86.12%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

統計

統計は、集団現象を数量で把握することです。また、調査で得られた性質や傾向を数量的に表したデータのことをいいます。