【机器学习】Regression

340 阅读3分钟

前置知识

做机器学习的三个步骤:

  1. 找出model
  2. 定义function set中的某一个function
  3. 找出最好的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。

image.png

L由误差平方和regularization两个部分组成,误差平方和用于衡量估计误差,regularization用于避免模型过拟合现象的出现,随着λ值的增大,regularization项变得逐步关键起来,训练误差会因此增大,而testing误差会因此先减小后增大。

image.png

λ的不断增大,使抉择的模型更加smooth,直至接近水平,这不是我们想要的结果。因此最优的λ应当能够满足测试集误差最小。

regularzation中不考虑bias的原因是regularzation与模型的平滑度有关,w与斜率有关,对模型的平滑程度有影响,b只与模型的上下平移有关,不影响平滑度,故不用考虑。

regularzation的起源?regularzation最初用于减小ovrfitting情况下与输出无关的噪音影响

## 4.那么多w和b的组合,应当通过什么手段利用L更简单地找出最优的f呢?

image.png

使用梯度下降法:

image.png

Gradient Descent(梯度下降法)

1.梯度

梯度的形式: 把函数的偏微分写成矩阵形式就是梯度。

image.png

梯度的可视化:

image.png

梯度的实际意义: 梯度的本意是一个向量(矢量),表示函数某一点处的方向导数沿着该方向取最大值,函数在这一点处沿着这个梯度的方向变化最快,变化率最大。也就是关于函数一点方向导数最大的方向及其模。

2.梯度下降法 步骤:

  1. 随机选取w0

  2. 计算L在w0处的微分(切线斜率)

  3. 根据微分正负,微分为正,斜率大于0,f增大,w0取值应该进一步减小;微分为负,斜率小于0,f减小,w0取值应该进一步增大。

  4. 增加量或减少量的确定: image.png

  5. 重新反复上述过程,经过多次参数更新,直到微分为0的时候,完毕。

以一个参数为例的图示

image.png

3.梯度下降法的适用条件

函数可微的条件下,只要是convex(凸函数),就适用Gradient Desent

线性模型都是convex(凸函数)

意外情况:

image.png

模型的进一步优化?

模型的进一步优化可以从增加模型次数复杂程度,增加相关属性变量,增加数据量等方面出发,但需要注意这个过程中可能会出现的过拟合现象。