Machine Learning

Stanford Univ, Coursera


Normal Equation (正規方程式)


これ以下、未編集

Hypothesis: $h_{\theta}(x) = {\theta}_0 + {\theta}_1 x_1 + {\theta}_2 x_2 + {\theta}_2 x_2 + {\theta}_3 x_3 + {\theta}_4 x_4 $
$n = $ the number of features (feature の数)
$m = $ the number of training examples (トレーニングセットの数)
$x^{(i)}_j =$ value of feature $j$ in the $i$th training example
$x^{(i)} =$ the features of the $i$th training example
$\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} $
Hypothesis:
$ \begin{eqnarray} h_{\theta}(x) &=& {\theta}_0 + {\theta}_1 x_1 + {\theta}_2 x_2 + {\theta}_2 x_2 + {\theta}_3 x_3 + \cdots + {\theta}_n x_n \\ &=& \begin{pmatrix} {\theta}_0 & {\theta}_1 & \cdots & {\theta}_n \end{pmatrix} \begin{pmatrix} x_0 \\ x_1 \\ \vdots \\ x_n \end{pmatrix} \\ &=& \boldsymbol{{\theta}}^T \boldsymbol{x} \end{eqnarray} $

Gradient Descent

Repeat
$\displaystyle \quad {\theta}_j := {\theta}_j - \alpha \frac{1}{m} \sum_{i=1}^{m} ( h_{\theta} (x^{(i)}) - y^{(i)} ) x^{(i)}_j $
ただし $j=0,1,{\cdots},n$について ${\theta}_j$ を同時に更新する必要がある。

Feature Scaling (属性のスケール合わせ)

feature $x_j$ によって数値が極端に変わると、収束に時間がかかってしまうのでスケールを合わせる必要がある。 $\displaystyle \begin{eqnarray} x^{(i)}_j &=& \frac{x^{(i)}_j - {\mu}_j}{s_j} \\ {\mu}_j &=& \frac{1}{m} \sum_{i=1}^{m} x^{(i)}_j \\ s_j &=& {\max}_{i=1,\cdots,m}(x^{(i)}_j) - {\min}_{i=1,\cdots,m}(x^{(i)}_j) \end{eqnarray} $

注意:
"Week 2: Gradient Descent in Practice I - Feature Scaling" のまとめでは、 $\displaystyle \begin{eqnarray} x_i &=& \frac{x_i - {\mu}_i}{s_i} \\ \end{eqnarray} $ と書いてあるが、$i$と$j$の指すものが他の説明と異なるのでわかりにくいと思う。文章では正しくと説明されているようだが。

Learning Rate (学習率) の値の選び方

注意
"Gradient Descent in Practice II - Learning Rate"のビデオで $\alpha$が大き過ぎる場合の手書きの赤い線で $J(\theta)$が左右に交互に振れながら増大していく図を書いたが、これは間違いでは。 左右に振れながら$J(\theta)$が増大していくグラフの横軸は $\boldsymbol{x}$の場合でなければならない。

$\alpha$が小さいと、conversion(収束)までに時間がかかる。 $\alpha$が大き過ぎると、$J(\theta)$ 減少しないことがあるかもしれないし、収束しないかもしれない。

Features and Polynomial Regression

複数の features を、ひとつの feature にまとめる場合もある。 Cost Function は線形である必要はなく、Polynomial (多項式) を使う場合もある。 ただし、この場合はその項($x^2$とか$\sqrt{x}$とか)が取り得る値で割った値を使うこと。
Yoshihisa Nitta

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