秋风扫落叶

菜鸟小站

李宏毅Machine Learning 学习笔记1 Regression

1 Regression

Regression :outpur scalar

什么是回归?output是一个数值的就是回归。

Step 1: Model (function set )

A set of function

f1:y=10.0+9.0xcp

f2:y=9.8+9.2xcp

f3:y=0.81.2xcp

Linear Model

xi :输入值x的一个属性(feature 特征值)
wi :weight ,b :bias

y=b+wixi

Step 2 : Goodness of function

y=b+wxcp

y hat 表示这是一个正确的数字
上标表示一个整体的资料,
下标表示这个资料里的某一个属性。

衡量function 需要 loss Function

Loss function

L(f)=n=110(y^nf(xcpn))2

Lost function 是 function 的 function

L(f) ——> L(w,b)

L(f)=L(w,b)=n=110(y^n(b+wxcpn))2

Step 3: Best function

pick the Best function

f=argminfL(f)

w,b=argminw,bL(w,b)

=argminw,bn=110(y^n(b+wxcpn))2

Step 3: Gradient Descent

单个参数

w=argminwL(w)

  • pick an inital value w0
  • Compute

dLdW|w=w0

w1w0ηdLdW|w=w0

  • Compute

dLdW|w=w1

w2w1ηdLdW|w=w1

两个参数

w,b=argminw,bL(w,b)

  • pick an inital value w0
  • Compute (复习高等数学中如何求偏导)\

    LW|w=w0,b=b0,Lb|b=b0,w=w0,

    w1w0ηLW|w=w0,b=b0

    b1b0ηLb|w=w0,b=b0

  • Compute

LW|w=w1,b=b1,Lb|b=b1,w=w1,

w2w1ηLW|b=b1,w=w1

b2b1ηLb|b=b1,w=w1

Problem

globel minima
stuck at local minima
stuck at saddle point
very slow at the plateau

Linear Regression 的 lost function 是一个凸函数,不必担心局部最小值的问题

Learning Rate

η
Learning Rate 控制步子大小、学习速度。

another linear model

y=b+W1Xcp+W2(Xcp)2

y=b+W1Xcp+W2(Xcp)2+W3(Xcp)3

y=b+W1Xcp+W2(Xcp)2+W3(Xcp)3+W4(Xcp)4

y=b+W1Xcp+W2(Xcp)2+W3(Xcp)3+W4(Xcp)4+W5(Xcp)5

所谓一个model是不是linear 是指他的参数对他的output 是不是linear。
- A more complex model yields lower error on training data.
If we can truly find the best function

Model Selection

model Training Testing
1 31.9 35.0
2 15.4 18.4
3 15.3 18.1
4 14.9 28.2
5 12.8 232.1

- A more complex model does not always lead to better performance on testing data.
- This is Overfitting

复杂模型的model space涵盖了简单模型的model space,因此在training data上的错误率更小,但并不意味着在testing data 上错误率更小。模型太复杂会出现overfitting。

What are the hidden factors?

考虑pakemon种类对cp值的影响。

Back to step 1: Redesign the Model

ifxs=Pidgey:y=b1+w1xcp

ifxs=Weedle:y=b2+w2xcp

ifxs=Caterpie:y=b3+w3xcp

ifxs=Eevee:y=b4+w4xcp

y=b1δ(xs=Pidgey)+w1δ(xs=Pidgey)xcp

+b2δ(xs=Weedle)+w2δ(xs=Weedle)xcp

+b3δ(xs=Caterpie)+w3δ(xs=Pidgey)xcp

+b4δ(xs=Caterpie)+w4δ(xs=Pidgey)xcp

Training error = 3.8 ,Testing Error= 14.3

这个模型在测试集上有更好的表现。

Are there any other hidden factors?

hp值,体重,高度对cp值的影响。

Back to step 1: Redesign the Model Again

ifxs=Pidgey:y,=b1+w1xcp+w5(xcp)2

ifxs=Weedle:y,=b2+w2xcp+w6(xcp)2

ifxs=Caterpie:y,=b3+w3xcp+w7(xcp)2

ifxs=Eevee:y,=b4+w4xcp+w8(xcp)2

y=y,+w9xnp+w10(xnp)2+w1 xh+w12(xh)2+w13xw+w14(xw)2

Training Error = 1.9, Testing Error = 102.3,Overfitting

如果同时考虑宝可梦的其它属性,选一个很复杂的模型,结果会overfitting。

Back to step 2:regularization

对很多不同的test 都general有用的方法:正则化。

L(f)=L(w,b)
=n(y^n(b+wixi))2+λ(wi)2

同时会让w很小。意味着,这是一个比较平滑的function。

y=b+wixi

y+wiΔxi=b+wi(xi+Δxi)

如果w1比较小的话,代表这个function是比较平滑的。

lambda Training Testing
0 1.9 102.3
1 2.3 68.7
10 3.5 25.7
100 4.1 11.1
1000 5.6 12.8
10000 6.3 18.7
100000 8.5 26.8

lambda 增加的时候,我们是会找到一个比较smooth的function。越大的λ,对training error考虑得越少。 调整λ,选择使testing error最小的λ。

阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

李宏毅Machine Learning 学习笔记1 Regression

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