俺人〜OREGIN〜俺、バカだから人工知能に代わりに頑張ってもらうまでのお話

俺って、おバカさんなので、とっても優秀な人工知能を作って代わりに頑張ってもらうことにしました。世界の端っこでおバカな俺が夢の達成に向けてチマチマ頑張る、そんな小さなお話です。現在はG検定、E資格に合格し、KaggleやProbSpaceのコンペに参画しながら、Pythonや機械学習、統計学、Dockerなどの勉強中です。学習したことをブログにアウトプットすることで、自分の身に着けていきたいと思います。まだまだ道半ばですが、お時間がありましたら見て行ってください。

E資格対策振り返り(応用数学-情報理論-カルバック・ライブラー情報量(KLダイバージェンス))

E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として学習した応用数学の分野のうち、今回は、情報理論-カルバック・ライブラー情報量(KLダイバージェンス)を振り返ります。

深層学習では、以下の4つが既知のものとして登場してきます。

  1. 自己情報量
  2. エントロピー
  3. カルバック・ライブラー情報量(KLダイバージェンス)
  4. クロスエントロピー

今回はこれらのうち、3つ目のカルバック・ライブラー情報量(KLダイバージェンス)について、振り返っていきます。

 

カルバック・ライブラー情報量(KLダイバージェンス)

1.カルバック・ライブラー情報量(KLダイバージェンス)とは何か

カルバック・ライブラー情報量(KLダイバージェンス)とは、確率分布が2つある場合に、確率分布間の違いの大きさ(正確には違いますが、イメージ的には確率分布間の距離のイメージ)になります。

言葉で聞くと、ふーんという感じですが、結構ややこしいので、順を追って振り返って行きたいと思います。 

2.事前分布と事後分布

事前分布とは、「ある知識を得る前」の確率分布で、事後分布は「ある知識を得た後」の確率分布になります。

例)壺の中のサイコロの目を当てる場合を考える。

サイコロの目の確率分布は、出目の1から6、一様に同じ確率なので

P(1)=1/6、P(2)=1/6、・・・、P(6)=1/6

何も知らない状態なので、この確率分布が「事前分布」になります。

一方、「出目が奇数だった」という知識を得た場合の確率分布は、

P(1)=1/3、P(2)=0、・・・、P(6)=0

こちらが知識を得た後の確率分布なので、「事後分布」になります。

知識を得る事により、確率分布が変化しています。

この時、「ある知識を得る」事で、事象あらかじめ知ることの難しさ(=「自己情報量」)が減少したと考えられます。

サイコロの例で言えば、「奇数」という知識を得る事で、サイコロの目を知ることの難しさ(=「自己情報量」)が減少したという事になります。

自己情報量については、前々回の記事をご参照いただくこととして、ここでは、詳細の説明は割愛いたします。

oregin-ai.hatenablog.com

3.カルバック・ライブラー情報量(KLダイバージェンス)

先ほど、「ある知識を得る」事で、「自己情報量」が減少すると言及いたしましたが、では、どの程度減少したか(サイコロの例でいうとどれだけ当てにくさが減ったか)が気になります。

事前分布をp(x)、事後分布をq(x)とすると、自己情報量は、それぞれ

f:id:kanriyou_h004:20191115180549p:plain:事前分布

f:id:kanriyou_h004:20191115180605p:plain:事後分布

となります。

どの程度減少したかは、自己情報量の差となるので

f:id:kanriyou_h004:20191115181429p:plain

f:id:kanriyou_h004:20191115181454p:plain

f:id:kanriyou_h004:20191115181519p:plain

となります。

最終的に事象を知ったときに得られる情報量が「ある知識を得る」前と後で、どれだけ減りそうかについては、事後の確率分布によって、自己情報量の差の期待値を求めることで得られます。

f:id:kanriyou_h004:20191115183636p:plain:事後の確率分布(事後分布)

f:id:kanriyou_h004:20191115183644p:plain:自己情報量の差

f:id:kanriyou_h004:20191115184040p:plain:自己情報量の差の期待値

 

この最終的に事象を知った時に、得られる情報量がどれだけ減りそうか(=自己情報量の差の期待値)が、まさに、「カルバック・ライブラー情報量(KLダイバージェンス)」に該当し、以下のように表現されます。

