学习地址
参考博客
Regression: output a scalar
举例
Example Application
任务:预测宝可梦的CP值
上标表示一个object整体,下表表示一个object里的某些特征,不同的下标表示不同的feature。例如在本例中,
x
c
p
x_{cp}
xcp表示宝可梦的战斗力CP,
x
h
x_h
xh表示宝可梦的身高,
x
s
x_s
xs表示宝可梦的种类。
步骤
Step 1: Model(a set of function)
w, b 为模型的参数,有的可能会不合理,需要自动挑出合理的function.
Step 2: Goodness of Function
我们用Loss Function衡量function的好坏,
L
(
f
)
=
∑
n
=
1
10
(
y
^
n
−
f
(
x
c
p
n
)
)
2
L(f)=\sum_{n=1}^{10}(\hat{y}^n-f(x_{cp}^{n}))^2
L(f)=n=1∑10(y^n−f(xcpn))2
y
^
n
\hat{y}^n
y^n–进化后的cp值,f–预测出来的结果
在本示例中,function包含参数
w
w
w和
b
b
b,因此loss function可表示为,
L
(
w
,
b
)
=
∑
n
=
1
10
(
y
^
n
−
(
b
+
w
∗
x
c
p
n
)
)
2
L(w,b)=\sum_{n=1}^{10}(\hat{y}^n-(b+w*x_{cp}^n))^2
L(w,b)=n=1∑10(y^n−(b+w∗xcpn))2
下图是在training data上的loss function
Step 3:Best Function
理论上,如果存在评估标准和函数空间,就可以使用穷举法选择出最优函数。但就实际而言,我们无法在有限时间内求出最优函数值。因此,我们把问题进行转化,把求最优函数问题转化为最优化问题。
Gradient Descent是一个更为general的方法,适用于各种不同的test,只要定义出Loss function,并且Loss function对输入参数
w
w
w,
b
b
b可微分。
假设如下情况,Loss function 只有一个参数
w
w
w:
利用gradient decent解决问题步骤如下:
(1)随机找一个参数位置
w
0
w^0
w0
(2)计算
d
L
d
w
∣
w
=
w
0
\dfrac{dL}{dw}|_{w=w^0}
dwdL∣w=w0 ,若切线斜率为负,则增加
w
w
w;若为正,则减小
w
w
w。数学表达如下:
w
1
←
w
0
−
η
d
L
d
w
∣
w
=
w
0
w^1\leftarrow w^0-\eta\dfrac{dL}{dw}|_{w=w^0}
w1←w0−ηdwdL∣w=w0
其中,
−
η
d
L
d
w
∣
w
=
w
0
-\eta\dfrac{dL}{dw}|_{w=w^0}
−ηdwdL∣w=w0
η
\eta
η称为学习率(learning rate),决定学习的速度。
(3)接下来计算
d
L
d
w
∣
w
=
w
1
\dfrac{dL}{dw}|_{w=w^1}
dwdL∣w=w1,
w
2
←
w
1
−
η
d
L
d
w
∣
w
=
w
1
w^2\leftarrow w^1-\eta\dfrac{dL}{dw}|_{w=w^1}
w2←w1−ηdwdL∣w=w1
…Many iteration
直到,
−
η
d
L
d
w
∣
w
=
w
T
=
0
-\eta\dfrac{dL}{dw}|_{w=w^T}=0
−ηdwdL∣w=wT=0
Question: How about two parameters?
(1)随机选取两个初始值
w
0
w^0
w0,
b
0
b^0
b0
(2)计算偏微分,