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内容请搜索靠谱客的其他文章。
发表评论 取消回复