线性回归场景
- 房价预测
- 销售额度预测
- 贷款额度预测
线性回归定义
线性回归(Linear Regression)是利用回归方程(函数)对一个或多个自变量和因变量之间关系进行建模的一种分析方式。
特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归。
线性回归当中主要两个模型,一种是线性关系,另一种是非线性关系。
线性关系的单变量线性关系
单变量线性关系示例
线性关系的多变量线性关系
多变量线性关系示例
非线性关系
非线性关系示例
线性回归的损失和优化
假设学习成绩例子,真实的数据之间存在这样的关系:
真实关系:最终成绩 = 0.5x平时成绩 + 0.3x期末成绩
那么现在呢,猜测一个关系:
猜测关系:预测最终成绩 = 0.45x平时成绩 + 0.2x期末成绩
可以想到,真实结果与我们的预测的结果之间存在一定的误差。
既然存在这个误差,如何衡量误差呢?
损失函数
总损失函数为:
∑(yi - h(xi))²
- yi 为第i个训练样本的真实值
- h(xi)为第i个训练样本特征值组合预测函数
- 又称最小二乘法
优化算法
如何去模型当中的W,使得损失最小(目的是找到最小损失对应的W值)
线性回归经常使用的两种优化算法:
- 解析解方式(正规方程)
- 梯度下降法
解析解方式:
理解:X为特征值矩阵,Y为目标值矩阵,直接求到最好的结果。
缺点:当特征过多复杂时,求解速度太慢并且得不到结果。
梯度下降(Gradient Descent):
梯度下降法的基本思想可以类比为一个下山的过程。一个人被困在山上,需要从山上下来(比如,找到山的最底点,也就是山谷),但此时山上的浓雾很大,导致可视度很低。因此,下山的路径无法确定,它必须利用自己周围的信息去找到下山的路径。
梯度是微积分中的一个很重要的概念:
- 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个定点的切线的斜率
- 再多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指定了函数在给定点的上升最快的方向
- 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。
α的含义:α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离。
为什么梯度要乘以一个负号:
梯度前加一个负号,就意味着朝着梯度相反的方向前进!我们在前文中提过,梯度的方向实际就是函数在此点上升最快的方向,自然就是负的梯度的方向,所以此处需要加上负号。
单变量函数的梯度下降
- 假设有一个单变量的函数 J(θ) = θ²
- 初始化,起点为 θ0 = 1
- 学习率 α = 0.4
经过四次的运算,基本就抵达了函数的最低点。
多变量函数的梯度下降
- 目标函数:J(θ) = θ1² + θ2²
- 起点:θ0 = (1, 3)
- 学习率:α = 0.1
- 函数的梯度为:J(θ) = < 2θ1, 2θ2 >
经过多次迭代,梯度下降会靠近函数的最小值点(0,0)。
梯度下降和正规方程的对比
| 特点 | 梯度下降 | 正规方程 |
|---|---|---|
| 优点 | 适用各种场景 | 直接求解 |
| 缺点 | 需要迭代 | 特征多时计算慢 |