线性回归场景

  • 房价预测
  • 销售额度预测
  • 贷款额度预测

线性回归定义

线性回归(Linear Regression)是利用回归方程(函数)对一个或多个自变量和因变量之间关系进行建模的一种分析方式。

特点:只有一个自变量的情况称为单变量回归,多于一个自变量情况的叫做多元回归。

线性回归当中主要两个模型,一种是线性关系,另一种是非线性关系。

线性关系的单变量线性关系

单变量线性关系示例

线性关系的多变量线性关系

多变量线性关系示例

非线性关系

非线性关系示例

线性回归的损失和优化

假设学习成绩例子,真实的数据之间存在这样的关系:

真实关系:最终成绩 = 0.5x平时成绩 + 0.3x期末成绩

那么现在呢,猜测一个关系:

猜测关系:预测最终成绩 = 0.45x平时成绩 + 0.2x期末成绩

可以想到,真实结果与我们的预测的结果之间存在一定的误差。

既然存在这个误差,如何衡量误差呢?

损失函数

总损失函数为:

∑(yi - h(xi))²

  • yi 为第i个训练样本的真实值
  • h(xi)为第i个训练样本特征值组合预测函数
  • 又称最小二乘法

优化算法

如何去模型当中的W,使得损失最小(目的是找到最小损失对应的W值)

线性回归经常使用的两种优化算法:

  1. 解析解方式(正规方程)
  2. 梯度下降法

解析解方式

理解:X为特征值矩阵,Y为目标值矩阵,直接求到最好的结果。

缺点:当特征过多复杂时,求解速度太慢并且得不到结果。

梯度下降(Gradient Descent)

梯度下降法的基本思想可以类比为一个下山的过程。一个人被困在山上,需要从山上下来(比如,找到山的最底点,也就是山谷),但此时山上的浓雾很大,导致可视度很低。因此,下山的路径无法确定,它必须利用自己周围的信息去找到下山的路径。

梯度是微积分中的一个很重要的概念:

  • 在单变量的函数中,梯度其实就是函数的微分,代表着函数在某个定点的切线的斜率
  • 再多变量函数中,梯度是一个向量,向量有方向,梯度的方向就指定了函数在给定点的上升最快的方向
  • 在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。

α的含义:α在梯度下降算法中被称作为学习率或者步长,意味着我们可以通过α来控制每一步走的距离。

为什么梯度要乘以一个负号

梯度前加一个负号,就意味着朝着梯度相反的方向前进!我们在前文中提过,梯度的方向实际就是函数在此点上升最快的方向,自然就是负的梯度的方向,所以此处需要加上负号。

单变量函数的梯度下降

  • 假设有一个单变量的函数 J(θ) = θ²
  • 初始化,起点为 θ0 = 1
  • 学习率 α = 0.4

经过四次的运算,基本就抵达了函数的最低点。

多变量函数的梯度下降

  • 目标函数:J(θ) = θ1² + θ2²
  • 起点:θ0 = (1, 3)
  • 学习率:α = 0.1
  • 函数的梯度为:J(θ) = < 2θ1, 2θ2 >

经过多次迭代,梯度下降会靠近函数的最小值点(0,0)。

梯度下降和正规方程的对比

特点梯度下降正规方程
优点适用各种场景直接求解
缺点需要迭代特征多时计算慢