ノルムの計算方法まとめてみた
ノルムとは
大学の数学の授業になると、見慣れない記号が多く出てきますよね。もそんな記号の一つじゃないでしょうか。良く知ってる絶対値記号
に似てるけど縦線多すぎ!、と思った人も多いでしょう。
まずノルムについてざっくり説明をすると、ベクトル空間で「長さ」を与える関数です。
絶対値が実数の「大きさ」を表していた記号なので、「ベクトル空間版絶対値」とイメージしてもそこまで間違ってはないと思います。
それでは以下でノルムについて詳しく見ていきましょう。
ノルムの定義
ノルム(norm)の定義は次のように定められています。
[条件①](斉次性)
任意の実数
[条件②](正値性)
[条件③](三角不等式)
定義だけ見ても詳しい計算はあまりわかりませんね。それもそのはずで、ノルムにはたくさんの種類があるのです。次にたくさんあるノルムの中でも良く使われるL1ノルム・L2ノルムの二種類をみていきましょう。
もし、添え字の無い
よく使われるノルム:L1ノルム・L2ノルム
それではL1ノルム・L2ノルムの二種類についてみていきます。ノルムの種類が明確に表記される時にはの右下に添え字がつけられます。
L1ノルム
L1ノルムはと表され、ベクトルの要素の絶対値の総和で計算されます。
式では次のように表されます。
具体例をみていきましょう。
例2)4次元ベクトル
L1ノルムの値はL1距離もしくはマンハッタン距離と呼ばれます。この値を変化させるとL1ノルムでは以下のような頂点が軸上にある正方形の等高線が描かれます。
L2ノルム
L2ノルムはと表され、ベクトルの要素の、絶対値の自乗の総和の平方根で計算されます。添え字の無い
もほとんどの場合、このL2ノルムを意味します。
式では次のように表されます。
この式は2次元の場合、ピタゴラスの定理(三平方の定理)
例2)4次元ベクトル
L2ノルムの値はL2距離もしくはユークリッド距離と呼ばれ、私たちが直感的に理解している2点間の直線距離を表します。この値を変化させるとL2ノルムでは以下のような原点中心の円形の等高線が描かれます。
L1・L2以外のノルム:Lp・L∞・L0
次にL1ノルム・L2ノルム以外のノルムについてみていきましょう。一般化されたノルムはを用いてLpノルムと表されます。また特有のL
ノルムとL0ノルムというものも存在します。
Lpノルム
上記でも述べたようにLpノルムは一般化されたノルムを表しています。は
という制限がありますので注意してください。
Lpノルムの計算はベクトルの要素の、絶対値の乗の総和の
乗根で計算されます。式では次のように表されます。
具体例をみていきましょう。
例2)4次元ベクトル
例3)2次元ベクトル
このように
L∞ノルム
Lノルムは最大値ノルムや一様ノルムとも呼ばれ、
と表されます。L
ノルムはLpノルムの
を
とした極限の値で、ベクトルの要素の絶対値の中での最大値を表します。式では次のように表されます。
具体例をみていきましょう。
例2)4次元ベクトル
ノルムの値をを変化させるとL
pによる等高線の変化
またここで
またL
つまり
L0ノルム
L0ノルムはと表され、ベクトルの要素のうちで0ではないものの個数を意味します。
式では次のように表されます。
上の式での
具体例をみていきましょう。
例2)4次元ベクトル
他のノルムに比べると0じゃないものを数えるだけなのでとても簡単ですね。しかしL0ノルムには一点注意しないといけないことがあります。 というのも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が存在しているということになります。
人工知能と機械学習の違い
人工知能についてだいたいわかったところで本題に入りましょう。
人工知能と同時に機械学習という言葉も使われることが多く、同じものなの?と思っている人も多いでしょう、私もその一人でした。
結論から述べると機械学習は人工知能の分野の一つになります。
人工知能には様々な分野があります。
| 分野 | 内容 |
|---|---|
| 機械学習 | データを用いた学習を行うことによりアルゴリズムが自動で改変されます。 |
| 遺伝的アルゴリズム | データを生物の遺伝子にみたてたもの。適応度の高いデータ同士を交差させたり、突然変異を起こすことで最適なものを探します。 |
| 群知能 | データを生物の群れにみたてたもの。簡単なアルゴリズムを持つデータを複数集めることで複雑な振る舞いを実現します。 |
上の表は人工知能の種類の一部で他にもファジィ制御やエキスパートシステムなどがあります。人工知能といっても偏に同じものではなく、様々な分類、種類に分けられています。