機械学習論( 02 回)
データサイエンスの復習
竹内一郎
名古屋工業大学
1. 回帰問題と線形回帰分析
回帰問題(単回帰)
▶ (例題)広告宣伝費から販売台数を予測する
番号(i) 広告宣伝費(xi万円) 販売台数(yi台)
1 1000 3500
2 2000 4300
3 2500 6300
4 2500 5300
5 3000 7100
6 3300 7200
7 3400 8400
8 4000 9500
9 4400 9200
10 5000 9800
線形単回帰モデル
020004000600080001000012000
Sales
回帰問題(重回帰)
▶ (例題)広告宣伝費と燃費から販売台数を予測する
番号(i) 広告宣伝費(xi1万円) 燃費(xi2km/litter) 販売台数(yi台)
1 1000 20.51 3500
2 2000 30.60 4300
3 2500 38.20 6300
4 2500 28.50 5300
5 3000 30.25 7100
6 3300 25.80 7200
7 3400 32.45 8400
8 4000 35.12 9500
9 4400 26.40 9200
10 5000 31.20 9800
線形重回帰モデル
0 2 4 6 8 10
0 2 4 6 810
0 2
4 6
8 1000
x2 E[y]
線形回帰分析
▶ 訓練データ(n事例,d入力, 1出力)
事例番号 入力変数 出力変数 x1 x2 · · · xd y 1 x11 x12 · · · x1d y1 2 x21 x22 · · · x2d y2 ... ... ... . .. ... ... n xn1 xn2 · · · xnd yn
線形(重)回帰分析
▶ 線形回帰モデル
yi=β0+
∑d
j=1
βjxij+εi,E[εi] = 0,V[εi] =σ2
▶ 最小二乗法
( ˆβ0,βˆ1, . . . ,βˆd) = arg min
β0,β1,...,βd
∑n
i=1
(yi−(β0+
∑d
j=1
βjxij))2
▶ 予測(テスト入力x0:= [x01, . . . , x0d]⊤に対して)
ˆ
y0= ˆβ0+
∑d
βˆjx0j
(注)定数項
β
0について▶ 定数項β0を省略することがある
yi=
∑d j=1
βjxij+εi, ( ˆβ1, . . . ,βˆd) = arg min
β0,β1,...,βd
∑n i=1
(yi−
∑d j=1
βjxij)2
▶ 入力ベクトルを
1→xi1, xi1→xi2, xi2→xi3, . . . , xid →xi,d+1, d+ 1→d と再定義すれば
β0+
∑d j=1
βjxij →
∑d j=1
βjxij
▶ 以降,必要ない場合は定数項β0を省略し,必要ある場合のみ明記
訓練データの行列・ベクトル表現
▶ データ
X =
x11 x12 · · · x1d
x21 x22 · · · x2d
... ... . .. ... xn1 xn2 · · · xnd
∈Rn×d, y=
y1
y2
... yn
∈Rn.
▶ パラメータと誤差
β=
β1 β2
... βd
∈Rd, ε=
ε1 ε2
... εn
∈Rn
線形モデルと最小二乗法
▶ 線形モデル
y=Xβ+ε
▶ 最小二乗法
βˆ= arg min
β∈Rd(y−Xβ)⊤(y−Xβ)
演習問題1
▶ 以下の関係を示せ.
∑n i=1
(yi−
∑d j=1
βjxij)2= (y−Xβ)⊤(y−Xβ)
二次関数の最小化
▶ 二乗誤差和
E= (y−Xβ)⊤(y−Xβ)
▶ 最適性条件
∂E
∂β
β= ˆβ =0
▶ 正規方程式
(X⊤X) ˆβ=X⊤y
演習問題2
▶ 最小化問題
βˆ= arg min
β∈Rd(y−Xβ)⊤(y−Xβ) の最適解が
βˆ= (X⊤X)−1X⊤y
と表わされることを示せ.ただし,以下の微分規則を利用してよ い(A∈Rk×k,b∈Rk,z ∈Rk)
∂b⊤z
∂z =b, ∂z⊤b
∂z =b, ∂b⊤z
∂z⊤ =b⊤, ∂z⊤b
∂z⊤ =b⊤, ∂(z⊤Az)
∂z = 2Az.
2. 分類問題とロジスティック回帰分析
分類問題
▶ (例題)価格から自動運転装置の有無を予測する
価格(xi) 自動運転(yi)
1.25 0
1.36 0
1.52 1
1.55 0
1.64 0
1.74 1
1.82 0
2.01 1
2.27 1
2.35 1 1.0 1.5 2.0 2.5
01
Car Price
Auto−Driving Equipment
分類問題
▶ (例題)価格から自動運転装置の有無を予測する
価格(xi) 自動運転(yi)
1.25 0
1.36 0
1.52 1
1.55 0
1.64 0
1.74 1
1.82 0
2.01 1
2.27 1
2.35 1
1.0 1.5 2.0 2.5
01
Car Price
Auto−Driving Equipment
分類問題
▶ (例題)価格から自動運転装置の有無を予測する
価格(xi) 自動運転(yi)
1.25 0
1.36 0
1.52 1
1.55 0
1.64 0
1.74 1
1.82 0
2.01 1
2.27 1
2.35 1
1.0 1.5 2.0 2.5
01
Auto−Driving Equipment
二値変数の確率モデル
▶ パラメータq∈[0,1]のベルヌーイ分布
P[yi= 1] =q, P[yi= 0] = 1−q.
▶ ロジスティック回帰モデル
P[yi= 1|xi] =h(β⊤xi)
▶ ロジスティック関数
h(z) = 1
1 + exp(−z)
0.20.40.60.81.0
Logistic Function
ロジスティック回帰モデルの学習
▶ 尤度
L(β) =
∏n
i=1
P[yi|xi] = ∏
i:yi=1
h(β⊤xi)× ∏
i:yi=0
(1−h(β⊤xi))
▶ ロジスティック回帰モデルの学習 βˆ= arg max
β∈Rd
∑n i=1
(
yilog 1
1 + exp(−β⊤xi)+ (1−yi) log exp(−β⊤xi) 1 + exp(−β⊤xi)
)
演習問題3
▶ ロジスティック回帰モデルの学習が最適化問題 βˆ= arg max
β∈Rd
∑n i=1
(
yilog 1
1 + exp(−β⊤xi)+ (1−yi) log exp(−β⊤xi) 1 + exp(−β⊤xi)
)
の解として表わされることを示せ.
線形分類境界
▶ (例題)遺伝子A, Bの活動量に基づいて癌か健康かを分類したい
ID gene A gene B cancer (1) ornot (0)
1 310 150 1
2 190 160 1
3 280 120 1
4 310 170 1
5 290 120 1
6 200 100 0
7 180 130 0
8 240 110 0
9 150 150 0
10 150 110 0 80
100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
線形分類境界
▶ (例題)遺伝子A, Bの活動量に基づいて癌か健康かを分類したい
ID gene A gene B cancer (1) ornot (0)
1 310 150 1
2 190 160 1
3 280 120 1
4 310 170 1
5 290 120 1
6 200 100 0
7 180 130 0
8 240 110 0
9 150 150 0
10 150 110 0 80
100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
線形分類境界
▶ (例題)遺伝子A, Bの活動量に基づいて癌か健康かを分類したい
ID gene A gene B cancer (1) ornot (0)
1 310 150 1
2 190 160 1
3 280 120 1
4 310 170 1
5 290 120 1
6 200 100 0
7 180 130 0
8 240 110 0
9 150 150 0
10 150 110 0 80
100 120 140 160 180 200
100 150 200 250 300 350 400
Activity of gene B
Activity of gene A
2クラス分類問題の誤差
▶ 2クラス分類
y0=
{ 1 ifP[y0|x0] =h( ˆβ⊤x0)>0.5, 0 ifP[y0|x0] =h( ˆβ⊤x0)≤0.5
▶ 分類誤差
E= ∑
i:yi=1
1{h( ˆβ⊤xi)≤0.5}+ ∑
i:yi=0
1{h( ˆβ⊤xi)>0.5}
▶ ロジスティック回帰では代理誤差として負の対数尤度を利用
E= ∑
i:yi=1
logP[yi= 1|xi] + ∑
i:yi=0
logP[yi= 0|xi]
3. モデルの選択と評価
モデルの学習と評価
▶ 訓練データ(過去のデータ)
{(xi, yi)}ni=1
▶ ステップ1:訓練データを使ってモデルを学習する βˆ= arg min
β∈Rd
∑n i=1
(yi−β⊤xi)2
▶ テストデータ(新しいデータ)
{(x′i, y′i)}ni=1′
▶ ステップ2:評価データを使ってモデルを評価する
E=
n′
∑(yi′−βxˆ ′i)2
チューニングパラメータ
▶ ほとんどの実用的な機械学習モデルの誤差関数は
E=(訓練データへの適合度)+λ(モデルの滑らかさ)
と表わされる.
▶ ハイパーパラメータλの選択
λ:小 λ:中 λ:大
交差確認法(
Cross Validation
)学習データ 評価データ
1回目 2回目 3回目 4回目 5回目
交差確認法の例
交差確認法の例
交差確認法の例
交差確認法の例
交差確認法の例
1
つ抜き交差確認法(leave-one-out CV
)1回目 2回目
n回目
n – 1 回目
学習データ 評価データ
訓練データ,評価データ,テストデータ
▶ 訓練データ:モデルのパラメータβの決定に利用
▶ 評価データ:モデルのハイパーパラメータλの決定に利用
▶ テストデータ:モデルの汎化性能を知るために利用
最終課題1
▶ 訓練データを{(xi, yi)}ni=1を用いて,定数モデル f(xi) =β0
を推定する問題を考える(すわなち,xiを使わない)
▶ 定数モデルの最小二乗解が以下のように表わされることを示せ
arg min
β0∈R
∑n i=1
(yi−β0)2= 1 n
∑n i=1
yi = ¯y
最終課題2
▶ 定数モデルの訓練誤差と1つ抜き交差確認法(LOOCV)による評 価誤差は,それぞれ以下のように表わされる:
TrainErr:=
∑n i=1
(yi− 1 n
∑n j=1
yj)2
ValidErr:=
∑n i=1
(yi− 1 n−1
∑
j̸=i
yj)2
▶ このとき,両者の関係が
ValidErr= ( n
n−1 )2
TrainErr
となることを示せ(この結果は訓練誤差が汎化誤差を過小に見積