f:id:kanriyou_h004:20191115193208p:plain

では、この値が、なぜ「確率分布間の距離」のイメージにつながるかを、次の項で触れていきます。

4.なぜカルバック・ライブラー情報量が「確率分布間の距離」なのか

カルバックライブラー情報量は、「ある知識を得る」ことで、事前分布p(x)から事後分布q(x)に分布が変化する時に「得られる情報量がどれだけ減りそうか」を表していました。

逆にいうと、カルバックライブラー情報量が大きいとは、たくさんの情報量を持つ知識を与えないとp(x)からq(x)に変化できない(p(x)とq(x)は大きく異なる)という事になります。

カルバックライブラー情報量が小さいとは、少ない情報量を持つ知識でp(x)からq(x)に変化できる(p(x)とq(x)が似ている)という事になります。

この性質を持つ事から、カルバック・ライブラー情報量(KLダイバージェンス)は「確率分布間の距離」のイメージとなります。

※ただし、あくまでもイメージであり、q(x)からp(x)のKL情報量と、逆向きのp(x)からq(x)のKL情報量では値が異なるなど、「距離」の定義には当てはまらない性質もあります。

 

以上で、E資格の情報理論で頻出の数式の3つ目のカルバック・ライブラー情報量(KLダイバージェンス)にたどり着くことができました。

なかなかに難解な概念なので、何度も何度も復習しました。

まだまだ、理解しきれているわけではないのですが、みなさんの理解の一助となることができれば幸いです。

 

次回は、カルバック・ライブラー情報量(KLダイバージェンス)を機械学習に応用するための概念としてクロスエントロピーについて振り返っていきたいと思います。

今後も、引き続き、復習をかねて、E資格対策を振り返っていきたいと思います。

 

2019年8月31日(土)にE資格を受験して、合格しました!

E資格対策として勉強の進め方や、参考書などをまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

oregin-ai.hatenablog.com 

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com

 【E資格対策に使った参考書】

 

 

E資格対策振り返り(応用数学-情報理論-エントロピー)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として、今回は、応用数学の分野のうち、情報理論-エントロピーを振り返ります。

深層学習では、以下の4つが既知のものとして登場してきます。

  1. 自己情報量
  2. エントロピー
  3. カルバック・ライブラー情報量(KLダイバージェンス)
  4. クロスエントロピー

今回はこれらのうち、2つ目のエントロピーについて、振り返っていきます。

 

エントロピー

1.エントロピーとは何か

エントロピーとは、ある確率分布に従った事象系において「どの事象が発生したか知ったときに、どの程度情報量を得られそうか」をあらわしています。

エントロピーが大きい」=「大きな情報量が得られそう」ということになります。

情報量の定義に立ち戻って考えると、情報量は「確率が低い事象(不確定な事象)が発生すればするほど大きくなる」ので、エントロピーが大きいということは、それだけ不確定な状態であることをあらわします。

このことから、エントロピーは、「事象系の曖昧さ度合をあらわす」と行った表現もされます。

2.エントロピーを求める

エントロピーは、「どの事象が発生したか知ったときに、どの程度情報量を得られそうか」で定義されることから、事象系が以下の確率で発生する時、

f:id:kanriyou_h004:20191020175023p:plain

それぞれの情報量は、

f:id:kanriyou_h004:20191020175414p:plain

となり、この各事象の自己情報量期待値を求めることが、「どの事象が発生したか知ったときに、どの程度情報量を得られそうか」になります。

つまり、エントロピーは以下の通りで求まります。

f:id:kanriyou_h004:20191020180454p:plain

f:id:kanriyou_h004:20191020180747p:plain

 

以上で、E資格の情報理論で頻出の数式の2つ目のエントロピーにたどり着くことができました。

エントロピーの概念が理解できれば、自己情報量と期待値の組み合わせで求めることができるので、比較的理解がしやすかったです。

 

次回は、カルバック・ライブラー情報量について振り返っていきたいと思います。

今後も、引き続き、復習をかねて、E資格対策を振り返っていきたいと思います。

 

2019年8月31日(土)にE資格を受験して、合格しました!

