机器学习-多元线性回归及其手写实现梯度下降

一. 多元线性回归简介

1.在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。因此多元线性回归比一元线性回归的实用意义更大。

2.多元线性回归算法步骤:

  1. 解析数据集,分割特征和label
  2. 定义损失函数
  3. 定义梯度下降函数
  4. 根据特征数量初始化构建权重W和bias-B
  5. 训练,得到训练的权值W和偏差B

3.核心公式:
在这里插入图片描述

二. Python 代码手写实现

  1. 解析数据集,分割特征和label
    在这里插入图片描述
    这里是一个商业广告分析的小数据集,有三个特征,总共200个样本用来训练。

  2. 定义损失函数
    在这里插入图片描述
    这里用来计算训练过程中的损失值,用的是均方差损失函数。

  3. 定义梯度下降函数
    在这里插入图片描述
    梯度下降函数,根据均方差求导反向更新权重W和偏差B。

  4. 根据特征数量初始化构建权重W和bias-B,进而用梯度下降函数进行训练
    在这里插入图片描述
    经过训练之后,损失值有明显的下降。图片中损失值还比较大,可能是因为样本分布不是一个多元的线性分布。

  5. 减低一个特征,通过matplotlib中3D画图工具来可视化显示
    在这里插入图片描述
    在这里插入图片描述

作为基础的机器学习知识,必须要掌握具体的实现过程。在面试和笔试中都会有所涉及。
代码传送门 >>>>>>

发布了29 篇原创文章 · 获赞 120 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/qq_21578849/article/details/89716794