回归 (Regression)
an example for application
Part 1 build the model
-
step 1 a set of function(model)
- linear model: y = b + ∑ w i x i y=b+\sum w_{i}x_{i} y=b+∑wixi x i x_{i} xi: feature/attribute step 2 goodness of function
-
Loss function L:
L
(
f
)
=
L
(
w
,
b
)
L(f)=L(w, b)
L(f)=L(w,b) (损失函数是关于原来模型中参数的函数)
L ( w , b ) = ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x i n ) ) 2 L(w, b)=\sum_{n=1}^{10}(\hat{y}^n-(b+w\cdot x_{i}^n))^2 L(w,b)=∑n=110(y^n−(b+w⋅xin))2 -
挑选其中最好的(误差最小的)函数。
1
f ∗ = a r g min f L ( f ) w ∗ , b ∗ = a r g min w , b L ( f ) = a r g min w , b ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x i n ) ) 2 \begin{aligned} f^* &=arg \min \limits_{f} L(f)\\ w^*, b^* &=arg \min \limits_{w,b} L(f) \\ & = arg \min \limits_{w,b} \sum_{n=1}^{10}(\hat{y}^n-(b+w\cdot x_{i}^n))^2\\ \end{aligned} f∗w∗,b∗=argfminL(f)=argw,bminL(f)=argw,bminn=1∑10(y^n−(b+w⋅xin))2
step 3 Gradient Descent
-
随机选取
w
0
w_{0}
w0,然后计算该点处参数对于损失函数的导数。 若斜率为负,增加w,反之亦反。 增加量的多少取决于微分值和一个常数项(学习率 learning rate)。
In linear regression, the loss function L is convex. No local optimal.
Part 2 redesign the model
-
Selecting another model
- 不同模型的区别主要在于函数中变量次幂的变换。 一个更复杂的模型在训练数据上可能取得更好的结果,但是在测试数据上不一定。(Overfitting) Hidden factors
-
把许多已有的变量都加进去,看效果。 进行正则化(Regularization)。
y = b + ∑ w i x i y=b+\sum w_{i}x_{i} y=b+∑wixi x i x_{i} xi
L ( w , b ) = ∑ n = 1 10 ( y ^ n − ( b + w ⋅ x i n ) ) 2 + λ ∑ ( w i ) 2 L(w, b)=\sum_{n=1}^{10}(\hat{y}^n-(b+w\cdot x_{i}^n))^2 +\lambda\sum(w_{i})^2 L(w,b)=∑n=110(y^n−(b+w⋅xin))2+λ∑(wi)2
越小的 w i w_{i} wi效果越好原因在于,如果 x i x_{i} xi有噪音,那么更小(平滑)的 w i w_{i} wi对于损失函数的影响越少。不考虑 b b b (bias),b值对于函数的影响在于上下,不在于函数的平滑。
总结:首先,按照三步(建立模型、在利用训练数据与模型相拟合,最后评估模型。)在评估模型,选择效果最好的模型时利用梯度下降法(gradient descent)。为了使模型的预测效果更好,对模型进行进一步尝试改进时,设计出了新的模型(高次幂项、0或1变量)或者寻找出其他潜在的影响因素。此时,对损失函数进行正则化(Regularization),得出相关结论,较平滑的线性函数在面对存在噪音的变量值时损失函数更加稳定。
arg即argument,此处意为“自变量”。argmax是一种对函数求参数(集合)的函数。 ↩︎