未分類

例:線形回帰

機械学習の単純なモデルとして線形回帰を見てみます.

タスクT

訓練データがn次元の特徴量ベクトルで,出力がスカラーである問題を次の式でモデリングし,未知の値に対する出力を予測します.

y=\bf{w}^\mathrm{T}\bf{x}

ここでwは係数,xが入力でyが出力です.

性能評価P

訓練データとは別のm個のテストデータと正解を用意し,平均二乗誤差の大小で性能を評価します.

正解を縦に並べたベクトルを\bf{y},回帰式の出力を縦に並べたベクトルを\bf{\hat{y}}とすると

MSE=\frac{1}{m}\sum_{i}(\bf{y}-\bf{\hat{y}})^{2}_{i}=\frac{1}{m}||\bf{y}-\bf{\hat{y}}||^2

となります.

/*MSEはmean square errorの頭文字です*/

wの決定

どうやったらwを決定できるかですが,訓練データのMSEを最小化すればうまくいきそうだということが直感的にわかります.

/*テキストの次のセクションで正当化するそうです.*/

訓練データのMSEが最小化されるのはMSEのwに関する勾配が零ベクトルとなればよいので,/*二次の条件を見ないでいいのはMSEが明らかに極大値を持たないからですね*/

\nabla MSE=\bf{0}

\frac{1}{m}は計算に関わってこないので無視し,\bf{\hat{y}}=\bf{Xw} \ \mathrm{where}\ \bf{X}=(\bf{x_1} \bf{x_2} ...)^\mathrm{T}であることを用いれば

\nabla(\bf{Xw-y})^\mathrm{T}(\bf{Xw-y})\\    =\nabla((\bf{Xw})^\mathrm{T}\bf{Xw}-2(\bf{Xw})^\mathrm{T}\bf{y}+\bf{y}^\mathrm{T}\bf{y})\\    =\nabla(\bf{w}^\mathrm{T}\bf{X}^\mathrm{T}\bf{Xw}-2(\bf{Xw})^\mathrm{T}\bf{y}+\bf{y}^\mathrm{T}\bf{y})\\    =2\bf{X}^\mathrm{T}\bf{Xw}-2\bf{Xy}=\bf{0}\\    \Rightarrow\bf{w}=(\bf{X}^\mathrm{T}\bf{X})^{-1}\bf{Xy}

となります.

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中