基于Spark的机器学习实践 (七) - 回归算法
1 回归分析概述
1.1 回归分析介绍
◆ 回归与分类类似,只不过回归的预测结果是连续
的,而分类的预测结果是离散
的
◆ 如此,使得很多回归与分类的模型可以经过改动而通用
◆ 因此对于回归和分类中基本原理相同或类似的模型 ,不再赘述
1.2 Spark中集成的回归算法
◆ Spark实现的回归算法很丰富 ,有很多模型同样可以用于分类
1.3 回归与分类的区别与联系
![](https://img.haomeiwen.com/i16782311/fbb81c60c8420fd1.png)
2 线性回归算法概述
2.1 线性回归简介
◆ 在回归分析中,自变量与因变量之间满足或基本满足线性关系
,可以使用线性模型进行拟合
◆ 如回归分析中,只有一个自变量的即为一元线性回归,其自变量与因变量之间的关系可以用一条直线近似表示
◆ 同理,对于多变量的回归称为多元线性回归
,其可以用一个平面或超平面来表示
2.2 使用线性回归的前提条件
◆ 自变量与因变量之间具有线性趋势,在前面介绍过相关系数
◆ 独立性
因变量之间取值相互独立,不存在关联
2.3 线性回归的例子
◆ 例如探究沸点与气压的关系,研究浮力与表面积之间的关系,物理上经典的探索力与加速度之间的关系
3 线性回归算法原理
3.1 回顾机器学习模型
◆ 对于统计学习来讲,机器学习模型就是一个函数表达式,其训练过程就是在不断更新这个函数式的参数
,以便这个函数能够对未知数据产生最好的预测效果
◆ 机器学习的这个过程,与人的学习过程原理是一样的,都是先学习而后使用,故归属于人工智能领域
3.2 何为好的预测效果?
◆ 前面说"以便达到最好的预测效果”, 那么如何量化"好的预测效果”呢?
◆ 衡量预测效果好坏的函数称为代价函数(cost function) ,或损失函数(loss function).
◆ 例如:用一个模型预测是否会下雨,如果模型预测错误一天,则损失函数加1
那么机器学习算法的直接目标就是想方设法调节这个函数的参数
以便能够使预测错误的天数减少,也就是降低损失函数值,同时,也提高了预测的准确率
3.3 再谈线性回归
◆ 线性回归是最简单的数学模型之一
◆ 线性回归的步骤是先用既有的数据,探索自变量X与因变量Y之间存在的关系
这个关系就是线性回归模型中的参数.有了它,我们就可以用这个模型对未知数据进行预测
◆ 机器学习的模型基本的训练过程亦是如此,属于监督学习
3.4 线性回归模型
◆ 线性回归的数学表达式是
![](https://img.haomeiwen.com/i16782311/f6d23d8abc71b207.png)
◆ 上式分别为一元线性回归与写成矩阵形式的线性回归模型
4 最小二乘法
4.1 何为最小二乘法
◆ 又称最小平方法,通过最小化残差平方和
来找到最佳的函数匹配
◆ 即最小二乘法以残差的平方和作为损失函数,用于衡量模型的好坏
◆ 利用最小二乘法可以实现对曲线
的拟合
4.2 最小二乘法原理
◆ 以一元线性回归为例,演示推倒过程
![](https://img.haomeiwen.com/i16782311/157c6a8b1b45cbf3.png)
4.3 最小二乘法例子
![](https://img.haomeiwen.com/i16782311/cc99ad894223a26b.png)
5 随机梯度下降
5.1 何为随机梯度下降
◆ 随机梯度下降(SGD)是机器学习中常用的一种优化方法
◆ 它是通过不断迭代更新
的手段,来寻找某一个函数的全局最优解
的方法
◆ 与最小二乘法类似,都是优化算法,随机梯度下降特别适合变量众多,受控系统复杂的模型,尤其在深度学习中具有十分重要的作用
5.2 从梯度说起
◆ 梯度是微积分中的一个算子,用来求某函数在该点处沿着哪条路径变化最快
,通俗理解即为在哪个路径上几何形态更为“陡峭”
◆ 其数学表达式为(以二元函数为例)
![](https://img.haomeiwen.com/i16782311/15e2635fcceeafe9.png)
5.3 随机梯度下降原理
◆ 线性模型的梯度下降推倒过程
![](https://img.haomeiwen.com/i16782311/8e1ea4f98eaceedb.png)
![](https://img.haomeiwen.com/i16782311/0ea411e744dbffdc.png)
5.4 随机梯度下降优点
◆ 随机梯度下降的"随机”体现在进行梯度计算的样本是随机抽取的n个,与直接采用全部样本相比,这样计算量更少
◆ 随机梯度下降善于解决大量训练样本的情况
◆ 学习率
决定了梯度下降的速度,同时,在SGD的基础上引入了”动量”的概念,从而进一步加速收敛速度的优化算法也陆续被提出
6 实战Spark预测房价 - 项目展示及代码概览
7-7 实战Spark预测房价---数据加载及转换
7-8 实战Spark预测房价--训练与预测
7-9 逻辑回归算法及原理概述
7-10 正则化原理
7-11 实战Spark逻辑回归
7-12 保序回归算法概述
7-13 保序回归算法原理
7-14 实战一个保序回归数据分析