线性回归的运算过程

概述

线性回归的运算过程,以 父母平均身高和孩子身高 为例,假设通过调查,得到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

按照 矩阵的乘法公式,写为:

总结

  • 线性回归只能预测 特征值 与 真实值 是 线性关系 的问题
  • 线性回归的 损失函数:均方差
  • 让损失最小化的算法:梯度下降

原文出处:/show_1EF3qPEPbcnW.html