ディープラーニングG検定の勉強中 その21(行列と行列計算)

書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強しています。

今回は、行列と行列計算について見ていきます。


参考サイト
Wild Data Chase -データを巡る冒険([ 機械学習 ] 単層パーセプトロンの実装)

ベクトルの成分表示の内積の考え方を利用して、機械学習方法の1つであるパーセプトロンを作ることができます。

図1 2入力・1出力ノードの単層パーセプトロン
3-7-1-1.png

ベクトルのコサイン類似度が図1の y に相当し、x1 と x2 はそれぞれの向きと大きさを持つベクトルです。
パーセプトロンでは、出力結果の閾値が1なら「正の例」、0なら「負の例」として分類します。

例えば、動画に映っている動物の分類をするときに、x1が鳴き声(犬か猫)、x2が顔の形(犬か猫)という入力で、鳴き声と顔の形のそれぞれの重みづけによって出力結果の閾値が1なら「犬」、そうでなければ「猫」と分類するイメージです。

図1の y は式1で算出され、

式1
3-7-1-2.png

この式は行列としては式2のように表されます。

式2
3-7-1-3.png

この式は、行列をW、ベクトルをベクトル x とすることで、

式3
3-7-1-11.png

式4として表すことができます。

式4
3-7-1-10.png


単層パーセプトロンの入力・出力ノードが増えたときには以下のようになります。

図2 2入力・3出力の単層パーセプトロン
3-7-1-5.png

各出力ノードの表示成分の内積は式5となります。

式5
3-7-1-6.png

これを行列で表すと式5となります。

式5
3-7-1-8.png

行列をW、ベクトルをベクトル x とすることで、

式6
3-7-1-9.png

上記の式4のように表すことができます。



今回でテキストの第3章が終わりました。
次回からは、第4章の「多変数関数の微分」について見ていきます。


進捗状況

最短コースでわかるディープラーニングの数学
104/328(31.7%)

ディープラーニングG検定の受験日まで、あと41日

ドラゴンズクラウンPROをプレイ中

PS4で、サイドビューのアクションゲームをプレイしています。


日曜日、勉強の合間にPS4に触りました。
最初は途中まで進んでいるDOOMをプレイしてみたのですが、久々ということで、敵が強くて少しも進めず。
それと、コントローラーのアナログボタンの効きが弱くなってきていて、思うようにキャラを動かしにくくもあったので、新しいコントローラーを入手するまでは再度中断としました。

それで、他のやりかけのゲームということで、アトラス/ヴァニラウェアのドラゴンズクラウンPROを本格的に進めていくことにしました。

このゲームは、同じメーカーの「プリンセスクラウン」の系譜に連なるゲームで、その後に出た「オーディンスフィア」の系統のゲームでもあります。

2Dで奥行きもあるタイプのサイドビューのゲームで、とある城下町の酒場から出発して、

20190929-1.jpg

そこで仲間を最大3人まで連れて、

城下町を移動し、

20190929-2.jpg

城やギルドで依頼を受けて、

20190929-3.jpg

街の魔術師にも挨拶をしつつ、

20190929-4.jpg

街外れのダンジョンに、

20190929-6.jpg

剣士や

20190929-7.jpg

魔法使いなどの仲間とともに

20190929-8.jpg

探索に行ったりします。

ダンジョンでは、敵を倒しつつ、宝箱を開けて金品を入手して、

20190929-9.jpg

帰還した際に店で鑑定してもらってからよりいい武具に買い替えたりします。


城下町のシステムはウィザードリィに良く似てて、酒場、死者の復活をする寺院や依頼を受ける訓練場・ギルドを利用するようになっています。
店主による鑑定ではボルタック商店ほどではないですが結構な金額を取られるので、冒険でのゴールドの入手はかなり重要です。


今回は私は初心者向けである剣士(ファイター)を選びました。
その場合は、自キャラが剣士で、NPCの仲間として魔法使いや僧侶をダンジョンに連れていく感じになります。
剣士はタフなのが初心者向けらしい感じです。でも、敵の攻撃にあたるつもりがない人は、最初から体力のない魔法使いを選ぶのもありだと思います。

という感じで、まだ序盤ですが、プレイを続けていきます。








久々に聴いた曲


SOFT BALLET - メルヘンダイバー


この曲を聴いているとくらくらしてくる


Boom Boom Dollar (Red Monster Mix) (2000)


ユーロビートっていうのも懐かしい響きになってしまった


SPIRITUAL 「lasting LONG」


好きな曲






HI! VEVO Vol.170

AURORA - Walking In The Air


イギリスのバラッド風の曲。聴き入る。







クラシック曲を忘れない Vol.70

ダンソン 第2番

アルトゥロ・マルケス作曲。ラテンアメリカの雰囲気を持つ曲。








ニコニコ動画のリンク


タマムシ




令和のドール。すごい




大ちゃんが突っ込みなのは必然



90%果汁のチューハイはジュース感覚で飲める(少し酔う)

ディープラーニングG検定の勉強中 その20(コサイン類似度)

書籍「最短コースでわかるディープラーニングの数学」の内容に沿って勉強しています。

今回は、コサイン類似度について見ていきます。

参考サイト
高校数学の美しい物語(コサイン類似度)


ベクトル r とベクトル x の2つがあるとき、

式1
3-6-1-1.png

その2つのベクトルの向きがどれぐらい類似しているかを調べるときは、式2からcosθでの比を算出することになるのですが、

式2
3-6-1-2.png

これは、ディープラーニングG検定の勉強中 その19(成分表示による内積)で出てきた式3と組み合わせることで実現できます。

式3
3-5-2-2.png

つまり、式4を

式4
3-6-1-3.png

式5に変形して cosθによる比を算出できるようにします。

式5
3-6-1-4.png

このとき、分母のベクトルは、図1から

図1
3-6-1-5.png

三平方の定理により式6が成り立つため、

式6
3-6-1-6.png

式5を式7に変形することができます。

式7
3-6-1-7.png

これで計算可能となりましたので、実際に数値を代入してコサイン類似度を確認してみます。


図2
3-6-1-8.png

図2の目盛りを「1」としたとき、ベクトル r とベクトル x の成分表示は式8となるので、

式8
3-6-1-9.png

これを式7に代入して、式8の cosθ = 0.6 と算出されました。

式8
3-6-1-10.png

コサイン類似度は、cosθの値が 1 に近いほど2つのベクトルの向きが類似していることになるので、0.6 は半分よりはちょっと近い、というところです。

図3
3-6-1-11.png

図3では図2のときよりも2つのベクトルの向きが近づいています。
式9より、

式9
3-6-1-12.png

これを式7に代入して、cosθによる比が 0.894427190999916 と出ました。より 1 に近い値となっています。

式10
3-6-1-13.png

図4
3-6-1-14.png

今度はさらにベクトル r とベクトル x の向きが近くなっています。式11から、

式11
3-6-1-15.png

式7に代入して、式12の cosθ = 0.96561575852067 と出ました。

式12
3-6-1-16.png

というように、2つのベクトルの向きが近いほど 1 に近付くことが分かりました。


なお、2つのベクトルの向きが全く同じ場合は、cosθ = 1 となり、2つのベクトルの向きが90°の場合は cosθ = 0 となります。正反対の向きの場合はcosθ = -1 となります。


ちなみに、ベクトル類似度は多次元ベクトルにも適用できるため、式13が成立し、

式13
3-6-1-17.png

これを簡略化して総和∑で表すと、式14となります。

式14
3-6-1-18.png