#author("2017-11-25T19:22:22+09:00","default:takataka","takataka")
#author("2017-11-25T19:23:02+09:00","default:takataka","takataka")
* SJS2017 ex11 [#j771445d]

#contents

**はじめに [#j79fd70e]

***これまでの分 [#kbc5dcd1]

- 以前の分を全て報告してokをもらってから,今回分にすすみましょう.

***今回と次回 [#sf7ceaec]

[[SJS/2017/ex10]] のロジスティック回帰を,次の2段階で改良しよう
- [[SJS/2017/ex11]] 入力が2次元より大きい場合も扱えるようにする
- [[SJS/2017/ex12]]  出力を複数にして,クラス数が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_1x_1 + w_2x_2 + \dots + w_Dx_D + b) = s( \bm{w}^{\top} \bm{x} + b ) )
とする.パラメータは,スカラ &mathjax{ b }; と &mathjax{ D }; 次元ベクトル &mathjax{ \bm{w} }; なので計 &mathjax{ (D+1) };個ある.

このとき,&mathjax{ h }; を前回同様に定義すると,&mathjax{ \frac{\partial h}{\partial w_d} }; ( &mathjax{ d = 1, \dots , D }; ) は前回と全く同じように計算できる.式を簡潔に書くために
このとき,&mathjax{ h }; を前回同様に定義すると,&mathjax{ \frac{\partial h}{\partial w_d} }; ( &mathjax{ d = 1, \dots , D }; ) は(&mathjax{ \frac{\partial h}{\partial b} };も)前回と全く同じように計算できる.式を簡潔に書くために
#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/2017/ex10]]の課題Bのプログラムの改良版を作ろう.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS