まとめノルムって何?(簡単に言うと)原点などからある点までの距離(大きさ)をノルムといいます。ノルムにはいくつか種類があって、代表的なものとしてはL0ノルム、L1ノルム、L2ノルムなどがあります。L0ノルムこれは0以外の値を持つ次元の数のことです。(ちゃんとした定義を知りたい方は以下の資料を見ましょう。)L1ノルムこれは各次元の値の絶対値の和のことです。「マンハッタン距離」という距離の考え方と同じ計算式です。L2ノルム各次元の値を2乗した和の平方根がL2ノルムです。「ユークリッド距離(普通の距離のことです)」という距離の考え方と同じ計算式です。L2ノルムは中学校でも習ったおなじみのものです。下のグラフの矢印の長さを求めます。グラフ表示plt.xlim([-5,5])plt.ylim([-5,5])plt.grid()plt.draw()np.linalg.normの使い方np.linalg.normはノルムを計算する関数です。引数に配列を渡せば他のNumPy関数同様に計算してくれます。大事な引数であるordを中心にコードを見てみましょう。L2などの指定に使うパラメータです。np.sum(np.abs(X))7L2ノルム三平方の定理を思い出してください。np.sqrt(np.sum(np.abs(X**2)))5.0ノルムって何に使えるの?ノルムの計算、特にL1ノルムやL2ノルムは、ニューラルネットワークの不要なパラメータを削ったり、過学習を防ぐために使われています。L1正則化、L2正則化などと呼ばれるものです。結合重みのノルムを計算して、この値を損失関数にペナルティ項として追加することで利用します。詳しく知りたい方は以下の記事がおすすめです。まとめこの記事では、NumPyでノルムを計算する関数「np.linalg.norm」を紹介しました。機械学習の実装ではL1ノルムやL2ノルムが大活躍しますよ。使い方も簡単なので、是非使ってみてください!TweetPocket無料でSEからWebエンジニアへ転職しませんか?侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、システムエンジニアという職業だけどコードが書けない事務作業が多くスキルがないため将来が不安スクールに通うと完全未経験者と同じスタートになるからレベルが合わないという、すでに知識があるSEならではのお悩みがあることに気づきました。弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。こちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。無料体験レッスンを予約する書いた人フクロウ第一言語はPythonです。皆さんRustやりましょう。