机器学习基础知识|机器学习基础知识之一元线性回归模型

一元线性回归模型 引言 机器学习基础知识|机器学习基础知识之一元线性回归模型
文章图片

问题:现在有图中的六个点,我想通过找寻图中六个点的规律,当第七个点来的时候借鉴此规律得到X7的值,我该如何操作?
一元线性回归模型 为了解决上述问题我们引入一元线性回归模型

  1. 什么是一元线性回归模型:
    一元就是有一个输入(即一个特征),通过找寻输入x与输出y的“最佳”关系,对未来的样本进行预测
  2. 大白话(个人理解):如何求解一元一次函数
    机器学习基础知识|机器学习基础知识之一元线性回归模型
    文章图片

    其实一元线性回归模型与图中的例子类似,就是通过计算多个真实值与预测值来找寻最优的w,b,通过解得w,b对下一个新输入的x求解,得到y
机器学习基础知识|机器学习基础知识之一元线性回归模型
文章图片

这里我们就得到了我们的目标函数l,这里也是我们为了解决引言中的问题的第一步,找到目标函数,接下来就要求解我们的w,b喽
机器学习基础知识|机器学习基础知识之一元线性回归模型
文章图片

此时就解出了我们的w,b;引言中需要求X7的预测值,那么将X7的值代入到w,b的一元线性模型中便求得了X7的预测值Y7
补充:
求解最小值的两种方法:
  1. 令导数为0
  2. 梯度下降法:循环迭代的方式来求解
手动实现一元线性回归:
import numpy as np import matplotlib.pyplot as plt from sklearn.linear_model import LinearRegression data = https://www.it610.com/article/np.array([[198, 75],[186, 83],[175,65],[180,55],[177,63],[179,77],[163,47],[154,65],[176,72],[177,73]]) # 创建数据集 x, y = data[:, 0],data[:, 1] # 分别得到x,y# 根据求导得出w和b的公式,计算w,b w = ((x*y).mean()-x.mean()*y.mean()) / ((x*x).mean()-x.mean()*x.mean()) b = y.mean() - w * x.mean()print("通过手写一元回归得到的w,b分别为%.3f, %.3f"%(w, b))

【机器学习基础知识|机器学习基础知识之一元线性回归模型】总结:
  1. 求解一元线性回归的方法:
    1)确定目标函数
    2)对w,b进行求导
    3)令导数为0
    4)得到最优解

    推荐阅读