spark 实现回归算法

知识点

  • 线性回归
  • 最小二乘法
  • 随机梯度下降
  • 逻辑回归
  • 正则化
  • 保序回归

spark官方提供的回归、分类算法:
Linear models (SVMs, logistic regression, linear regression)
Naive Bayes
decision trees
ensembles of trees (Random Forests and Gradient-Boosted Trees)
isotonic regression

使用时的注意事项:
自变量与因变量满足线性关系,可以使用线性回归进行拟合
对于多变量的回归称为多元线性回归
满足独立性
预测效果的好坏可以用损失函数、代价函数来检测
回归预测结果是连续的,分类的预测结果是离散的
线性回归公式:


最小二乘法(残差平方和)

何为最小二乘法

  • 最小二乘法又称最小平方法,通过最小化残差平方和来找到最佳的函数匹配
  • 也就是说,最小二乘法以残差的平方和作为损失函数,用于衡量模型的好坏
  • 利用最小二乘法可以实现对曲线的拟合

原理


ei 残差
Q 残差平方和
找驻点=>极值点=>最值点=>求w和b

随机梯度下降

  • 随机梯度下降(SGD)是一种机器学习中常用的优化方法
  • 它是通过不断迭代更新的手段,来寻找某一个函数的全局最优解的方法
  • 与最小二乘法类似,都是优化算法,随机梯度下降特别适合变量众多,受控系统复杂的模型,尤其在深度学习中具有十分重要的作用
    梯度:
  • 梯度是微积分中的一个算子,用来求某函数在该点处沿着哪条路径变化最快,通俗理解即为在哪个路径上几何形态更为“陡峭”
  • 其数学表达式为(以二元函数为例):



随机梯度下降优点

  • 随机梯度下降的“随机”体现在进行梯度计算的样本是随机抽取的 n 个,与直接采用全部样本相比,这样计算量更少

  • 随机梯度下降善于解决大量训练样本的情况

  • 学习率决定了梯度下降的速度,同时,在 SGD 的基础上引入了”动量”的概念,从而进一步加速收敛速度的优化算法也陆续被提出

  • 在spark中LinearRegressionWithSGD类使用随机梯度下降实现了线性回归

逻辑回归

  • 逻辑回归即 logistic 回归,是一种广义上的线性回归,但是与线性回归模型不同的是,其引入了非线性函数

  • 因此,逻辑回归可以用于非线性关系的回归拟合,这一点是线性回归所不具备的

  • 逻辑回归可用于分类算法


保序回归

  • 何为保序回归?
    保序回归是用于拟合非递减数据(非递增也一样)的—种回归分析,同时,保序回归能够使得拟合之后的误差最小化

  • 保序回归与线性回归:


  • 保序回归的应用
    保序回归用于拟合非递减数据,不需要事先判断线性与否,只需数
    据总体的趋势是非递减的即可。例如研究某种药物的使用剂量与药
    效之间的关系
    适用保序回归的前提应是结果数据的非递减,那么,我们可以通
    过判断数据是否发生减少来触发计算


    保序回归计算过程
  • 保序回归的原理
    Spark实现求解该模型的算法是 pool adjacentⅵ isolators箅法
    (PAVA)

  • 例:原序列为13,246}经过保序回归为{1,3,3,36},保持不减性

你可能感兴趣的:(spark 实现回归算法)