* SJS2016 ex12 [#j771445d] #contents **はじめに [#j79fd70e] ***これまでの分 [#kbc5dcd1] - 以前の分を全て報告してokをもらってから,今回分にすすみましょう. ***今回と次回 [#sf7ceaec] [[SJS/2016/ex11]] のロジスティック回帰を,次の2段階で改良しよう - [[SJS/2016/ex12]] 入力が2次元より大きい場合も扱えるようにする - [[SJS/2016/ex13]] 出力を複数にして,クラス数が2より多い場合も扱えるようにする **課題A [#sae6e4fd] ''特徴次元数を一般化しよう'' 前回は特徴ベクトルの次元数 &mathjax{ D }; が 2 の場合のみを考えた.今回は &mathjax{ D \geq 1 }; の任意の次元数の特徴ベクトルを扱えるようにしよう. まず,特徴ベクトルを列ベクトル(&mathjax{D\times 1}; 行列)として #mathjax( \bm{x} = ( x_1, x_2, \dots , x_D )^{\top} ) と表す.このとき,シグモイド関数を用いて,入力 &mathjax{ \bm{x} }; に対する出力 &mathjax{ z }; を #mathjax( z = s( w_0 + w_1x_1 + w_2x_2 + \dots + w_Dx_D ) = s( w_0 + \bm{w}^{\top} \bm{x} ) ) とする.パラメータは,スカラ &mathjax{ w_0 }; と &mathjax{ D }; 次元ベクトル &mathjax{ \bm{w} }; なので計 &mathjax{ (D+1) };個ある. このとき,&mathjax{ h }; を前回同様に定義すると,&mathjax{ \frac{\partial h}{\partial w_d} }; ( &mathjax{ d = 0, 1, \dots , D }; ) は前回と全く同じように計算できる.式を簡潔に書くために #mathjax( \frac{\partial h}{\partial \bm{w}} = \left( \frac{\partial h}{\partial w_1}, \frac{\partial h}{\partial w_2}, \dots , \frac{\partial h}{\partial w_1} \right)^{\top} ) #mathjax( \frac{\partial h}{\partial \bm{w}} = \left( \frac{\partial h}{\partial w_1}, \frac{\partial h}{\partial w_2}, \dots , \frac{\partial h}{\partial w_D} \right)^{\top} ) という &mathjax{ D }; 次元ベクトルを定義すると, #mathjax( \frac{\partial h}{\partial \bm{w}} = \mbox{hoge} ) と書ける.hoge がどうなるか考えよう. **課題B [#d5e91332] ''実験'' 上記の結果を活かして,[[SJS/2016/ex11]]の課題Bのプログラムの改良版を作ろう.