简单回归问题实战

数据表:链接: https://pan.baidu.com/s/1sSz7F_yf_JeumXcP4EjE5g?pwd=753f 提取码: 753f

核心流程:

在这里插入图片描述

import numpy as np
# 计算误差函数 points是数据集中数据的位置
def compute_error_for_line_given_points(b,w,points):totalError=0for i in range(0,len(points)):x=points[i,0]y=points[i,1]totalError+=(y-(w*x+b))**2          # 公式return totalError/float(len(points))    # 均方误差# 梯度下降的参数更新
def step_gradient(b_current,w_current,points,learningRate):b_gradient=0w_gradient=0N=float(len(points))for i in range(0,len(points)):x=points[i,0]y=points[i,1]b_gradient+=(2*(w_current*x+b_current-y))/N     # loss函数对b求导  学习率的公式!w_gradient+=(2*(w_current*x+b_current-y)*x)/N   # loss函数对w求导new_b=b_current-learningRate*b_gradientnew_w=w_current-learningRate*w_gradientreturn [new_b,new_w]def gradient_descent_runner(points,starting_b,starting_w,learing_rate,num_iterations):b=starting_bw=starting_wmin_error = float('inf')  # 初始化为正无穷大best_b = bbest_w = wfor i in range(num_iterations):b,w=step_gradient(b,w,np.array(points),learing_rate)error = compute_error_for_line_given_points(b, w, points)# 如果当前误差小于之前记录的最小误差,则更新最小误差和最佳参数if error < min_error:min_error = errorbest_b = bbest_w = wreturn [b,w,best_b,best_w]def run():points=np.genfromtxt("E:/first/project/resource/pytorch/simple-regression/data.csv",delimiter=",")learning_rate=0.0001initial_b=0initial_w=0num_iterations=1000print("Starting gradient descent at b={0},w={1},error={2}".format(initial_b,initial_w,compute_error_for_line_given_points(initial_b,initial_w,points)))[b,w,best_b,best_w]=gradient_descent_runner(points,initial_b,initial_w,learning_rate,num_iterations)print("After {0} interations b={1},w={2},error={3}".format(num_iterations,b,w,compute_error_for_line_given_points(b,w,points)))print("After {0} interations best_b={1},best_w={2},error={3}".format(num_iterations,best_b,best_w,compute_error_for_line_given_points(best_b,best_w,points)))
run()

当梯度下降法逐渐接近损失函数的最小值时,损失函数对参数的梯度(即导数)会趋近于零。这是因为在最小值点处,损失函数的变化率(即斜率)是最小的。因此,当 b_gradient 和 w_gradient 变得非常小时,更新量 learningRate * b_gradient 和 learningRate * w_gradient 也会变得非常小,导致 b 和 w 的变化几乎可以忽略不计。所以一般线性模型只有一个最低点的时候,会出现这种情况,找到最合适的b w后,后续迭代参数几乎不会变化

的变化几乎可以忽略不计。所以一般线性模型只有一个最低点的时候,会出现这种情况,找到最合适的b w后,后续迭代参数几乎不会变化

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/401651.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

虚幻5|入门AI行为树,建立敌人

本章分成两块部分一块是第一点的制作一个简单的AI&#xff0c;后面第二点之后是第二部分建立ai行为树。这两个部分是一个衔接&#xff0c;最好不要跳看 一&#xff0c;制作一个简单的AI 1.首先&#xff0c;我们创建一个敌人的角色蓝图&#xff0c;添加一个场景组件widget用于…

Xmind 8思维导图(含补丁)

Xmind 8思维导图&#xff08;含补丁&#xff09; 什么是思维导图&#xff1f;如何下载Xmind8Xmind 8软件简单使用获取Xmind 8 补丁 什么是思维导图&#xff1f; 数据结构、电路模拟等学习路线&#xff0c;老师都有叫画思维导图&#xff0c;那时候我只知道上网copy&#xff0c;…

基于Spring Boot的疗养院管理系统的设计与实现

TOC springboot234基于Spring Boot的疗养院管理系统的设计与实现 第1章 绪论 1.1选题动因 当前的网络技术&#xff0c;软件技术等都具备成熟的理论基础&#xff0c;市场上也出现各种技术开发的软件&#xff0c;这些软件都被用于各个领域&#xff0c;包括生活和工作的领域。…

【经验分享】Java注解实战进阶

原文地址&#xff1a;https://mp.weixin.qq.com/s/gdYysBB3aD_HmPyvEThFXw Java猿的命根子&#xff01; 自Java EE框架步入Spring Boot时代之后&#xff0c;注解简直是Java程序员的命根子啊&#xff0c;面向注解编程成了日常操作&#xff01; 换句话的意思就是说&#xff1a;…

PCB入门笔记—绘制一个只有两个排针的PCB全流程记录—立创EDA专业版

PCB绘制入门&#x1f680; 硕士毕业之后准备进入博士阶段&#xff0c;本科阶段做的硬件&#xff0c;硕士阶段做的算法&#xff0c;然后博士阶段又要做回硬件了&#xff0c;因此也是打算补一补PCB相关的内容和知识&#xff0c;毕竟做控制的话&#xff0c;之后这也是不能躲开的必…

CrowdTransfer:在AIoT社区中实现众包知识迁移

这篇论文的标题是《CrowdTransfer: Enabling Crowd Knowledge Transfer in AIoT Community》&#xff0c;由 Yan Liu, Bin Guo, Nuo Li, Yasan Ding, Zhouyangzi Zhang, 和 Zhiwen Yu 等作者共同撰写&#xff0c;发表在《IEEE Communications Surveys & Tutorials》上。以下…

Hive3:常用查询语句整理