E資格対策として勉強の進め方や、参考書などをまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

oregin-ai.hatenablog.com 

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com

 【E資格対策に使った参考書】

 

 

E資格対策振り返り(応用数学-情報理論-自己情報量)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として、今回は、応用数学の分野のうち、情報理論-自己情報量を振り返ります。

深層学習では、以下の4つが既知のものとして登場してきます。

  1. 自己情報量
  2. エントロピー
  3. カルバック・ライブラー情報量(KLダイバージェンス)
  4. クロスエントロピー

今回はこれらのうち、1つ目の自己情報量について、振り返っていきます。

 

自己情報量

1.情報量を定義する

まずは、情報量を定義します。

「情報」を知らないことを知るために必要なものと考えると、「情報」の「量」は、あらかじめ知ることがどれだけ困難であったかの度合いと考えられます。

「あらかじめ知ることが困難」、つまり「発生する確率が低い」事象ほど「情報量」が大きいと定義できます。

 確率については、以下の記事をご参照ください。

oregin-ai.hatenablog.com

2.情報量の定量的把握(同一確率1/n)の場合

この時、確率Pで起こる事象Aが起きたことを知った時に得られる情報量について定量的にどのように測定するかを考えていきたいと思います。

等確率で生じる以下の事象の組を考えます。

f:id:kanriyou_h004:20190924165431p:plain

(等確率なので、どの事象の発生する確率も1/nとなります。)

この時、n個のうちどれが発生したかを知った時に得られる情報量を I(n)と定義します。

情報量を考えるにあたり、先ほどの事象Aを、以下の表のように、k個ずつのmグループに分けます。(n=mk)

 

f:id:kanriyou_h004:20190924170258p:plain

この時ある事象Axが起きたことを知る方法として以下の2通りを考えます。

【ケース1】

  • どのグループで起きたかを知る。・・・・I(m)
  • そのあと、その中のどれが起きたかを知る。・・・I(k)

【ケース2】

  • Axが起きたと直接知る。・・・・I(n=mk)

最終的にAxを知るときに得られる情報量は【ケース1】(I(m)+I(k))でも、【ケース2】(I(mk))でも、同じであるため、以下の式が成り立ちます。

f:id:kanriyou_h004:20190929204026p:plain

この式をよく見ると「関数の出力の足し算が、その入力を掛け算した関数の出力と同じになる。」となっています。

この性質をもっている関数がないか考えます。

実は、前回振り返った対数関数が、以下の通り、まさにこの「関数の出力の足し算が、その入力を掛け算した関数の出力と同じになる。」で性質をもった関数だったのです。

f:id:kanriyou_h004:20190924154846p:plain

 【前回の記事】E資格対策振り返り(応用数学-対数関数)

この性質を利用して、I(n)が以下の通りとおいて、X、Y、Zの値をそれぞれ求めていきたいと思います。

f:id:kanriyou_h004:20190929205400p:plain

●【性質1】I(1)=0を利用
 事象Aが、一通りしかない場合、最初から結果はわかっているので、情報量はゼロとなり、

f:id:kanriyou_h004:20190929205740p:plain

情報量の式のnに1を当てはめると

f:id:kanriyou_h004:20190929210044p:plain

前半のlog1はゼロ

f:id:kanriyou_h004:20190929210109p:plain

よって、後半のZもゼロとなる

f:id:kanriyou_h004:20190929210149p:plain

●【性質2】I(2)=1を利用
事象Aが、2通りの場合の情報量を「1」と定義します。

(この定義は、10通りの場合を「1」とする場合などもありますが、ここでは、2通りの場合を採用します。)

f:id:kanriyou_h004:20190929211206p:plain

情報量の式のnに2を当てはめると

f:id:kanriyou_h004:20190929211248p:plain

Xを求めるために、両辺をlog2で割って、分子の1を対数に変換

f:id:kanriyou_h004:20190929211406p:plain

最右辺の形は、底の変換公式に当てはまるので

f:id:kanriyou_h004:20190929211714p:plain

※底の変換公式については、【前回の記事】E資格対策振り返り(応用数学-対数関数)をご参照ください。

よって、

f:id:kanriyou_h004:20190929211922p:plain

【これまで求めたX、Zを代入】

