机器学习-线性回归模型和梯度算法

1. 线性回归模型

1.1 线性回归模型

线性回归模型:将数据拟合成一条直线。

作用:预测数字作为输出。

例子:

房子的大小与房价的估计

(图表)

(数据表)

1.2 训练集

训练集:用于训练模型的数据集

训练集作业例子:要预测客户的房价,首先要训练模型以从训练集中学习,然后该模型可以预测客户的房价。

输入的标准符号:x(输入变量/特征/输入特征)

预测的输出变量的标准符号:y(目标变量)

单个训练示例:(x,y)

引用一个具体的训练例子:

i表示第几个训练示例。

1.3 监督学习的工作工作过程

要训练模型,需要将训练集(包括输入特征和输出目标)提供给学习算法。然后监督学习算法会产生一些功能(函数f)。

函数f:输入x,输出预测y值。

如何表示函数f:

上面的直线即单线性回归模型。

1.4 代价函数/成本函数

代价函数:表示一个用于衡量模型预测值与真实值之间差异的函数,目标是通过最小化这个函数来优化模型参数。

成本函数(平方误差成本函数):

成本函数在三个维度:

如何实现最小化成本函数---梯度算法。

2. 梯度算法

2.1 梯度算法

梯度算法:每次稍微改变参数w和b以尝试降低w和b的成本j,知道希望j稳定最小值或者接近最小值。对于某些可能不是弓形或者吊床形的函数j,可能存在不止一个最小值。

2.2 实现梯度下降

梯度下降算法:

a:学习率,取值0~1,控制下坡步幅。

导数:成本函数j的导数项,控制往哪个方向迈步。

2.3 梯度下降的直观理解

上面解释了w会正确移向最低点。

2.4 学习率

a太小时:梯度下降会起作用,但是下降的速度太慢。

a太大时:梯度下降可能会超过,并且可能永远不会达到。(梯度下降可能无法达到收敛,甚至可能发散)

当更新时候w不变,表示参数已经使得j达到局部最小值。

当接近局部最小梯度下降时,会自动采取更小的步长。(因为斜率在变小)

2.5 线性回归中的梯度下降

重复执行上面式子知道收敛为止。

运行梯度下降:

相关推荐
星火开发设计17 小时前
命名空间 namespace:解决命名冲突的利器
c语言·开发语言·c++·学习·算法·知识
小北方城市网17 小时前
RabbitMQ 生产级实战:可靠性投递、高并发优化与问题排查
开发语言·分布式·python·缓存·性能优化·rabbitmq·ruby
曲幽17 小时前
FastAPI部署中间件实战:从CORS到自定义,让你的API更健壮
python·fastapi·web·cors·starlette·middleware·call_next
知无不研17 小时前
选择排序算法
数据结构·算法·排序算法·选择排序
好学且牛逼的马17 小时前
【Hot100|21-LeetCode 160. 相交链表】
算法·leetcode
爱学习的阿磊17 小时前
C++中的策略模式应用
开发语言·c++·算法
郝学胜-神的一滴17 小时前
Python中的bisect模块:优雅处理有序序列的艺术
开发语言·数据结构·python·程序人生·算法
筵陌17 小时前
算法:位运算
算法
Christo317 小时前
TKDE-2026《Efficient Co-Clustering via Bipartite Graph Factorization》
人工智能·算法·机器学习·数据挖掘
jackylzh17 小时前
PyTorch 2.x 中 `torch.load` 的 `FutureWarning` 与 `weights_only=False` 参数分析
人工智能·pytorch·python