概述
线性回归的运算过程,以 父母平均身高和孩子身高 为例,假设通过调查,得到1000例 父母平均身高 和 孩子身高,如下:
| 父母平均身高 | 孩子身高 | |
|---|---|---|
| 样本1 | 1.67 | 1.7 |
| 样本2 | 1.68 | 1.8 |
| 样本3 | 1.69 | 1.72 |
| 样本m | 1.7 | 1.73 |
术语
- 样本:这1000例数据称之为样本
- 特征值:父母平均身高
- (真实)目标值:孩子身高就是(真实)目标值
- 预测目标值:通过 特征值 预测 出来的 目标值,该目标值 与真实目标值 会有一定的 误差
1. 判断是否成线性关系
特征值 和 目标值 只有是 线性关系,才能使用 线性归回 进行预测,所以要先判断 是否是 线性关系
一般通过matplotlib散列点绘制图像,人眼观察是否是线性关系
2. 误差大小
在线性回归中,要通过 样本 和 目标值 ,得到最佳的 权重 和 偏置量,一般是 随机 给一个 权重值 和 偏置量值,如下:
公式:y=wx+b
假设随机的 权重 和 偏置量:y=0.5*x+0.9
然后将样本数据(父母平均身高)代入到公式(即x),得出目标值y(即孩子的身高),那么这个y与 真实的 孩子身高 很有可能存在 误差
如下图:
- 蓝色圆点:真实的 父母平均身高 和 孩子的身高
- 红色虚线:随机给出的 权重 和 偏置量:
y=0.5*x+0.9,并代入 父母平均身高,算出的 孩子身高
注意:
要想 预测准确,就要 减少误差,要想 减少误差,就要 计算误差的大小
3. 损失函数
计算误差大小 的算法,就叫 损失函数,英文:loss function
均方误差
在线性回归中有多个损失函数,这里用最简单的 均方误差
https://www.malaoshi.top/show_1EF3qUrzFOH4.html
4. 优化:梯度下降
梯度下降 算法
通过损失函数,计算出误差后,接下来要让 误差最小,并得到相应的 权重 w 和 偏置量 b,这个优化算法是:梯度下降
解释:
理解:沿着 损失下降 的方向,找到山谷的最低点,然后更新 权重 w 值,需要 迭代运算
图像
5. 矩阵与线性回归
矩阵 在 线性回归 中 非常重要
一个样本
如上面的 大学成绩 案例 ,假设有 一个 学生的成绩如下:
| 出勤分 | 期末考试分 | |
|---|---|---|
| 李雷 | 80 | 60 |
总分计算方式:总分=80*0.2+60*0.8
但为了便于计算,在程序中通常用 矩阵 计算,
矩阵的乘法公式:(m,i)的矩阵 * (i,n)的矩阵 = (m,n)的矩阵
(1,3)的矩阵 * (3,1)的矩阵 = (1,1)的矩阵,就是一个值
多个样本
当有 多个 学生的成绩时,假设有3个样本,如下:
| 出勤分 | 期末考试分 | |
|---|---|---|
| 李雷 | 80 | 60 |
| 韩梅梅 | 85 | 70 |
| lucy | 75 | 50 |
总结
- 线性回归只能预测 特征值 与 真实值 是 线性关系 的问题
- 线性回归的 损失函数:均方差
- 让损失最小化的算法:梯度下降