f:id:kanriyou_h004:20190929212354p:plain

底の変換公式より、

f:id:kanriyou_h004:20190929212559p:plain

よって、I(n)は、以下となります。

f:id:kanriyou_h004:20190929212740p:plain

つまり、これが、同一確率(1/n)の場合にAxが分かった時の情報量ということになります。

3.情報量の定量的把握(異なる確率k/n=p)の場合

より一般的にするために、事象Axがそれぞれ異なる確率k/nで発生することを考えます。 

まずは、先ほどと同様に、以下の通りにグループ化されたことを考えます。

f:id:kanriyou_h004:20190924170258p:plain

この時、一つ目のグループの中のどれかが生じる確率は、k/n=pとなります。

この1グループ目が起きることを1つの事象と考えて、この事象が発生した情報量をIとおいて、このIを求めることで、確率k/n=pの事象が分かったときの情報量を求めます。

【ケース1】

  •  Axを特定するときの情報量は、前述の同一確率(1/n)の情報量なので
    f:id:kanriyou_h004:20190929213911p:plain

【ケース2】

  • 1つ目のグループであることを知るときの情報量

    f:id:kanriyou_h004:20190929214158p:plain

  • グループの中のどれであるかを知るときの情報量

    f:id:kanriyou_h004:20190929214402p:plain

【ケース1】と【ケース2】は同じ情報量になるので

f:id:kanriyou_h004:20190929214538p:plain

Iについて解くと

f:id:kanriyou_h004:20190929214954p:plain

対数関数の減算の処理より

f:id:kanriyou_h004:20190929215058p:plain

この時、このグループが発生する確率k/n=pだったので、

f:id:kanriyou_h004:20190929215336p:plain

対数関数の指数の処理より、最終的に求めたかった情報量Iは

f:id:kanriyou_h004:20190929215440p:plain

となります。

※対数関数の減算の処理、指数の処理については、【前回の記事】E資格対策振り返り(応用数学-対数関数)をご参照ください。

 

この式は、前述の同一確率(1/n)の情報量においても、確率1/n=Pとおくことで、上記の式が得られるので、一般的な定義ができました。

f:id:kanriyou_h004:20190929212740p:plain → f:id:kanriyou_h004:20190929215440p:plain

 

ながながと説明してまいりましたが、やっとのことで、自己情報量の以下の式にたどり着くことができました。

f:id:kanriyou_h004:20190929215440p:plain

私の自己解釈も多々ありますが、こうすることで、自己情報量の式を丸暗記するよりも、応用が利くようになったかなぁと考えています。

次回は、エントロピーについて振り返っていきたいと思います。

今後も、引き続き、復習をかねて、E資格対策を振り返っていきたいと思います。

 

2019年8月31日(土)にE資格を受験して、合格しました!

E資格対策として勉強の進め方や、参考書などをまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

oregin-ai.hatenablog.com 

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com

 【E資格対策に使った参考書】

 

 

E資格対策振り返り(応用数学-対数関数)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として、今回は、応用数学の分野のうち、対数関数を振り返ります。

高校時代にならったわかったようで、よくわからない関数ですが、深層学習では必要不可欠な関数なので、今一度、定義と法則を振り返っていきたいと思います。

対数関数

1.対数関数とは

対数関数は、「指数関数の逆関数である。」と言われますが、ピンとこないので、掘り下げてみていきたいと思います。

まずは、指数関数は以下で定義されます。

f:id:kanriyou_h004:20190924152400p:plain

この関数の意味としては「aをx乗すると何でしょうか?」になるということになります。

逆関数ということは、ひっくり返して「yは、aの何乗でしょうか?」を求めることになります。これを表現した式が以下になります。

f:id:kanriyou_h004:20190924153051p:plain

この式が、「対数関数」になります。

数式だとわかりにくいですが、実例をみるとわかりやすいと思います。

例)以下の指数関数を考える。

f:id:kanriyou_h004:20190924153432p:plain

この時、xが入力、yが出力になります。

x=3 のとき

f:id:kanriyou_h004:20190924153717p:plain

となり、4が入力、81が出力になります。

(3の4乗は何でしょうか?→81です。)

対数関数は、この逆だったので、81を入力として、4が出力となります。

