暴力穷举和梯度下降 进行直线拟合

本文探讨了两种直线拟合方法:暴力穷举和梯度下降。首先介绍了暴力穷举法如何寻找最佳拟合直线,接着详细阐述了利用梯度下降优化算法实现直线拟合的过程,重点在机器学习的背景下讨论了这种方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

暴力穷举拟合曲线

import numpy as np
import matplotlib.pyplot as plt

#随机生成X Y
x = np.array([1,2,3,4,5])
y = np.array([1,3,2,3,5])
plt.scatter(x,y)
plt.grid()
#plt.show()

# MAE :Mean Absolute Error
# 平均绝对误差是绝对误差的平均值
# 平均绝对误差能更好地反映预测值误差的实际情况.
def MAE_loss(y , y_hat):
    return np.mean(np.abs(y_hat - y))

# MSE: Mean Squared Error
# 均方误差是指参数估计值与参数真值之差平方的期望值;
# MSE可以评价数据的变化程度,MSE的值越小,说明预测模型描述实验数据具有更好的精确度。
def MSE_loss(y , y_hat):
    return  np.mean(np.square(y_hat - y))

# y_hat = np.array([-2,-1,-1,3,5])
# print(MAE_loss(y, y_hat))

#拟合直线
def linear(x , k , b):
    y = k*x + b
    return y

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值