当前位置: 首页 > wzjs >正文

建设网站海报文案发文章用哪个平台比较好

建设网站海报文案,发文章用哪个平台比较好,wordpress时间云储存,浮动定位网页设计作业一、实验目的 掌握最小二乘法核心原理:理解通过最小化误差平方和实现数据拟合的数学逻辑。应用场景实践:掌握最小二乘法在线性回归、加权回归及多项式拟合中的具体应用,分析不同场景下的拟合效果。Python 算法实现:使用 NumPy 库…

一、实验目的

  1. 掌握最小二乘法核心原理:理解通过最小化误差平方和实现数据拟合的数学逻辑。
  2. 应用场景实践:掌握最小二乘法在线性回归、加权回归及多项式拟合中的具体应用,分析不同场景下的拟合效果。
  3. Python 算法实现:使用 NumPy 库实现最小二乘算法,提升数据处理和模型调优能力。

二、实验要求

(一)基础线性拟合

(二)加权多项式拟合

(三)结果分析

  • 对比线性拟合与加权二次拟合的误差值,分析权重和模型复杂度对拟合效果的影响。
  • 可视化原始数据与拟合曲线,直观展示拟合效果差异。

三、实验原理

四、实验步骤

(一)数据准备

import numpy as np  
import matplotlib.pyplot as plt  
plt.rcParams['font.sans-serif'] = ['SimHei']  # 支持中文显示  # 原始数据  
x = np.array([8, 3, 2, 10, 11, 3, 6, 5, 6, 8])  
y = np.array([4, 12, 1, 12, 9, 4, 9, 6, 1, 14])  
weights = np.array([0.1, 0.03, 0.2, 0.07, 0.25, 0.05, 0.1, 0.05, 0.12, 0.03])  

(二)线性回归拟合

  1. 构造设计矩阵:将 x 与常数项堆叠为矩阵 A
A_linear = np.vstack([x, np.ones(len(x))]).T  # 形状为 (n, 2)  
  1. 求解参数:使用 NumPy 的 lstsq 函数计算系数 \(a, b\)
coeffs_linear, residuals_linear, _, _ = np.linalg.lstsq(A_linear, y, rcond=None)  
a_linear, b_linear = coeffs_linear  
  1. 计算总误差
y_pred_linear = a_linear * x + b_linear  
Q_linear = np.sum((y - y_pred_linear) ** 2)  

(三)加权二次多项式拟合

  1. 构造二次项设计矩阵:包含 \(x^2, x, 1\)
A_poly = np.vstack([x**2, x, np.ones(len(x))]).T  # 形状为 (n, 3)  
  1. 引入权重矩阵:将权重对角化并左乘矩阵
W = np.diag(weights)  
A_poly_weighted = W @ A_poly  
b_poly_weighted = W @ y  
  1. 求解加权参数
coeffs_poly = np.linalg.lstsq(A_poly_weighted, b_poly_weighted, rcond=None)[0]  
a_poly, b_poly, c_poly = coeffs_poly  
  1. 计算加权总误差
y_pred_poly = a_poly * x**2 + b_poly * x + c_poly  
Q_poly = np.sum(weights * (y - y_pred_poly) ** 2)  

(四)结果可视化

plt.figure(figsize=(10, 6))  
plt.scatter(x, y, color='red', label='原始数据点', s=100)  
plt.plot(x_vals, y_vals_linear, color='blue', label=f'线性拟合: y={a_linear:.2f}x+{b_linear:.2f}')  
plt.plot(x_vals, y_vals_poly, color='green', label=f'加权二次拟合: y={a_poly:.2f}x²+{b_poly:.2f}x+{c_poly:.2f}')  
plt.title('最小二乘拟合效果对比', fontsize=16)  
plt.legend()  
plt.grid(True)  
plt.show()  

  (五)完整源代码:

import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# 给定数据
x = np.array([8, 3, 2, 10, 11, 3, 6, 5, 6, 8])
y = np.array([4, 12, 1, 12, 9, 4, 9, 6, 1, 14])
weights = np.array([0.1, 0.03, 0.2, 0.07, 0.25, 0.05, 0.1, 0.05, 0.12, 0.03])#1.最小二乘线性拟合
#构造矩阵A和向量b用于线性拟合
A_linear = np.vstack([x, np.ones(len(x))]).T
coeffs_linear, residuals_linear, _, _ = np.linalg.lstsq(A_linear, y, rcond=None)# 提取系数
a_linear, b_linear = coeffs_linear# 计算总误差 Q
y_pred_linear = a_linear * x + b_linear
Q_linear = np.sum((y - y_pred_linear) ** 2)print("最小二乘线性拟合结果:")
print(f"方程: y = {a_linear:.4f}x + {b_linear:.4f}")
print(f"总误差 Q: {Q_linear:.4f}\n")#2.带权重的最小二乘二次多项式拟合
#构造矩阵A和向量b用于二次拟合
A_poly = np.vstack([x**2, x, np.ones(len(x))]).T
b_poly = y# 应用权重
W = np.diag(weights)
A_poly_weighted = W @ A_poly
b_poly_weighted = W @ b_poly# 解带权重的最小二乘问题
coeffs_poly, residuals_poly, _, _ = np.linalg.lstsq(A_poly_weighted, b_poly_weighted, rcond=None)# 提取系数
a_poly, b_poly, c_poly = coeffs_poly# 计算总误差 Q
y_pred_poly = a_poly * x**2 + b_poly * x + c_poly
Q_poly = np.sum(weights * (y - y_pred_poly) ** 2)print("带权重的最小二乘二次多项式拟合结果:")
print(f"方程: y = {a_poly:.4f}x^2 + {b_poly:.4f}x + {c_poly:.4f}")
print(f"总误差 Q: {Q_poly:.4f}\n")# 绘图
plt.figure(figsize=(15, 12))# 绘制原始数据点
plt.scatter(x, y, color='red', label='原始数据点')# 绘制线性拟合曲线
x_vals = np.linspace(min(x), max(x), 100)
y_vals_linear = a_linear * x_vals + b_linear
plt.plot(x_vals, y_vals_linear, color='blue', label=f'线性拟合: y = {a_linear:.2f}*X + {b_linear:.2f}')# 绘制二次多项式拟合曲线
y_vals_poly = a_poly * x_vals**2 + b_poly * x_vals + c_poly
plt.plot(x_vals, y_vals_poly, color='gold',label=f'二次多项式拟合: y = {a_poly:.2f}X**2 + {b_poly:.2f}*X + {c_poly:.2f}')plt.title('最小二乘拟合结果',fontsize=30)
plt.xlabel('x')
plt.ylabel('y')
plt.legend(fontsize=20, loc='best')
plt.grid(True)
plt.show()

五、实验结果

(一)拟合方程与误差

模型类型拟合方程总误差 Q
普通线性拟合(y = 0.6770x + 3.0024)159.28
加权二次多项式拟合(y = 0.0148x^2 + 0.6815x - 0.1535)10.33

(二)结果分析

  1. 误差对比:加权二次拟合的误差(\(Q=10.33\))远小于线性拟合(\(Q=159.28\)),说明引入权重和更高次项可显著提升拟合精度
  2. 权重作用:权重较大的数据点(如 \(w=0.25\) 的点)对拟合结果影响更大,模型更贴近高权重数据。
  3. 可视化效果
    • 线性拟合:用直线近似数据,无法捕捉曲线趋势,部分点偏离明显。
    • 加权二次拟合:曲线通过多数数据点,尤其在高权重区域拟合更紧密。

(三)核心结论

  1. 最小二乘法的有效性:通过数学优化实现数据拟合,适用于线性和非线性场景。
  2. 权重的意义:加权最小二乘法可根据数据重要性调整拟合策略,提升模型灵活性。
  3. 模型复杂度权衡:高次多项式能拟合复杂数据,但需避免过拟合(本实验数据量较小,二次拟合未出现过拟合)。

六、总结

   本次实验通过最小二乘法实现了线性回归与加权多项式拟合,验证了数学优化在数据建模中的核心作用。通过调整权重和模型复杂度,我们学会了根据实际需求平衡拟合精度与模型合理性,为后续学习机器学习算法(如回归分析、支持向量机)奠定了基础。

http://www.dtcms.com/wzjs/395848.html

相关文章:

  • 做流量网站拉新任务接单放单平台
  • 如何选择网站建设案例网站注册查询
  • 网站怎么优化关键词排名seo网站培训
  • 哪有做建筑设计的网站电子商务网站有哪些?
  • 建设部网站关于乡建助理职责做一个公司网页多少钱
  • php国内外发展现状百度seo优化软件
  • wordpress ts cd长沙seo优化报价
  • 珠宝网站策划书无锡seo
  • 做网站没有成本的方法优化大师win7官方免费下载
  • 旅游景点网站策划书如何实施网站推广
  • 超炫html5网站模板百度风云榜小说排行榜历届榜单
  • 厂字型布局网站网络营销策划书的结构是什么
  • 做一个新公司网站要多少钱我是seo关键词
  • 免费自己做网站软件淘宝seo优化排名
  • 知名高端网站设计企业爱站工具网
  • 网站建设需要什么资料在线网页服务器
  • 动态网站开发流程图门户网站推广方案
  • 软件定制与开发seo搜索引擎
  • 施甸网站建设利搜网站排名软件
  • 怎么做学校网站百度app下载最新版本
  • 辽宁做网站哪家好广告投放方案
  • 中山 环保 骏域网站建设专家今日头条官方正版
  • 泉州做网站公司创意设计
  • 做网站公众号多少钱长尾词挖掘
  • 宝安网站设计制作郭生b如何优化网站
  • 做网站最省钱百度seo推广计划类型包括
  • 电子商务网站建设与管理学习心得百度账号查询
  • 重庆最有效的网站推广湖北seo网站推广
  • 百度推广销售话术厦门seo培训
  • 免费软件聊天免费找女朋友泰安网站优化公司