1.2回归(regression)

发布时间:2020-05-24 05:23:32

1.2回归(regression)

1.2 回归(regression)

回归问题如何寻找使损失函数最小化的最优解,假设函数为线性回归模型函数,整体思想如下:算法实现:

而随机梯度下降算法只不过是在梯度下降法(又称批量梯度下降法)的基础上做出了改进,选取的数据非全部数据,而是抽样选择部分数据对整体数据进行“以偏概全”

正则化:

解决这类问题,可以采用收缩发(shrinkage method),收缩法又称为正则化(regularization)。主要是岭回归(ridge regression)和lasso回归。通过对最小二乘估计加入惩罚约束,使某些系数的估计为0

1.2.1 线性回归(Linear Regression)

回归中的线性回归思想与分类中线性回归思想想用,即求拟合多维线性方程的问题。线性回归是接下来几种回归算法的基础,故放在首位。

1.2.2 保序回归(Isotonic Regression)

保序回归就是对给定的一个无序数字序列,通过修改每个元素的值,得到一个非递减序列,并使得误差(预测值和实际值差的平方)最小。如:药物剂量越大,效率越高。

保序回归法:从该序列的首元素往后观察,一旦出现乱序现象停止该轮观察,从该乱序元素开始逐个吸收元素组成一个序列,直到该序列所有元素的平均值小于或等于下一个待吸收的元素。如:9,14,10,乱序求均值,结果9,12,12;又如14,9,10,15,观察到14,9乱序,求均值为12.5又大于10,于是再求均值为11,结果11,11,11,15。

MLlib保序回归模型采用PAVA(Pool Adjacent Violators Algorithm)算法来优化调整样本序列,使得样本序列保持递增顺序。MLlib实现了分布式的PAVA 算法:对于整个样本集,首先按照样本集的每个分区的样本集序列进行PAVA算法,使得每个分区的序列是递增的,每个分区的计算可以分布式计算;然后再对整个序列及进行全局PAVA算法,使得整个样本序列是递增顺序的。在PAVA算法中,会对具有相同Label点的序列进行合并,只保留上下边界点及Label值,相当于分段函数一样,只保留分段点数据。

1.2.3 Lasso(least absolute shrinkage and selection operator--最小绝对收缩和选择算子)

1.2.4 岭回归(Ridge Regression)

Lasso与岭回归属于正则化的两种方式,L1正则化与L2正则化,所以放一块分析。Lasso回归和岭回归,是在建立广义线性模型的时候,为控制过拟合现象,通过复杂度调整(通过一系列参数控制模型的复杂度),从而避免过度拟合(Overfitting)。参数α控制应对高相关性数据时模型的性状,Lasso回归α=1,Ridge回归α=0,对应了惩罚函数的形式和目的。

Lasso与Ridge最重要的区别在于:Lasso回归中,更倾向于将越多的参数变为0,意味着最终的近似解只依赖很少的变量,即剔除一些系数或是参数;而Ridge中,重视每一个数据,是把系数缩小(如加权)。二者依靠上述不同方法达到复杂度调整的目的,Lasso与Ridge的区别,也就是L1正则化与L2正则化的区别。

  1. 子集选择 这是传统的方法,包括逐步回归和最优子集法等,对可能的部分子集拟合线性模型,利用判别准则 (如AIC,BIC,Cp,调整R2 等)决定最优的模型
  2. 收缩方法(shrinkage method) 收缩方法又称为正则化(regularization)。主要是岭回归(ridge regression)和lasso回归。通过对最小二乘估计加入罚约束,使某些系数的估计为0。(岭回归:消除共线性;模的平方处理;Lasso回归:压缩变量,起降维作用;模处理)
  3. 维数缩减 主成分回归(PCR)和偏最小二乘回归(PLS)的方法。把p个预测变量投影到m维空间(m<p),利用投影得到的不相关的组合建立线性模型。

1.2.5带随机梯度下降的流式线性回归(Streaming Linear Regression With SGD)

该算法与regression包中带随机梯度下降的线性回归(Linear Regression with SGD)方法相同,只不过是设置的默认每次迭代步长为0.5,更趋于流式数据,以应对处理流式数据。

补充:该算法是基于Spark Streaming的。

当数据以流媒体方式出现时,将回归模型放到网上是很有用的,当新数据到达时更新模型的参数。Spark.mllib目前支持使用普通最小二乘法进行线性回归。这种拟合与离线执行类似,只是在每批数据上都进行了拟合,这样模型就会不断更新,以反映来自流的数据。

1.2.6广义线性模型(GLM(Generalized Linear Moedl) Classification Model)

回归中广义线性模型思想与分类中二者思想相同,姑不再赘述。

 

返回主目录(Spark MLlib算法思想总结)

 

1.2回归(regression)