概述
Regression
可以做什么?
- Stock Market Forecast
- Self-driving Car (输出方向盘角度)
- Recommendation (购买商品的可能性,根据可能性的大小决定是否给用户推荐
。。。
步骤
-
Step1 : Model
-
就是建立一个函数: y = b + W * X (W and b are prameters which can be any
value) -
like a Linear model : y = b + ∑ W i ∗ X i y = b + sum W_{i}*X_{i} y=b+∑Wi∗Xi
(Xi : an attribute if input X feature Wi : weight b: bias )
-
-
Step2 : Goodness of Function
- training data (有输入,有输出)
- Loss function L => 一个函数用于评价 b 和 w 的好坏。
- input : a function, ouput : how bad it is
- L(f) = L(w,b) = y = ∑ ( y ^ n − ( b + w ∗ x n c p ) ) 2 y = sum (widehat{y}^{n} - (b + w * x_{n}^{cp}))^{2} y=∑(y n−(b+w∗xncp))2 (真实值 - 预测值)^2的求和
-
Step 3 : Best Function
Gradient Descent
**Gradient Descent** 就是用来解决这个问题的,用来找出一个最小的Function 只要这个函数是可微的,那么就可以使用Gradient Descent来求解 。- Consider loss function L(W) with one parameter w :
最简单的方法就是枚举所有w,来找出使得 Loss 最小的 parameter,但是这样是没有效率的- (Randomly) Pick an initial value w 0 w^0 w0
- Compute
d
L
d
w
∣
w
=
w
0
frac{dL}{dw} |_{w=w^0}
dwdL∣w=w0
- 倒数值代表的是 W 0 W^0 W0点出切线的斜率
- 如果该值是 负的 则 增加W
- 如果该值是 正的 则 减少W
- W n e w = W o l d − η ∗ d L d w ∣ w = w 0 W_{new} = W_{old} - eta * frac{dL}{dw} |_{w=w^0} Wnew=Wold−η∗dwdL∣w=w0 ( η eta η 叫做 Learning rate)
- 重复计算 d L d w ∣ w = w 1 frac{dL}{dw} |_{w=w^1} dwdL∣w=w1**
- 如果是多个参数则分别计算各个参数的偏导数
结果
- 结果最重要的是 Generalization
- 我们真正关心的是这个Function在新数据上到错误率(测试集)
- 结果不好的话,可以重新选择一个model安照上面的方法进行训练
Overfitting
- model越复杂,在训练集上得到的结果越来越好,但是在测试集上结果确越来越差
- 增加正则化项Regularization
最后
以上就是独特小土豆为你收集整理的李宏毅机器学习笔记--Regression的全部内容,希望文章能够帮你解决李宏毅机器学习笔记--Regression所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复