LoginSignup
2
5

More than 5 years have passed since last update.

Coursera Machine Learning の受講記録(Week3)

Last updated at Posted at 2017-12-13

Machine Learning by Stanford University WEEK3 のまとめ

分類 クラシフィケーション

ロジスティック回帰

ex) 腫瘍の大きさにより、悪性か良性かを分類する という例
Kobito.N536qo.png

yの値は0か1になる

hθ(x) = g(θTx)
z = θTx
g(z) = 1/ (1+e^-z)

g(z)はシグモイド関数またはロジスティック関数という
Kobito.yIrmoy.png

hθ(x) = 0.7 の場合、70%の確率で悪性(1)、30%の確率で良性(0)になる。
これを式で表すと以下の通り (P(y=1|x;θ)はx,θをパラメータとしてy=1である確率の意味)
Kobito.e3dynU.png

ロジスティック回帰の決定境界

シグモイド関数(ロジスティック回帰)で定義されるh(x)が0.5以上の場合は1, 0.5未満の場合は0と判断できる。

Kobito.vdaiSz.png

hθ(x) = g(θTx)
z = θTx
g(z) = 1/ (1+e^-z)
なので、
Kobito.TP06e4.png
Kobito.v35Mho.png
Kobito.JBghoG.png
Kobito.lsVeYD.png

例)
Kobito.SpMGWu.png

x1,x2は上記の式で表せる。この式で表現される境界値を決定境界と言う。

ロジスティック回帰のコスト関数

Kobito.Hx4zim.png

コスト関数をグラフ化すると以下の通り

y=1 の時 ・・ hθ(x)=1の時、J(θ)は1に漸近
Kobito.vUjIHU.png

y=0 の時 ・・ hθ(x)=1の時、J(θ)は1に漸近
Kobito.Wya3x6.png

Kobito.TWn6pu.png

上記をy=1,0に分けずに式にすると
Kobito.ALDbS4.png
この式は以下のように表せる。

Kobito.z44J5z.png

ベクトル化すると以下
Kobito.5r4pJJ.png

最急降下法は
Kobito.1TlF5n.png
これは以下のように表記できる。
Kobito.aiQJna.png
ベクトル化すると以下となる。
Kobito.lyqLwV.png

最急降下法以外のJ(θ)最適化アルゴリズム

最急降下法以外に、BFGS, L-BFGS, 共役勾配法がある。
これらのアルゴリズムの詳細はコースの範囲外なので触れない。
octaveにはfminunc という最適化の為の関数が用意されている。
使用例は以下

function [jVal, gradient] = costFunction(theta)
  jVal = [...code to compute J(theta)...];
  gradient = [...code to compute derivative of J(theta)...];
end

options = optimset('GradObj', 'on', 'MaxIter', 100);
initialTheta = zeros(2,1);
   [optTheta, functionVal, exitFlag] = fminunc(@costFunction, initialTheta, options);

マルチクラスの分類問題

2つのクラスの分類の応用として、複数クラスの分類をする際、以下のような考え方となる。
Kobito.t3vBub.png

Kobito.pxcy5d.png

k個のクラスに分類する際、k個の分類器hθ(x) を定義し、最大値を取る分類器を採用する。

オーバーフィッティング

オーバーフィッティングとは、トレーニングデータが少なく、仮説関数の変数が多い場合に起こる。トレーニングデータに過剰に最適化してしまい、トレーニングデータ以外のデータに一般化されていない状態になってしまうこと。

下図の右のような状態。
Kobito.3gzjs5.png

オーバーフィッティングを解決する方法は以下

  • 変数の値を減らす
  • 正規化
    • 変数の値は保持したまま、パラメータθを減らす
    • 正規化の手法を使う(後述)

オーバーフィッティングを避ける為のコスト関数(正規化)

線形回帰を例にとると以下。

Kobito.jckkjQ.png

これは、通常のコスト関数に
Kobito.ru4mm3.png

を加えたもので、パラメータθの値をなるべく小さく取るという意味がある。
λは正規化パラメータと呼ばれる。

線形回帰の正規化

線形回帰に対して、最急降下法(正規化あり)を適用した場合の式は以下の通り
Kobito.b9VTQY.png

上記式のθ・-αλ/mの項以外は、正規化前の線形関数に対する最急降下法の式と同一で、(1-α・λ/m) < 1(ex)0.99・・)従って、正規化された最急降下法では、θの値がイテレート毎に減っていく事が分かる。

正規方程式の正規化

正規方程式の正規化は以下の通り

Kobito.lYPO0A.png

Lはn+1×n+1の行列

正規方程式の非可逆問題は正規化の為の式λ・Lを加える事によって解決する。(証明は省く)

ロジスティック回帰の正規化

正規化用の項を最後に入れて以下のようになる
Kobito.nOq018.png

最急降下法は以下の通り
Kobito.5sgzmX.png

2
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
5