1、线性回归

1.1线性回归基本概念

线性回归本质是个函数,输入x,参数为w、b,输出为预测值y^

多个xy的数据集合为数据集(x^(i),y^(i)),线性模型是定义一个函数,让模型根据数据集去进行训练,属于监督学习,训练学习后,输入一个x进行模型预测,得到预测值y^。

线性回归的目标:找到最优的参数w(权重)和b(偏置),使得模型预测值y^与真实值y的误差尽可能的小,通常会采用损失函数来量化误差,然后通过优化算法来最小化损失函数,从而确定w和b。

 “线性” :这里的 “线性” 指的是模型参数是线性的,即函数关于参数w和b是线性组合形式,但函数本身对于输入x不一定是严格的直线(比如多特征线性回归,是超平面形式)。

1.2分类模型

与线性模型相对的是分类模型

核心区别:分类模型输出的是类别概率或类别标签,比如判断猫还是狗,输出可以是 “属于猫的概率为 0.8,属于狗的概率为 0.2”,最终再根据概率阈值确定类别。而线性回归输出的是连续的数值预测(如预测房价、温度等)

1.3成本函数cost function

J(w,b)是衡量预测值与真实值之间的平方误差的成本函数。当参数b为0时,J(w)就变为有参数(权重)w为主导的函数了如下图所示(为简化后的J(w))。

而w又是线性回归方程fw(x)的参数,将而二者相关联后,如下图可知,J(w)越小,我们的回归函数f(x)线性拟合的就越好,即预测值y^与真实值y的误差越小,得到的越准确,即找到了最优的参数(权重)值w。

当加入参数b时,根据不同的参数(权重)w和b绘制后的J(w,b)图像如下,类似等高线,J(w,b)的最低点为最优值w和b,得到最优拟合。这个过程可用梯度下降算法实现,后面开始介绍梯度下降算法。

2、梯度下降

2.1引言

如上图所示,梯度下降的过程是:首先选定一个初始值w和b,然后梯度下降算法会从初始值开始,环绕四周,找到一个最快下降的路径并迈出第一步,之后的每走一步都会重复环绕四周找最快下降路径,直到下降到最低点。

当选定一个之前初始值相差一点点的初始值w和b时,会导致下降到另一个最低点,这成为局部最小。

2.2公式介绍

上图为梯度下降时进行w和b的更新,这里的\partial为学习率(在0~1之间)(可视为下降步长的大小)

为cost function的导数(可视为下降步长的方向)

整个下降的过程就是在不断更新参数(权重)w和b的过程。需要注意的是将更新后的w去更新b。

2.3学习率

学习率太小——下降缓慢

学习率太大——可能永远到不了最小值,也可能越来越远

如上图所示,可以通过动态调整学习率一点点的放慢步长,直到达到最低点minimum。当达到最低出时,图中的导数为o(切线水平)w=w-0,则表示得到局部最小。

2.4批量(Batch)梯度下降

整个梯度下降的过程称为——批量梯度下降,每次更新时,都查看整个训练数据集的样本。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