f:id:kanriyou_h004:20190924154126p:plain

(81は、3の何乗でしょうか?→4乗です。)

入力81をx、出力4をyとおけば以下の対数関数が得られます。

f:id:kanriyou_h004:20190924154601p:plain

2.対数関数の加算の処理

対数関数には、いろいろな性質がありますが、ディープラーニングで一番重要なのは以下の処理になります。

f:id:kanriyou_h004:20190924154846p:plain

この式は、左辺の1項目をx(Mがaのx乗)、2項目をy(Nがaのy乗)、右辺をz(MNがaのz乗)とおくと以下の式より、x+y=zが自明なため、上記の式が成り立ちます。この式は丸暗記でもよいと思います。

f:id:kanriyou_h004:20190924160058p:plain

3.対数関数の減算の処理

加算時と同様に減算も処理できます。減算するときは割り算になるになるのは、負の乗数は、割り算になると考えればわかりやすいと思います。

f:id:kanriyou_h004:20190924161140p:plain

 

4.対数関数の指数の処理

f:id:kanriyou_h004:20190924160554p:plain

対数関数の入力が、bのc乗であった場合、その指数cは、外にでて掛け算になります。

以下と定義すると

f:id:kanriyou_h004:20190924161558p:plain

 対数の定義より、bはaのZ乗になるので

f:id:kanriyou_h004:20190924161708p:plain

両辺をc乗すると

f:id:kanriyou_h004:20190924161856p:plain

両辺の対数をとって

f:id:kanriyou_h004:20190924162034p:plain

Zをもとの式に戻すと、最初の定義の式が得られます。

 

 5.底の変換公式

あと、よく使う公式として底(上記で出てきたlogの右下にいる「a」に当たる数字)を 変換する以下の公式があります。

f:id:kanriyou_h004:20190924162700p:plain

この式は、対数の定義から、aを何乗したらbになるかの「何乗」の部分が左辺になるので、aの左辺乗がbになり、以下となります。

f:id:kanriyou_h004:20190924163128p:plain

両辺を底がcの対数をとると以下の通りになります。

f:id:kanriyou_h004:20190924163335p:plain

「4.対数関数の指数の処理」を使うと、左辺は以下に変換できます。

f:id:kanriyou_h004:20190924163618p:plain

両辺をf:id:kanriyou_h004:20190924163736p:plainで割ると以下の定義式が得られます。

結構トリッキーな処理ですが、たどり着けるとなかなか面白い処理だと思います。

f:id:kanriyou_h004:20190924162700p:plain

以上、対数関数の振り返りでした。

対数は、高校時代にならってから使う機会もなく、いろいろと忘れてしまっていましたが、こうや って振り返ってみると、ほかの関数と違った性質がたくさんあり、面白いなと感じました。

次回以降は、前回の「確率」と合わせて情報理論についての振り返りを実施していきたいと思います。

 

2019年3月31日(土)にE資格を受験して、合格しました!

E資格対策として勉強の進め方や、参考書などをまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

oregin-ai.hatenablog.com 

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com

 【E資格対策に使った参考書】

 

 

E資格対策振り返り(応用数学-確率)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として、今回は、応用数学の分野のうち、確率を振り返ります。直接確率を求める問題が出るかはわかりませんが、過去問や例題等を解くうえでは、確率の考え方が理解できたほうがすっと入ってきます。

では、一般的な確率の考え方から、確率変数、確率分布、期待値の順に振り返っていきたいと思います。

  

確率

1.確率とは

まずは、確率を定義します。

「試行」に対して、「事象A」が起こる確率P(A)は、以下の通り定義されます。

f:id:kanriyou_h004:20190923120814p:plain

【Case_A】:事象Aが起こるすべてのケースの数

【All_Cases】:起こりうるすべての事象のケースの数

