机器学习之单变量线性回归
创始人
2024-03-25 23:46:49
0

1、线性回归基础概念:

  • 回归模型:regression model
  • 数据集:包含feature(输入变量)和与之对应的target(输出变量)
  • 训练集:training set
  • 输入数据:x(feature or input feature)
  • 输出数据:y(“target”variable or output variable)
  • (x,y):signal training example
  • m:number of training examples(训练集当中的训练数据有多少组m就是多少)
  • (xi,yi):ith training example
  • y-hat:y头顶一个^符号,表示y的估计值或预测值
    在这里插入图片描述

2、cost function(代价函数):

  • 1、假设单变量线性回归,其模型可以看成:f=wx+b
  • 2、其中w和b可以称为:parameter(参数)、coefficients(系数)、weight(权重)
  • 3、对应的代价函数如下:注意代价函数除2是为了计算方便
    在这里插入图片描述
  • 4、当代价函数最小的时候,模型和数据的拟合度更高,所以我们的目的是让代价函数最小,下图是通过将模型f=wx+b中的b看成0,最终通过w获取最小代价函数的方法。
    在这里插入图片描述
  • 5、通过控制变量法(让b为0),研究w和代价函数之间的关系:
    在这里插入图片描述
    • 可以看出有一个最适合的w对应最小的代价函数,但是从w开始不论增加还是减少,代价函数都会增大。
  • 5、关于代价函数与w和b之间的关系:
    在这里插入图片描述
  • 通过等高线将3D关系转换为2D关系
    在这里插入图片描述
  • 通过(w,b)来对应出一个模型,可以看出改模型拟合程度较差:
    在这里插入图片描述
  • 2D的等高先当中椭圆的中心点就是对应代价函数最小的w和b,由此得到的模型拟合程度较高:
    在这里插入图片描述

3、梯度下降算法

  • 前言:
    • 在线性回归中,不必手动尝试w和b的最佳等高线图,我们可以用代码编写高效的算法自动查找可以使代价函数最小的w和b,从而获取和数据拟合度最高的模型。
    • 线性回归的代价函数J不一定都是上面介绍的那种方差形式,只不过上面那种形式是较为常见,且效果较好的函数。
  • 梯度下降:gradient descent
  • 梯度下降算法适合所有模型
  • 从J(w,b)过渡到更一般使用的J(w1,w2,…wn,b)
  • 对于J(w,b)模型的梯度下降算法而言:keep changing w,b to reduce J(w,b),Until we settle at or near a minimum
  • 梯度下降步骤:
    • 1、找到最陡的方向(环视一周)
    • 2、走一小步
    • 3、重复1步骤
    • 具体可参考下图:
      在这里插入图片描述
  • 梯度下降算法介绍:
    在这里插入图片描述
    • 注意:其中α代表步长也可以叫学习率,后面的导数正负表示下将方向,导数的值也可以改变下降步长,具体可以参考下面两幅图:
      在这里插入图片描述
      在这里插入图片描述
    • 介绍梯度下降算法的推导过程,以及前面在代价函数中为什么要多除一个2
      在这里插入图片描述
    • 梯度下降算法的伪代码表示
      在这里插入图片描述

总结:上述内容,介绍了线性回归基础概念,又介绍了代价函数和梯度下降算法,线性回归是一种机器学习模型,而代价函数就是为了使模型更加准确而提出的一个评价依据,梯度下降算法就是获取最小代价函数的一种算法。

  • 梯度下降算法执行过程:逐渐逼近或到达代价函数最小的位置
    在这里插入图片描述
  • 注意:在上述所讲的单变量线性回归模型中,每一次下降使用的是所有训练样本,所以这种梯度下降算法叫做”批量梯度下降“(Batch gradient descent)

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...