机器学习(六)——局部加权线性回归(Locally weighted linear regression)

原文:http://cs229.stanford.edu/notes/cs229-notes1.pdf

考虑从x∈R中预测y的问题。下面最左边的图显示了将拟合到数据集的结果。我们看到数据并不是直线上的,所以拟合不是很好。

机器学习(六)——局部加权线性回归(Locally weighted linear regression)_第1张图片

 

取代原来的方法,如果我们加上一个额外的特征 x^{2},并用y=\theta _{0}+\theta _{1}x+\theta _{2}x^{2} 来拟合数据,你会发现效果稍微好了那么一点(看中间这幅图片)。似乎可以天真地认为,我们添加的特征越多越好。然而,添加的特征太多也是很危险的:最右边的图像是使用一个五次多项式 y=\sum \theta _{j}x^{j}来拟合数据的结果。我们看到,即使拟合曲线完美地穿过数据,我们也无法确定这就是一个相当好的预测,能够针对不同生活地区 (x)来预测房价 (y)。在还没有正式地定义这些术语之前,我们可以说最左侧的图像展示的是一种 欠拟合(underfitting) 的实例 —— 很明显看出模型未能捕获到数据的结构 —— 最右侧的图像展示的是一种 过拟合(overfitting) 的实例。(在这节课的后面部分,当我们谈到学习理论的时候,我们将把这些概念形式化,并更仔细地去定义一个假设是好的还是坏的。)

正如上面所看到的,特征的选取方式能够决定学习算法表现性能的好坏。(当我们谈到模型选择时,我们也会见到一些算法能够自动选择一些好的特征。)在这一小节,让我们简要地谈一谈关于局部加权线性回归(LWR)算法的内容,假设我们有足够数量的训练集,使得对于特征的选择不是那么重要。这一部分将会很短,因为你将要在你的作业中去探索关于LWR算法的一些属性。

在原始版本的线性回归算法中,要对一个查询点 xx 进行预测,比如要评估 h(x)h(x) ,要经过下面的步骤:

  1. 拟合\theta来最小化 \sum (y^{(i)}-\theta ^{T}x^{(i)})^{2}
  2. 输出\theta ^{T}x

相比之下,局部加权线性回归算法做的是:

  1. 拟合\theta来最小化\sum \omega ^{(i)}(y^{(i)}-\theta ^{T}x^{(i)})^{2}
  2. 输出\theta ^{T}x

此处的 \omega (i) 是非负的 权重(weights)值。直观看来,如果对于某个特定的 i ,它的\omega (i)很大,那么在选择\theta的时候,我们将会尽可能地使 (y^{(i)}-\theta ^{T}x^{(i)})^{2} 更小。如果\omega (i)很小,那么在拟合的过程中(y^{(i)}-\theta ^{T}x^{(i)})^{2}误差项就能够大大地忽略。

对于权值的选取可以使用下面这个比较标准的公式:

机器学习(六)——局部加权线性回归(Locally weighted linear regression)_第2张图片

参考最小二乘法,推导一下计算过程:

机器学习(六)——局部加权线性回归(Locally weighted linear regression)_第3张图片

J(\theta )​对 \theta求导与上面步骤类似,得到结果为:

令导数为零,整理可得:

其中,\omegam\times m维的对角矩阵,对角线依次存放\omega (i) .

局部加权线性回归是我们接触的第一个 非参数(non-parametric) 算法。之前学习的(不带权)线性回归算法是有 参数(parametric) 算法,因为它有固定的有限数量的,能够很好拟合数据的参数(θ)。一旦我们拟合出 θθ并存储了下来,也就不需要再保留训练数据样本来进行更进一步的预测了。相比而言,用局部加权线性回归做预测,我们需要保留整个的训练数据,每次预测得到不同的参数 θ,即参数不是固定的。术语 “非参数” 粗略意味着:我们需要保留用来代表假设 h的内容,随着训练集的规模变化是呈线性增长的。

对于的详细的推导过程如下:

机器学习(六)——局部加权线性回归(Locally weighted linear regression)_第4张图片

你可能感兴趣的:(machine,learning,machine,learning)