#author("2022-10-27T23:03:03+09:00","default:takataka","takataka") *多変量解析及び演習 2022年度 おまけ課題 [#aab7e27f] **はじめに [#uf41c46f] ここにはおまけ課題があります.おまけですので,やらなくても減点はありません.やると棒茄子? それぞれの課題について,やったひとは授業時間中に takataka に見せてね. ** omake02 [#omake02] - [[ex02notebookC.ipynb>https://github.com/takatakamanbou/MVA/blob/2022/ex02notebookC.ipynb]] の末尾にあります. - 期限: 第3回の授業開始時 ** omake03 [#omake03] - [[omake03.ipynb>https://github.com/takatakamanbou/MVA/blob/2022/omake03.ipynb]] - 期限: 第4回の授業終了時 - ちょっと難しいので,他より点数大きくします ** omake04 [#omake04] A と B は独立です *** omake04A [#uc372c89] - 手計算のみ,易しい? - 期限: 第5回演習開始時 [[ex03notebookA.ipynb>https://github.com/takatakamanbou/MVA/blob/2022/ex03notebookA.ipynb]] の式(3) の1行目 #mathjax{{ \sum_{n=1}^{N} x_{n,0}\mathbf{w}\cdot\mathbf{x}_n = \sum_{n=1}^{N} x_{n,0}y_n }} が成り立つとき,次のことが言えます: > &mathjax{\mathbf{w}}; で決まる回帰式が表す平面は,説明変数と被説明変数の平均の点 &mathjax{(\bar{x}_{1}, \bar{x}_{2}, \ldots, \bar{x}_D, \bar{y})}; を通る. < これを証明しなさい. *** omake04B [#gd507ce1] - [[omake04.ipynb>https://github.com/takatakamanbou/MVA/blob/2022/omake04.ipynb]] - 期限: 第5回演習開始時 ** omake05 [#omake05] 主成分分析では,データの分散共分散行列の固有値・固有ベクトルを計算に使いますが,実は,「特異値分解」を利用すると,分散共分散行列を計算しなくても,その固有値・固有ベクトルを求めることができます. その理屈を理解して実際に計算してみましょう. - 手計算と Python + NumPy の複合 - 期限: 第6回演習終了まで *** Step1 [#q799c179] 任意の &mathjax{m \times n}; 行列 &mathjax{X}; は #mathjax{{ X = USV^{\rm T} }} と分解できます.ただし,&mathjax{\textrm{rank}(X) = r \leq \textrm{min}(m, n)}; として, - &mathjax{U}; は &mathjax{m\times r}; 列直交行列(各列のベクトルが直交し大きさが1) - &mathjax{V}; は &mathjax{n\times r}; 列直交行列 - &mathjax{S}; は &mathjax{r\times r}; 対角行列で,その対角要素 &mathjax{\sigma_1, \sigma_2, \ldots, \sigma_r}; は全て正 です.&mathjax{\sigma_1, \sigma_2, \ldots, \sigma_r}; を &mathjax{X}; の特異値といい,この行列分解を特異値分解といいます. このとき,&mathjax{X^{\rm T}X}; を &mathjax{V}; と &mathjax{S}; を用いて表しなさい. Step1 ができたらいったん takataka に見せてください.Step2 につながるお話をします. *** Step2 [#s88f8bd1] Step1 が(高橋の説明も含めて)分かると,データを表す &mathjax{N\times D}; 行列 &mathjax{X}; が与えられたとき(平均は &mathjax{\mathbf{0}}; とします), &mathjax{X}; の分散共分散行列 &mathjax{\frac{1}{N}X^{\rm T}X}; を計算してからその固有値固有ベクトルを求める必要はなく,&mathjax{X}; を特異値分解した結果からそれらが求まることが分かります. ex05notebookB の適当な箇所にセルを追加して,Vの固有値固有ベクトルをXの特異値分解(np.linalg.svd 使いましょう)を用いて計算して表示するコードを書きなさい. ** omake06 [#omake06] 画像処理してみよー - [[omake06.ipynb>https://github.com/takatakamanbou/MVA/blob/2022/omake06.ipynb]] - 期限: 第8回演習開始時 ** omake07 [#omake07] 自分で適当なデータを探して,Colab notebook を使って重回帰分析または主成分分析をやってみましょう. 期限は特に設けませんので,できた時点で takataka に見せてください.データの入手の仕方や前処理のやり方などなど,随時相談にのります.