前置知识
做机器学习的三个步骤:
- 找出model
- 定义function set中的某一个function
- 找出最好的function
应用场景
Regression在实践中的应用场景有很多,比如无人车驾驶系统中方向盘转动角度的确定、推荐系统中推荐内容的确定。
Regression模型的确定
1.找出线性模型
线性模型是指可以写成Y=XB+U形式的统计模型
2.剔除明显不符合实际情况的function,减小后期计算的压力
这里的筛选可以使用训练集完成,举例:如果y正值,样本点x经过 function(函数)的作用后,输出结果为负值,显然该function不是 我们的目标function
3.选择最优的function
选择最优function就是对不同w,b参数的function性能进行对比,最后确定出性能最优的function的过程,Regression的function性能优劣依赖于 loss function(估测误差),可以记为L。
L由误差平方和regularization两个部分组成,误差平方和用于衡量估计误差,regularization用于避免模型过拟合现象的出现,随着λ值的增大,regularization项变得逐步关键起来,训练误差会因此增大,而testing误差会因此先减小后增大。
λ的不断增大,使抉择的模型更加smooth,直至接近水平,这不是我们想要的结果。因此最优的λ应当能够满足测试集误差最小。
regularzation中不考虑bias的原因是regularzation与模型的平滑度有关,w与斜率有关,对模型的平滑程度有影响,b只与模型的上下平移有关,不影响平滑度,故不用考虑。
regularzation的起源?regularzation最初用于减小ovrfitting情况下与输出无关的噪音影响
## 4.那么多w和b的组合,应当通过什么手段利用L更简单地找出最优的f呢?
使用梯度下降法:
Gradient Descent(梯度下降法)
1.梯度
梯度的形式: 把函数的偏微分写成矩阵形式就是梯度。
梯度的可视化:
梯度的实际意义: 梯度的本意是一个向量(矢量),表示函数某一点处的方向导数沿着该方向取最大值,函数在这一点处沿着这个梯度的方向变化最快,变化率最大。也就是关于函数一点方向导数最大的方向及其模。
2.梯度下降法 步骤:
-
随机选取w0
-
计算L在w0处的微分(切线斜率)
-
根据微分正负,微分为正,斜率大于0,f增大,w0取值应该进一步减小;微分为负,斜率小于0,f减小,w0取值应该进一步增大。
-
增加量或减少量的确定:
-
重新反复上述过程,经过多次参数更新,直到微分为0的时候,完毕。
以一个参数为例的图示
3.梯度下降法的适用条件
函数可微的条件下,只要是convex(凸函数),就适用Gradient Desent
线性模型都是convex(凸函数)
意外情况:
模型的进一步优化?
模型的进一步优化可以从增加模型次数复杂程度,增加相关属性变量,增加数据量等方面出发,但需要注意这个过程中可能会出现的过拟合现象。