机器学习-李宏毅-Lecture1-Regression-Case Study课程笔记
链接
Regression
- 股价预测 输入是历史 输出是明日股价
- 自动驾驶 输入是路况 输出是方向盘角度
- 推荐系统 输入是使用者和商品 输出是推荐的商品
example
预测神奇宝贝进化后的CP值,用来判断是否进化。
第一步 model
寻找一个function set,比如:
w和b可以是无穷的。
表示成线性形式:,
其中是权重weight,是bias,是各种feature
第二步 goodness of function
- 准备包含输入数据、输出数据的训练集Training data。
- 定义一个Loss function:是function的function。输入是function(w,b ),输出的function的好坏
均方差
第三步 Best function
找到一个function,使得Loss(function)最小。这个使得L(f)最小的function称为best function。
也就是
使用gradient descent来求解上面的式子。
gradient descent
在只有一个参数情况下计算loss function
- 随机选取初始点
- 计算梯度
- 如果梯度是正 减少w
- 如果梯度是负 增加w
这里的指的是学习速率learning rate,表示参数更新的速度。
这里的减号正好与微分值的正负相反。
接下来重新计算的微分
重复迭代计算,到达Local optimal(局部最优点)。微分为0,无法继续更新。
在两个参数的情况下计算梯度。 - 随机选取初始点
- 对w,b计算梯度
- 如果梯度是正 减少w
- 如果梯度是负 增加w
- 更新参数
- 重复计算梯度 更新梯度
问题:梯度更新方向与初始值相关,不同初始值可能会得到不同的Local optimal。但是在Linear Regression中,不存在,因为Loss function是凸函数。(凸函数没有Local optimal,只有全局最优解)
Result
我们真正关心的是在训练集上的误差。
提高结果的方法可以有用二项式或多项式model。越复杂的model对training data的拟合程度越好,但是有可能在test data上表现不是很好,这就是出现了过拟合的情况。所以不一定选取最复杂的函数,要选择最合适的。
更复杂的函数的function set会包含简单的函数的function set。
进一步地,对于不同种类的神奇宝贝,采用不同的参数。
Regularization
在损失函数中添加一项来限制过拟合。
倾向于选择较小的w。越小的w越平滑,数据的波动更小。选择一个合适的
正则化时候不考虑bias。平滑与否与常数项无关。