降维算法将 p+1 个系数的问题简化为 M+1 个系数的问题,其中 M<p。算法执行包括计算变量的 M 个不同线性组合或投射(projection)。然后这 M 个投射作为预测器通过最小二乘法拟合一个线性回归模型。两个主要的方法是主成分回归(principal component regression)和偏最小二乘法(partial least squares)。
<1>主成分回归(PCR)可以看成一种从大型变量集合中导出低维特征集合的方法。数据中的第一主成分(first principal component)是指观察数据沿着这个变量方向的变化最大。换言之,第一主成分是最接近拟合数据的线,总共可以用 p 个不同的主成分拟合。第二主成分是和第一主成分不相关的变量的线性组合,且在该约束下有最大的方差。其主要思想是主成分能在各个互相垂直的方向使用数据的线性组合捕捉到最大的方差。使用这种方法,我们还能结合相关变量的效应从数据中获取更多的信息,毕竟在常规的最小二乘法中需要舍弃其中一个相关变量。
<2>上面描述的 PCR 方法需要提取 X 的线性组合,以获得预测器的最优表征。由于 X 的输出 Y 不能用于帮助决定主成分方向,这些组合(方向)使用无监督方法提取。即,Y 不能监督主成分的提取,从而无法保证这些方向是预测器的最优表征,也无法保证能获得最优预测输出(虽然通常假定如此)。偏最小二乘法(PLS)是一种监督方法,作为 PCR 的代替方法。和 PCR 类似,PLS 也是一种降维方法,它首先提取一个新的较小的特征集合(原始特征的线性组合),然后通过最小二乘法将原来的模型拟合为一个新的具有 M 个特征的线性模型。
7)非线性模型
在统计学中,非线性回归属于一种回归分析形式,其中,观测数据使用模型参数的非线性组合的函数(依赖于一个或多个独立变量)建模。其使用逐次逼近法拟合数据。下方是几种处理非线性模型的重要技术。
<1>阶梯函数(step function),变量为实数,可以写成区间的指示函数的有限线性组合的形式。非正式的解释是,阶梯函数是一种分段常数函数,只有有限的部分。
<2>分段函数(piecewise function)通过多个子函数定义,每一个子函数被定义在主函数定义域的确定的区间上。分段实际上是一种表示函数的方式,而不是函数自身的特征,但通过额外的限定条件,它可以用于描述函数的本质。例如,一个分段多项式函数是一个在每一个子定义上为多项式的函数,其中每一个多项式都可能是不同的。<3>样条曲线(spline)是一种用多项式分段定义的特殊函数。在计算机图形学中,样条曲线是一种分段多项式参数化曲线。由于结构的简单性、评估的简易和高精度、通过曲线拟合和交互曲线设计以逼近复杂曲线的能力,样条曲线很常用。
<4>广义加性模型(generalized additive model)是一种广义线性模型,其中线性预测器线性依赖于某些预测器变量的未知平滑函数,其主要作用就是推测这些平滑函数。8)基于树的方法
基于树的方法可以用于回归和分类问题,包括将预测器空间分层或分割成几个简单区域。由于用于预测器空间的分离规则集合可以总结为一个树,这类方法被称为决策树方法。以下的方法是几种不同的树,它们可以组合起来输出单个一致的预测。
<1>bagging 能减少预测的方差,即通过从原始数据中生成额外的数据(通过组合和重复生成和原始数据大小相同的多段数据)用于训练。通过增大训练集无法提高模型的预测能力,只能减小方差,仔细地调整预测以得到期望的输出。
<2>boosting 是一种计算输出的方法,即使用多个不同的模型,然后使用加权平均的方法对结果取平均值。我们一般通过改变这些方法所占的权重而结合各方法的优势,此外,我们还可以使用不同的精细调整获得对更宽泛输入数据的预测能力。<3>随机森林算法(random forest algorithm)实际上和 bagging 算法很相似,同样是对训练集提取随机 bootstrap 样本。然而,除了 bootstrap 样本以外,还可以提取特征的随机子集以训练单个树;而在 bagging 中,需要给每个树提供整个特征集。由于特征选择是随机的,相比常规的 bagging 算法,每个树之间更加独立,从而通常能获得更好的预测性能(得益于更好的方差—偏差权衡)。且计算速度也更快,因为每个树只需要学习特征的一个子集。
9)支持向量机
支持向量机(SVM)是一种常用的监督学习分类技术。通俗地说,它用于寻找对两类点集做出最佳分离的超平面(hyperplane,在 2D 空间中是线,在 3D 空间中是面,在高维空间中是超平面。更正式的说法是,一个超平面是一个 n 维空间的 n-1 维子空间)。而支持向量机是保留最大的间隔的分离超平面,因此本质上,它是一个约束最优化问题,其中支持向量机的间隔在约束下被最大化,从而完美地对数据进行分类(硬间隔分类器)。
10)无监督学习
目前为止,我们都只讨论过监督学习技术,其中数据分类都是已知的,且提供给算法的经验都是实体和其分类的关系。当数据的分类是未知的时候,就需要使用另一种技术了。它们被称为无监督的,因为它们需要自己去发现数据中的模式。聚类(clustring)是无监督学习的一种,其中数据将根据相关性被分为多个群集。下方是几种最常用的无监督学习算法:
<1>主成分分析:通过保留具备最大方差和互相不相关的特征之间的线性连接,而帮助生成数据集的低维表示。该线性降维技术有助于理解无监督学习中的隐变量交互。
<2>k 均值聚类:根据数据到集群中心的距离将其分成 k 个不同的集群。<3>层次聚类:通过数据的层级表示而构建不同的集群。