ノルムの計算方法まとめてみた
ノルムとは
大学の数学の授業になると、見慣れない記号が多く出てきますよね。もそんな記号の一つじゃないでしょうか。良く知ってる絶対値記号に似てるけど縦線多すぎ!、と思った人も多いでしょう。
まずノルムについてざっくり説明をすると、ベクトル空間で「長さ」を与える関数です。
絶対値が実数の「大きさ」を表していた記号なので、「ベクトル空間版絶対値」とイメージしてもそこまで間違ってはないと思います。
それでは以下でノルムについて詳しく見ていきましょう。
ノルムの定義
ノルム(norm)の定義は次のように定められています。
[条件①](斉次性)
任意の実数と次元ベクトルに対して、
[条件②](正値性)
次元ベクトルと零ベクトルに対して、
[条件③](三角不等式)
次元ベクトルに対して、
定義だけ見ても詳しい計算はあまりわかりませんね。それもそのはずで、ノルムにはたくさんの種類があるのです。次にたくさんあるノルムの中でも良く使われるL1ノルム・L2ノルムの二種類をみていきましょう。
もし、添え字の無いのことだけ知りたい人はL2ノルムの項目をお読みください。
よく使われるノルム:L1ノルム・L2ノルム
それではL1ノルム・L2ノルムの二種類についてみていきます。ノルムの種類が明確に表記される時にはの右下に添え字がつけられます。
L1ノルム
L1ノルムはと表され、ベクトルの要素の絶対値の総和で計算されます。
式では次のように表されます。
具体例をみていきましょう。
例2)4次元ベクトルのL1ノルムを求めよ。
L1ノルムの値はL1距離もしくはマンハッタン距離と呼ばれます。この値を変化させるとL1ノルムでは以下のような頂点が軸上にある正方形の等高線が描かれます。
L2ノルム
L2ノルムはと表され、ベクトルの要素の、絶対値の自乗の総和の平方根で計算されます。添え字の無いもほとんどの場合、このL2ノルムを意味します。 式では次のように表されます。
この式は2次元の場合、ピタゴラスの定理(三平方の定理)と同等の式になります。 また、標準内積を用いると と表すこともできます。 具体例をみていきましょう。
例2)4次元ベクトルのL2ノルムを求めよ。
L2ノルムの値はL2距離もしくはユークリッド距離と呼ばれ、私たちが直感的に理解している2点間の直線距離を表します。この値を変化させるとL2ノルムでは以下のような原点中心の円形の等高線が描かれます。
L1・L2以外のノルム:Lp・L∞・L0
次にL1ノルム・L2ノルム以外のノルムについてみていきましょう。一般化されたノルムはを用いてLpノルムと表されます。また特有のLノルムとL0ノルムというものも存在します。
Lpノルム
上記でも述べたようにLpノルムは一般化されたノルムを表しています。はという制限がありますので注意してください。
Lpノルムの計算はベクトルの要素の、絶対値の乗の総和の乗根で計算されます。式では次のように表されます。
具体例をみていきましょう。
例2)4次元ベクトルのL100ノルムを求めよ。
例3)2次元ベクトルのL1.5ノルムを求めよ。
このようにが1以上の実数であればそれに対応するLpノルムは計算できるので無数の種類のLpノルムが存在します。
L∞ノルム
Lノルムは最大値ノルムや一様ノルムとも呼ばれ、と表されます。LノルムはLpノルムのをとした極限の値で、ベクトルの要素の絶対値の中での最大値を表します。式では次のように表されます。
具体例をみていきましょう。
例2)4次元ベクトルのLノルムを求めよ。
ノルムの値をを変化させるとLノルムでは以下のような各辺の中点が軸上にある正方形の等高線が描かれます。
pによる等高線の変化
またここでによって等高線がどのように変化するのかを整理しましょう。以下の図にそれぞれでとなる2次元ベクトルがどのような点にあるのかをしましました。 L1ノルムは頂点が軸上にある正方形で、L2ノルムは単位円になっています。L1.5ノルムはL1ノルムとL2ノルムの間で丸っぽい図形をしています。またLノルムは各辺の中点が軸上にある正方形になっており、L10ノルムはL2ノルムとLの間で角の丸まった正方形となっています。
つまりが大きくなるにつれて頂点が軸上にある正方形()→原点中心の円()→各辺の中点が軸上にある正方形()というように徐々に変化していきます。
L0ノルム
L0ノルムはと表され、ベクトルの要素のうちで0ではないものの個数を意味します。 式では次のように表されます。
上の式でのはの非ゼロの集合を表しており、式では)と書かれます。
具体例をみていきましょう。
例2)4次元ベクトルのL100ノルムを求めよ。
他のノルムに比べると0じゃないものを数えるだけなのでとても簡単ですね。しかしL0ノルムには一点注意しないといけないことがあります。 というのもL0ノルムは数学的なノルムの定義を満たしません。上のノルムの定義の条件①の斉次性について考えてみましょう。あるベクトルの非ゼロの個数とを0以外の実数倍したものの非ゼロの個数は同じになります。そのためL0ノルムでは斉次性が成立せず厳密にはノルムではありません。(条件②の正値性と条件③の三角不等式は成り立ちます。)
となる
またなので
よって となり斉次性が成り立たない。
このことからL0ノルムはノルムとは呼ばずL0擬ノルムや濃度と呼ばれるともあります。
ベクトル・行列を含む微分の計算方法まとめてみた
ヤコブ行列(ヤコビアン)
まず準備としてヤコビ(Jacobi)行列の定義を確認します。ヤコビ行列はヤコビアン(Jacobian)とも呼ばれる微分係数を多変数関数へ一般化したものです。
2変数の級関数とを用いて、2次元ベクトルを
とをそれぞれ全微分すると、 となります。これらをまとめて表記すると以下のように書くことができます。 ここに出てくる がヤコビ行列となります。
これを一般化すると, それでは具体例をみていきましょう。
ベクトルと微分
それではベクトルを含んだ微分の一般式をみていきましょう。以下の3種類に分けて説明していきます。
ベクトルをスカラーで微分
スカラーをベクトルで微分
ベクトルをベクトルで微分
次元ベクトルを次元ベクトルで微分すると次のようになります。
これはお気づきの通りヤコビ行列となります。ベクトル同士の微分の方法を忘れてしまった場合はヤコビ行列の定義を思い出すとよいと思います。イメージとしては、が成り立つを、の全微分から考えるです。
行列と微分
続いて行列を含んだ微分の一般式をみていきましょう。以下の2種類に分けて説明していきます。
行列をスカラーで微分
スカラーを行列で微分
人工知能(AI)と機械学習って何がちがうの?
人工知能とは
人工知能と聞いて皆さんは何を思い浮かべるでしょうか?SFに出てくる、何でも自ら判断して行動するドラえもんのようなロボットを想像する人もいるかもしれません。実際にこのようなものは人工知能の一種ではあります。しかしそれだけが人工知能ではありません。それでは、初めに人工知能という言葉についてみていきましょう。
人工知能の定義
人工知能(Artificial Intelligence:AI)という言葉は、1956年の夏にアメリカで開催されたダートマス会議で初めて登場しました。人工知能の定義は明確には定められておらず、人により多少のばらつきがありますが、広辞苑では以下のように述べられています。
推論・判断などの知的な機能を人工的に実現するための研究。また、これらの機能を備えたコンピューター‐システム。1956年に、アメリカのマッカーシー(J. McCarthy1927〜)が命名。知識を蓄積するデータベース部、集めた知識から結論をひきだす推論部が不可欠である。データベースを自動的に構築したり誤った知識を訂正したりする学習機能を持つものもある。
-広辞苑第六版
与えられたプログラムを従順に実行していくだけのシステムとは異なり、自ら判断を行うシステムが人工知能と呼ばれています。つまり何でも判断ができなくても、何かしら判断ができれば人工知能に含まれるのです。
強いAIと弱いAI
ここで何でも判断できるAIと限られたものだけ判断できるAIは同じ扱いなのかという疑問が生まれてきます。この2つのAIは哲学者のジョン-サールによりそれぞれ「強いAI」と「弱いAI」というグループに分類されています。
強いAI
強いAIは汎用人工知能(Artificial General Intelligence:AGI)とも呼ばれ、上で述べている何でも判断できるAIに当てはまります。このAIは生物(特に人間)の知能を再現した、ある意味心を持った人工知能であり、ドラえもんやターミネーターといった例に挙げられます。例からお気づきの方も多いと思いますが、強いAIはまだ実現できていません。「強いAI」という言葉を生み出したジョン-サールは強いAIは実現不可能だと述べました。しかし現在多くの研究者がこの強いAIの実現を目標に研究をしているおり、実現される日もそう遠くはないかもしれません。
弱いAI
弱いAIは特化型人工知能(applied AI、narrow AI)とも呼ばれ、上で述べている限られたものだけ判断できるAIに当てはまります。画像処理や文章の処理、ゲームの人工知能などが分類され、具体的には自動運転のシステムや将棋ソフトウェアのPonanzaなどが挙げられます。残念ながらPepper君も心を持って人と接しているとは到底言えず、弱いAIに分類されます。私たちの生活の多くの場面でAIが取り入れられています。つまり、それだけたくさんの種類の弱いAIが存在しているということになります。
人工知能と機械学習の違い
人工知能についてだいたいわかったところで本題に入りましょう。
人工知能と同時に機械学習という言葉も使われることが多く、同じものなの?と思っている人も多いでしょう、私もその一人でした。
結論から述べると機械学習は人工知能の分野の一つになります。
人工知能には様々な分野があります。
分野 | 内容 |
---|---|
機械学習 | データを用いた学習を行うことによりアルゴリズムが自動で改変されます。 |
遺伝的アルゴリズム | データを生物の遺伝子にみたてたもの。適応度の高いデータ同士を交差させたり、突然変異を起こすことで最適なものを探します。 |
群知能 | データを生物の群れにみたてたもの。簡単なアルゴリズムを持つデータを複数集めることで複雑な振る舞いを実現します。 |
上の表は人工知能の種類の一部で他にもファジィ制御やエキスパートシステムなどがあります。人工知能といっても偏に同じものではなく、様々な分類、種類に分けられています。