Regression
Output a scalar
自变量X(input)
因变量Y(output)
寻找一个函数(function),他的output为一个数值,这种任务就叫 Regression
Example Application
Step1 Modle
Modle 本质上是 A set of function
(f1,f2 ,f3 …)
例如这个model:
y=b+w * xcp
这里的b,w 可以是任何数值。带入不同的值,可以得到不同的funtion:
f
1
:
y
=
9.0
+
9.0
∗
x
c
p
f1 : y = 9.0 + 9.0 * x_{cp}
f1:y=9.0+9.0∗xcp
f
2
:
y
=
9.8
+
9.2
∗
x
c
p
f2 : y = 9.8 + 9.2 * x_{cp}
f2:y=9.8+9.2∗xcp
f
3
:
y
=
−
0.8
−
1.2
∗
x
c
p
f3 : y = -0.8 - 1.2 * x_{cp}
f3:y=−0.8−1.2∗xcp
.
.
.
.
.
.
.
i
n
f
i
n
i
t
e
<
/
c
e
n
t
e
r
>
.......infinite</center>
.......infinite</center>
这些function 组成了一个 a set of funtion (及modle),这个model 为 Linear modle
,表示为:
y
=
b
+
w
i
x
i
y = b + w_ix_i
y=b+wixi
Step2 Goodness of Function
使用另外一个function 衡量我们衡量function 的好坏,即 loss function
(L)
input : a function
output:how bad it is
L
(
f
)
=
∑
i
=
1
n
(
y
^
n
−
f
(
x
c
p
n
)
)
2
L(f) = \sum_{i=1}^{n}(\hat y ^n - f(x^n_{cp}))^2
L(f)=i=1∑n(y^n−f(xcpn))2
即 实际值与评估值的差距取平方累加
f 是关于 w 和 b 的,那么 L是关于 f的,即 L也是关于 w和b的,这个等式可以等同于:
L
(
w
,
b
)
=
∑
i
=
1
n
(
y
^
n
−
(
b
+
w
∗
x
c
p
n
)
)
2
L(w,b) = \sum_{i=1}^{n}(\hat y ^n - (b+ w *x^n_{cp}))^2
L(w,b)=i=1∑n(y^n−(b+w∗xcpn))2
Step3 Best Function
Best Function 即 L(f) 最小的时候
f
∗
=
a
r
g
m
i
n
L
(
f
)
f^* = arg minL(f)
f∗=argminL(f)
w
∗
,
b
∗
=
a
r
g
m
i
n
w
,
b
∑
i
=
1
n
(
y
^
n
−
(
b
+
w
∗
x
c
p
n
)
)
2
w*,b* = arg min_{w,b}\sum_{i=1}^{n}(\hat y ^n - (b+ w *x^n_{cp}))^2
w∗,b∗=argminw,bi=1∑n(y^n−(b+w∗xcpn))2
解决这个问题的方法为 Gradient Descent
Gradient Descent
consider loss function L(w) with one parameter w:
w ∗ = a r g m i n w L ( w ) w^* = arg min_wL(w) w∗=argminwL(w)
- pick an intial value w 0 w^0 w0 randomly
- compute d L d w ∣ w = w 0 \frac{dL}{dw}| _{w=w^0} dwdL∣w=w0 ;计算得到新的 w : w 1 ← w 0 − η d L d w ∣ w = w 0 w1\leftarrow w^0- \eta\frac{dL}{dw}| _{w=w^0} w1←w0−ηdwdL∣w=w0 ( η \eta η为 learning rate ,为一个常数)
- compute d L d w ∣ w = w 1 \frac{dL}{dw}| _{w=w^1} dwdL∣w=w1 ;计算得到新的 w : w 2 ← w 1 − η d L d w ∣ w = w 1 w2\leftarrow w^1- \eta\frac{dL}{dw}| _{w=w^1} w2←w1−ηdwdL∣w=w1
- many iteration
consider loss function L(w) with one parameter w, b :
w ∗ , b ∗ = a r g m i n w , b L ( w , b ) w^*,b^* = argmin_{w,b}L(w,b) w∗,b∗=argminw,bL(w,b)
- pick intial value w 0 w^0 w0, b 0 b^0 b0 randomly
- compute ∂ L ∂ w ∣ w = w 0 , b = b 0 \frac{\partial{L}}{\partial{w}}| _{w=w^0,b=b^0} ∂w∂L∣w=w0,b=b0 ; ∂ L ∂ b ∣ w = w 0 , b = b 0 \frac{\partial{L}}{\partial{b}}| _{w=w^0,b=b^0} ∂b∂L∣w=w0,b=b0 计算得到 w 1 , b 1 w^1,b^1 w1,b1
- compute ∂ L ∂ w ∣ w = w 1 , b = b 1 \frac{\partial{L}}{\partial{w}}| _{w=w^1,b=b^1} ∂w∂L∣w=w1,b=b1 ; ∂ L ∂ b ∣ w = w 1 , b = b 1 \frac{\partial{L}}{\partial{b}}| _{w=w^1,b=b^1} ∂b∂L∣w=w1,b=b1 计算得到 w 2 , b 2 w^2,b^2 w2,b2
- many iteration
将参数偏导数放在一起排成vector (即 gradient) Δ L = [ ∂ L ∂ w ∂ L ∂ w ] \Delta L =\Bigg[{\frac{\partial{L}}{\partial{w}} \atop \frac{\partial{L}}{\partial{w}}}\Bigg] ΔL=[∂w∂L∂w∂L]
存在问题: loss function 的求解容易陷入局部最优,但是 liner regression 不用太担心,因为函数是一个碗的形状,最后会达到最低点