【試行】:同一の環境で繰り返し実施可能で、その結果が確率的に特定される観測(例:サイコロ振り、コイントス

【事象】:「試行」の結果起こる事柄(例:サイコロで3が出る。コイントスで表がでる。) 

サイコロの面が6面ありますので、サイコロを1回投げるときに3が出る確率は、6分の1となり、コイントスで表が出る確率は2分の1となるのは、直感的にもわかりやすいので、確率の定義は、わかりやすいです。

2.確率変数とは

では、次に「確率変数」についてです。

「変数」とついただけで、急に難しく感じてしまいますが、プログラミングの経験がある方にとっては、「ある確率で値が決まる変数」と解釈すれば、しっくりくると思います。

例えば、サイコロを1回振る際の出た目を、変数「X」とすると、この「X」は確率変数となります。

<参考>

サイコロの場合、どの目が出る確率も6分の1なので、確率変数Xが各値をとる確率は、以下の通りとなります。

X=1となる確率は、6分の1

f:id:kanriyou_h004:20190923122446p:plain

X=2となる確率は、6分の1

f:id:kanriyou_h004:20190923122636p:plain

・・・

X=6となる確率は、6分の1

f:id:kanriyou_h004:20190923122750p:plain 

 なお、確率変数には、以下の2つの変数が存在します。

・離散変数:確率変数の値が、サイコロやコイントスのように、非連続な変数

・連続変数:確率変数の値が、ある1日の最高気温や、消費電力量のように連続的な変数

E資格の対策としては、まずは離散変数での理解を深める必要があります。離散変数が一通り理解できれば、連続変数の理解もしやすいと思います。

3.確率分布とは

確率変数が、「ある確率で値が決まる変数」であったことに対して、確率分布は、「確率変数がある値をとる場合の確率」の分布と考えることができまます。

少しややこしいですが、実例を見ると簡単です。

例)サイコロを2個投げて、出た目の合計を確率変数Xと定義。

Xのとりうる値をxとおくと

f:id:kanriyou_h004:20190923124222p:plain

このとき、X=2となる場合は、出た目が両方とも1である場合の1通りのみのため、P(X=2)は、以下のとおり。

f:id:kanriyou_h004:20190923124657p:plain

同様に、X=3となる場合は、出た目が(1,2)の場合か、(2,1)の場合の2通りしかないため、P(X=3)は、以下の通り。

f:id:kanriyou_h004:20190923124908p:plain

すべてのxに対して確率を求めると、以下の図のようになる。

f:id:kanriyou_h004:20190923125903p:plain

上記のように、Xが各値xをとる確率P(X=x)の分布を、「確率分布」と呼びます。

4.期待値とは

「期待値」とは、ある確率で起こる事象について、発生すると思われる、おおよその値のことをいい、期待値E(X)は、以下の計算式で求めます。

f:id:kanriyou_h004:20190923131536p:plain

つまり、期待値は、とる値xと、その値となる確率P(X=x)の積をすべて足し合わせた数値ということになります。

すべての事象が同確率で発生する場合は、「平均値」と同等になるので、正しくはないかもしれませんが、感覚的に「確率を考慮した平均値」と理解しています。)

言葉で表現すると難しいですが、こちらも、実例で考えるとわかりやすいと思います。

例)確率分布の事例で出した2個のサイコロの目の和の場合以下の通りとなります。

f:id:kanriyou_h004:20190923132014p:plain

f:id:kanriyou_h004:20190923132051p:plain

f:id:kanriyou_h004:20190923132428p:plain

サイコロを2個振ると、出た目の合計は、おおよそ「7」となり、これが期待値ということになります。

期待値は、E資格の学習を進めるうえで、今後出てくる、情報理論等を理解する上で重要になってきますので、この概念を理解しておくことをお勧めします。 

 

今回は、確率の基礎の部分について、振り返ってみました。

また、確率の部分については、以下の書類も参考にして勉強しました。

(私は手持ちの版で学習しましたが、最新は第2版がでています。)

今後も、引き続き、復習をかねて、E資格対策を振り返っていきたいと思います。

  

2019年3月31日(土)にE資格を受験して、合格しました!

E資格対策として勉強の進め方や、参考書などをまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

oregin-ai.hatenablog.com 

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com

 【E資格対策に使った参考書】

 

 

E資格対策振り返り(応用数学-特異値分解)

E資格(JDLA Deep Learning for ENGINEER 2019 #2)対策として、今回は、応用数学の分野のうち、特異値分解を振り返ります。特異値分解は、過去問に言及されている受験者の方のサイト等を拝見する限りでは、前回掲載した、固有値分解とともに頻出問題のようです。

前回の固有値分解については、こちらをご参照ください。

>>E資格対策振り返り(応用数学-固有値、固有ベクトル、固有値分解)

 

特異値分解

1.固有値分解から拡張してみる

前回の固有値分解が、

f:id:kanriyou_h004:20190916103951p:plain

Aは、n行n列の正方行列

Pは、固有ベクトルを列に並べたn行n列の正方行列

Λは、固有値を降順に並べた対角行列

だったので、m行n列に拡張して、以下を求めることを目指します。

f:id:kanriyou_h004:20190916104807p:plain 

この時、U,Vは直交行列、Σは特異値と呼ばれる\sigma_{i}を降順にi行i列に並べ残りは0となる行列です。

f:id:kanriyou_h004:20190916105350p:plain

特異値\sigma_{i}は、Aの転置行列A^TをかけたAA^T固有値平方根になります。

2.各行列をどう求めるのか

試験対策を考えるのであれば、穴埋めになることを想定して、以下を覚えておくと、の回答しやすいと思います。

  1. U,Vは直交行列である事を利用すると、任意の2列の内積を求めるとゼロになる
    1の例

    f:id:kanriyou_h004:20190916110327p:plain

    上記のとき、2列目と3列目の内積がゼロになるので、以下でaが求められる。

    f:id:kanriyou_h004:20190916110846p:plain

  2. また、U,Vの各列は正規直交系なので、各列のL2ノルムは1になる。
    2の例
    1の例で、3列目のL2ノルムが1になるので、以下でaで求められる。ただし、一意に特定できないので、他の法則と組み合わせる必要がある。

    f:id:kanriyou_h004:20190916111615p:plain

  3. 固有値の積は、行列式に等しい。
    3の例
    固有値λ1=1が分かっているとき、以下の行列の残りの固有値λ2を求める。

    f:id:kanriyou_h004:20190916113108p:plain


    固有値の積が行列式に等しいので、以下でλ2が求まる。

    f:id:kanriyou_h004:20190916114049p:plain

  4. AA^T固有値平方根がΣの対角に降順に並ぶ。
    4の例
    Aが2行3列であった場合、3の例で求めた固有値を使って、Σは以下の通りとなる。

    f:id:kanriyou_h004:20200222084223p:plain

     

3.特異値分解の使い方

特異値分解固有値分解時と同様、Σについてはσiを降順に並べていますが、行列が大きくなる(次元が大きくなる)と、下のほうの値のσiは行列全体に与える影響が小さいので、省略することで制度をあまり落とさずに次元削減ができます。

固有値分解時は、正方行列にしか有効でなかった次元削減が、特異値分解に拡張することで、m行n列の行列についても次元削減ができるようになりました。

とんでもなく次元数の高い行列計算を扱うディープラーニングでは、次元削減は非常にありがたい戦略なので、固有値分解と同様に特異値分解についても試験でもよく出題されるのは頷けます。

今後も、引き続き、復習をかねて、E資格対策を振り返っていきたいと思います。

 

2019年3月31日(土)にE資格を受験して、合格しました!

E資格対策として勉強の進め方や、参考書などをまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

oregin-ai.hatenablog.com 

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com

 【E資格対策に使った参考書】

 

 

E資格合格しました!(JDLA Deep Learning for ENGINEER 2019 #2)

本日、8月31日に受験したE資格(JDLA Deep Learning for ENGINEER 2019 #2)の結果発表があり、無事合格しました!

f:id:kanriyou_h004:20190909223850j:plain

約半年間取り組んできた努力が実りました!

させてくれた家族と会社の皆さんに感謝です。

今後、合格に向けて取り組んできた対策、例題、実習などなど、レポートしていきたいと思います。

取り急ぎ、受験後掲載したまとめ記事は以下の通りです。

oregin-ai.hatenablog.com

oregin-ai.hatenablog.com

【受験にあたって読んだ参考書】

 

 2019年3月9日(土)にG検定を受験し、見事合格できました!

受験の体験記や勉強法などを別のブログにまとめました。

これから受験される方がいらっしゃいましたらご参考まで。

g-kentei.hatenablog.com