一、数据准备 建库 CREATE DATABASE itheima; USE itheima;订单表 CREATE TABLE itheima.orders (orderId bigint COMMENT 订单id,orderNo string COMMENT 订单编号,shopId bigint COMMENT 门店id,userId bigint COMMENT 用户id,orderStatus tinyint COMMENT 订单状态 -3:用…

Halcon阈值处理的几种分割方法

Halcon阈值处理的几种分割方法 文章目录 Halcon阈值处理的几种分割方法1. 全局阈值2. 基于直方图的自动阈值分割方法3. 自动全局阈值分割方法4. 局部阈值分割方法5. var_threshold算子6 . char_threshold 算子7. dual_threshold算子 在场景中选择物体或特征是图像测量或识别的重…

2024-08-06升级记录:Android开发接口-获取定位卫星相关信息

Android中获取卫星信息的接口有两类&#xff1a; 一、GpsStatus 注意&#xff1a;此类在API级别24中已被弃用。 请使用GnssStatus和GnssStatus.Callback 。 这个类表示GPS引擎的当前状态。该类与 GpsStatus.Listener接口配合使用。 方法&#xff1a; 获取卫星信息&#xff…

24/8/15算法笔记 项目练习冰湖

import gym from matplotlib import pyplot as plt %matplotlib inline import os os.environ[SDL_VIDEODRIVER]dummy #设置环境变量 SDL_VIDEODRIVERdummy 是在使用基于 SDL (Simple DirectMedia Layer) 的应用程序时&#xff0c;告诉应用程序不使用任何视频驱动程序。这通常…

Transformer动画讲解-单头注意力和多头注意力

单头注意力和多头注意力 Transformer的起源&#xff1a;Google Brain 翻译团队通过论文《Attention is all you need》提出了一种全新的简单网络架构——Transformer&#xff0c;它完全基于注意力机制&#xff0c;摒弃了循环和卷积操作。 注意力机制是全部所需 正如论文标题所…

景联文科技:一文详解如何构建高质量SFT数据

在图像处理和计算机视觉领域中&#xff0c;将一张图像转化为可用于训练机器学习模型的数据是一项复杂而重要的任务。SFT&#xff08;Supervised Fine-Tuning&#xff0c;监督微调&#xff09;是一种常见的深度学习策略&#xff0c;在这一过程中发挥着核心作用。 SFT是指在一个预…

PostgreSQL-02-入门篇-查询数据

文章目录 1 简单查询SELECT 语句简介SELECT 语句语法SELECT 示例1) 使用 SELECT 语句查询一列数据的示例2) 使用 SELECT 语句查询多列数据的示例3) 使用 SELECT 语句查询表所有列数据的示例4) 使用带有表达式的 SELECT 语句的示例5) 使用带有表达式的 SELECT 语句的示例 2 列别…

【MySQL进阶之路】MySQL基础——从零认识MySQL

目录 主流数据库 什么是MySQL MySQL服务 从文件系统角度理解数据库 MySQL架构 SQL语句分类 存储引擎 个人主页&#xff1a;东洛的克莱斯韦克-CSDN博客 主流数据库 数据库开发商特点适用场景SQL Server微软.NET程序员的最爱&#xff0c;适合中大型项目企业级应用&#xf…

Mapreduce_wordcount自定义单词计数

自定义的wordcount 数据处理过程 加载jar包 查看后面的pom文件 以上为需要的jar包路径&#xff0c;将其导入至idea中 Map package com.hadoop;import org.apache.hadoop.io.IntWritable; import org.apache.hadoop.io.LongWritable; import org.apache.hadoop.io.Text; im…

电动汽车和混动汽车DC-DC转换器的创新设计与测试方法

汽车 DC-DC 转换器市场规模将达到187亿美元&#xff0c;年复合增长率为10%。 DC-DC 转换器是汽车的重要组成部分&#xff0c;它可以通过电压转换为各种车载系统供电&#xff0c;例如日益复杂的车载信息娱乐系统、使用驾驶辅助系统&#xff08;ADAS&#xff09;实现的增强安全功…

灵办AI免费ChatGPT4人工智能浏览器插件快速便捷(多功能)

灵办AI就是您所需的最佳助手&#xff01;我们为您带来了一款多功能AI工具&#xff0c;不仅能为您提供精准翻译&#xff0c;还能满足您的对话需求、智能续写、AI搜索、文档阅读、代码生成与修正等多种需求。灵办 AI&#xff0c;真正让工作和学习变得轻松高效&#xff01; 推荐使…

人工智能在网络安全威胁测试中的应用:LLMs如何改变网络威胁格局

一、引言 随着人工智能技术的快速发展&#xff0c;特别是大型语言模型&#xff08;LLMs&#xff09;的崛起&#xff0c;网络安全领域也迎来了新的变革。LLMs不仅在自然语言处理方面展现出惊人的能力&#xff0c;还在网络安全威胁测试中显示出巨大的潜力。本文旨在探讨LLMs在网…

【区块链+乡村振兴】链上云仓智慧动产监管平台 | FISCO BCOS应用案例

2021 年初 ,《中共中央国务院关于全面推进乡村振兴加快农业农村现代化的意见》将“乡村振兴”的重要性提升 到前所未有的战略高度。而随着科技与金融的深度融合&#xff0c;金融行业亦开始步入大数据、云计算、人工智能、区块 链的新技术发展。启动金融科技赋能乡村振兴示范工程…

微信小程序--24(列表渲染)

一、wx&#xff1a;for 1.作用 根据指定数组&#xff0c;循环渲染重复的组件结构 2.语法 <view wx:for"{{data中的数据}}"> 索引是&#xff1a;{{index}}, item项是&#xff1a;{{item}}</view> index:表索引item&#xff1a;表当前循环项 …