Machine Learning

Stanford Univ, Coursera


Ocatve

Hyphothesisの計算

$\displaystyle \boldsymbol{x} = \begin{pmatrix} x_0 \\ x_1 \\ \vdots \\ x_n \end{pmatrix} \quad\quad where \quad x_0 = 1 $
$\displaystyle \boldsymbol{{\theta}} = \begin{pmatrix} {\theta}_0 \\ {\theta}_1 \\ \vdots \\ {\theta}_n \end{pmatrix} $
$ \begin{eqnarray} h_{\theta}(x) &=& \sum_{j=0}^{n} {\theta}_j x_j &=& \boldsymbol{\theta}^T \boldsymbol{x} &=& \begin{pmatrix} {\theta}_0 & \cdots & {\theta}_n \end{pmatrix} \begin{pmatrix} x_0 \\ \vdots \\ x_n \end{pmatrix} \end{eqnarray} $

[注意] ここの説明は後のつながりからすると $\boldsymbol{x}^T \boldsymbol{\theta} $ という式にした方が親切だ(わかりやすい)と思う。

Unvectorized Implementation (octave)
prediction = 0.0;
for j = 1:n+1,
  prediction = precdiction + theta (j) * x(j)
end;
Vectorized Implementation (octave)
prediction = theta' * x;

Vectorized

$ \begin{eqnarray} \boldsymbol{h}_{\theta}(\boldsymbol{x}) &=& \begin{pmatrix} {\boldsymbol{x}^{(1)}}^T \boldsymbol{\theta} \\ \vdots \\ {\boldsymbol{x}^{(m)}}^T \boldsymbol{\theta} \\ \end{pmatrix} &=& \begin{pmatrix} x^{(1)}_0 & \cdots & x^{(1)}_n \\ \vdots & \ddots & \vdots \\ x^{(m)}_0 & \cdots & x^{(m)}_n \\ \end{pmatrix} \begin{pmatrix} {\theta}_0 \\ \vdots \\ {\theta}_n \end{pmatrix} \end{eqnarray} $
Vectorized Implementation (octave)
授業で配布するプリントを参照して下さい。

これ以下、未編集


Yoshihisa Nitta

http://nw.tsuda.ac.jp/