PRML　演習問題　解答集　第5章

## はじめに
様々な分野で多様なビッグデータが得られるようになり、こうしたデータを解析し、そこから「知」を得るための手段として、**機械学習 (Machine Learning)**、いわゆる**AI**が注目されています。そういった動きは、**農学**の分野でも広がってきており、我々**[生物測定学研究室](https://www.ut-biomet.org/)**でも、圃場のモニタリングに画像解析技術を用いたり、育種（品種改良）に機械学習のアイディアを応用した研究を行ったりしています。

こうした状況を鑑みて、本研究室では2020年前期（4月〜8月）に、機械学習の教科書の決定版ともいえる、**Christopher Bishop**による**『Pattern Recognition and Machine Learning （パターン認識と機械学習）』**、通称**PRML**に関する輪読会を開講しました。本輪読会では、PRMLの各章の末尾に付いている**演習問題**を、輪読会参加者の有志が解く、ということも行いました。ここでは、各人による演習問題の解答例を`Qiita`の記事として紹介していこうと思います。
（追記：**2021年度後期**も輪読会を開催し、第1章から勉強しています。昨年度できなかった演習問題は随時更新予定です。）

本記事では、**第5章の演習問題の解答例**に関する記事のリンクを紹介していきます。
まだ解いた全ての問題を公開しているわけではなく、随時更新していきます。**更新内容などについては、[`Twitter`](https://twitter.com/BiometUt)にてご報告**する予定です。

（注：解答例は、数学の決して得意ではない学生によるものもあります。中には間違いや不十分な解答もあるかもしれませんが、温かい目で見ていただき、コメントで誤りなどを指摘していただければ幸いです。また、**全ての問題に対して解答例が用意されているわけではない**ので、その点についてもご了承ください。）


## 関連記事など
#### 別の章に関するリンク集　
- [PRML　演習問題　解答集　まとめ](https://qiita.com/Lab_of_Biomet/items/15e38ca34fafa8176d89)
- [PRML　演習問題　解答集　第4章](https://qiita.com/Lab_of_Biomet/items/86ae4ba7bbdae2352f7b)
- [PRML　演習問題　解答集　第6章](https://qiita.com/Lab_of_Biomet/items/22d998f9722e3841c000)

#### PRML 公式資料
- [PRML 一式 ダウンロードページ （公式）](https://www.microsoft.com/en-us/research/people/cmbishop/prml-book/)
- [PRML 英語版 フルPDF （公式・無料）](https://www.microsoft.com/en-us/research/uploads/prod/2006/01/Bishop-Pattern-Recognition-and-Machine-Learning-2006.pdf)
- [PRML 日本語訳 上巻 （Amazon）](https://www.amazon.co.jp/%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%AA%8D%E8%AD%98%E3%81%A8%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-%E4%B8%8A-C-M-%E3%83%93%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97/dp/4621061224)
- [PRML 日本語訳 下巻 （Amazon）](https://www.amazon.co.jp/%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%AA%8D%E8%AD%98%E3%81%A8%E6%A9%9F%E6%A2%B0%E5%AD%A6%E7%BF%92-%E4%B8%8B-%E3%83%99%E3%82%A4%E3%82%BA%E7%90%86%E8%AB%96%E3%81%AB%E3%82%88%E3%82%8B%E7%B5%B1%E8%A8%88%E7%9A%84%E4%BA%88%E6%B8%AC-C-M-%E3%83%93%E3%82%B7%E3%83%A7%E3%83%83%E3%83%97/dp/4621061240)
- [PRML 英語版 公式解答例 （wwwの付いた一部の問題）](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/05/prml-web-sol-2009-09-08.pdf)

#### PRML 非公式資料
- [PRML復活の呪文 part18 (5.1 -5.2)](https://qiita.com/yosshun/items/65302a2d33673f593274): この方は`PRML`の日本語版の上巻の最後まで、各章を何パートかに分けて解説した記事を載せてます。また説明の中で、一部の演習問題の解説を行なっています。
- [PRML演習問題解答を全力で分かりやすく解説！](https://tips-memo.com/prml): この方は`PRML`の演習問題の数多く（ほとんど）の問題を、第1章から第10章まで手書きで公開しています。
- [PRML演習解答 [ゆっくり PRML していってね]](http://sioramen.sub.jp/prml_wiki/doku.php/top): この方は`PRML`の演習問題の数多く（ほとんど）の問題を、第5章から第14章まで、手書き、および一部清書した形で公開しています。
- [その他PRMLのタグがついたQiitaの記事一覧](https://qiita.com/tags/prml)

他にも、一部の記事でPRMLの演習問題の解答例に関する記事があるものの、どれも1問単位で解かれており、このようなLaTeXで数式を書いた解答例のリンク集は存在しないように見受けられます。


## 担当者
[東京大学 生物測定学研究室](https://www.ut-biomet.org/)の @YusukeToda1984 さん, @ZaKama さん, @patten さん, @Kazutoshi08 さん, @mashiro135 さんにご協力いただきました。また、他にも（生物測定学研究室以外の学生を含む）2名の有志が匿名で公開に協力してくださいました。こちらの2名の方の記事はこのアカウントの記事として投稿させていただいもののリンクを紹介したいと思います（当人の許可をとっています）。さらに本章からは、@yoyoyo11131113 さんにもご協力いただけることになりました。


## 解答　リンク集

##### 演習問題 5.2 （基本）
- [PRML　演習問題 5.2（基本）　解答](https://qiita.com/ZaKama/items/f96a15c1c5b03c9f7781) （@ZaKama さん）

複数の出力に対するニューラルネットワークによる回帰問題において、尤度関数の最大化が、やはり見慣れた二乗和誤差関数の最小化と等価となることを証明する問題です。



##### 演習問題 5.3 （標準）
- [PRML　演習問題 5.3（標準）　解答](https://qiita.com/YusukeToda1984/items/08ab434d74233e710d06) （@YusukeToda1984 さん）

目標変数が複数ある場合を、[PRML　演習問題 5.2（基本）　解答](https://qiita.com/ZaKama/items/f96a15c1c5b03c9f7781) で扱いましたが、この問題では目標変数同士が独立でない時の最尤解を考えます。

##### 演習問題 5.4 （標準）
- [PRML　演習問題 5.4 （標準）](https://qiita.com/patten/items/101066200e944b3a6d29) （@patten さん）

２クラス分類問題において、目標値のラベル付けが一定の割合で誤っている場合の誤差関数を書き下す問題です。


##### 演習問題 5.6 （基本）
- [PRML 演習問題 5.6 （基本）](https://qiita.com/Lab_of_Biomet/items/bdfd35f70636ca42c68b) （匿名A さん）

基本的に計算問題です。誤差と活性化関数の関係という意味では、[PRML 演習問題 4.18 （基本）](https://qiita.com/Lab_of_Biomet/items/91a1fb621be922dc6fdb)と似た問題です。


##### 演習問題 5.7 （基本）
- [PRML  演習問題5.7(基本)　解答](https://qiita.com/yoyoyo11131113/items/82169ce5ab0dca412c73) （@yoyoyo11131113 さん）

二段階に分かれています。
1. softmaxを微分する
2. 誤差関数を微分する


##### 演習問題 5.9 （基本）
- [PRML 演習問題 5.9 解答](https://qiita.com/mashiro135/items/4592fbb74fdcb926b35b) （@mashiro135 さん）

ネットワークの目標値が $0 \leqq t \leqq 1$ から $-1 \leqq t \leqq 1$ に変化したときの、対応するネットワークの誤差関数と活性化関数に関する問題です。


##### 演習問題 5.10 （基本）
- [PRML　演習問題 5.10 （基本）](https://qiita.com/patten/items/b3b31730bc861de247b4) （@patten さん）

誤差関数の停留点を考える際に、局所二次近似の式に現れる、ヘッセ行列とその固有値の関係性に関する問題です。


##### 演習問題 5.11 （標準）
- [PRML　演習問題5.11(標準)　解答](https://qiita.com/yoyoyo11131113/items/a7d801e8e5cacdd62ec6) （@yoyoyo11131113 さん）

固有方程式を使って、誤差関数を書き換えていく問題です。教科書の図5.5と5.6を見るとイメージしやすいですね。


##### 演習問題 5.12 （標準）
- [PRML　演習問題 5.12（標準）　解答](https://qiita.com/Kazutoshi08/items/315fe3e4e7035eed1b8e) （@Kazutoshi08 さん）

活性化関数のパラメータを、最尤法により直接決定する最初のステップです。



##### 演習問題 5.14 （基本）
- [PRML　演習問題 5.14（基本）　解答](https://qiita.com/ZaKama/items/4e56478c2bc754072ea6) （@ZaKama さん）


誤差逆伝播の微分の評価を有限幅の差分による近似に基づいて行う際に、中心差分を用いれば計算精度が劇的に向上することを示す問題です。問題自体はテイラー展開の復習になりますね。


##### 演習問題 5.17 （基本）
- [PRML 演習問題 5.17 解答](https://qiita.com/mashiro135/items/406e69e2a8acf96ab160) （@mashiro135 さん）

ヘッセ行列の外積による近似に関する問題です。


##### 演習問題 5.20 （基本）
- [PRML 演習問題 5.20 （基本）](https://qiita.com/Lab_of_Biomet/items/ec31e0fb9f6ac2f2a9b4) （匿名Aさん）

ソフトマックス関数は、ロジスティックシグモイド関数の拡大ということを考えると、解けるはずです。


##### 演習問題 5.22 （標準）
- [PRML　演習問題 5.22（標準）　解答](https://qiita.com/Kazutoshi08/items/a20ce50d0d8691f1be59) （@Kazutoshi08 さん）

2層のニューラルネットワークにおけるヘッセ行列の導出を行います。


##### 演習問題 5.23 （標準）
- [PRML　演習問題 5.23（標準）　解答](https://qiita.com/YusukeToda1984/items/3c9c65e57bacda912ff3) （@YusukeToda1984 さん）

ニューラルネットワークのヘッセ行列の要素を厳密に求める問題です。[PRML　演習問題 5.22（標準）　解答](https://qiita.com/Kazutoshi08/items/a20ce50d0d8691f1be59)の議論を拡張し、入力から出力へ直接つながる、層を飛び越えた結合を含むモデルについて考えます。


##### 演習問題 5.29 （基本）
- [PRML 演習問題5.29(基本)　解答](https://qiita.com/yoyoyo11131113/items/5f601412eec22877fd8c) （@yoyoyo11131113 さん）

誤差関数の微分をすると正則化項の影響は各重みを $j$ 番目のガウス分布の中心方向へ引き寄せることであることがわかります。



##### 演習問題 5.31 （基本）
- [PRML　演習問題 5.31 （基本）](https://qiita.com/patten/items/d64e5d8dab7d0e58ce40) （@patten さん）

グループ間のソフト重み共有の重みを考える際に、重みの分散に関する微分の式を導出する問題です。



##### 演習問題 5.38 （基本）
- [PRML　演習問題 5.38（基礎）　解答](https://qiita.com/Kazutoshi08/items/ce51aa4d5fa92bbeccdc) （@Kazutoshi08 さん）

2章でのガウス分布の周辺化を用いてベイズニューラルネットワークモデルの予測分布を導きます。



##### 演習問題 5.39 （基本）
- [PRML 演習問題 5.39 解答](https://qiita.com/mashiro135/items/47dcf76bc35e301ef58a) （@mashiro135 さん）

ベイズニューラルネットワークの超パラメータのエビデンス関数を、ラプラス近似の結果を用いて近似を行う問題です。














## おわりに （宣伝）
いかがだったでしょうか。
こうした記事が、少しでも皆さんがPRMLの演習問題を解く上での理解の助けとなれば幸いです。
誤りなどありましたら、各演習問題に対する解答記事にてコメントなど残していただければと思います。

さて、生物測定学研究室では、農学という分野にいながら、このような機械学習の基礎から勉強しているほか、**プログラミング言語**（`Python`, `R`, `C++`, `Julia`など）を駆使して、**効率的なデータ取得や、品種改良の高速化**に取り組んでいます。興味がある方は、ぜひホームページから研究紹介動画を見ていただければと思います。`Twitter`もはじめました。

研究室ホームページ: [東京大学 生物測定学研究室](https://www.ut-biomet.org/)
研究紹介動画など （YouTube）: [東京大学 生物測定学研究室 YouTubeチャンネル](https://www.youtube.com/channel/UCa8nlyLG5sYSzOJinHgRgqw)
Twitterアカウント: [UT-Biomet (@BiometUt)](https://twitter.com/BiometUt)

## 更新歴
- **2021.11.16** : 2021年度輪読会について、記述しました。
- **2021.10.29** : [Twitterサブアカウント](https://twitter.com/BiometUtDiary)を掲載しました。