【python手写算法】利用梯度下降实现线性拟合

利用梯度下降实现线性拟合,效果和sklearn LinearRegression()差不多。
学习率初始设置为0.1结果算高的,直接让我的参数变成了nan。(体会到了飞出去的感觉)
把学习率调小了之后就正常了

# coding=utf-8
import matplotlib.pyplot as plt
import numpy as np
if __name__ == '__main__':X =[12.46, 0.25, 5.22, 11.3, 6.81, 4.59, 0.66, 14.53, 15.49, 14.43,2.19, 1.35, 10.02, 12.93, 5.93, 2.92, 12.81, 4.88, 13.11, 5.8]Y =[29.01, 4.7, 22.33, 24.99, 18.85, 14.89, 10.58, 36.84, 42.36, 39.73,11.92, 7.45, 22.9, 36.62, 16.04, 16.56, 31.55, 20.04, 35.26, 23.59]w=1b=0.1a=0.01 # 学习率w_temp=-100b_temp=-100wchange = 100bchange = 100while abs(wchange)>1e-12 and abs(bchange)>1e-12:print(wchange)wchange=0bchange=0for i in range(len(X)):wchange+=(w*X[i]+b-Y[i])*X[i]bchange+=w*X[i]+b-Y[i]wchange/=len(X)bchange /= len(X)w_temp=w-a*wchangeb_temp=b-a*bchangew=w_tempb=b_tempprint("y=%.4f*x+%.4f" % (w, b))# 简单画图显示plt.scatter(X, Y, c="blue")Y_predict=[]for i in range(len(X)):Y_predict.append(w*X[i]+b)plt.plot(X, Y_predict, c="red")plt.show()print(Y_predict)

在这里插入图片描述
在这里插入图片描述

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

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

相关文章

<数据结构>NO9.选择类排序|直接选择排序|堆排序

文章目录 选择排序1.直接选择排序优化直接选择排序 2. 堆排序 选择排序 基本思想 选组排序是从待排序数据中选出最大/最小的元素放入到序列的起始位置,直到待排序数据全部有序。 直接选择排序和堆排序的基本思想均符合选择排序。 1.直接选择排序 假设数据按升序…

时间序列预测 | Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测

文章目录 效果一览文章概述部分源码参考资料效果一览 文章概述 时间序列预测| Matlab基于粒子群算法(PSO)优化径向基神经网络(PSO-RBF)的时间序列预测 评价指标包括:MAE、MBE和R2等,代码质量极高,方便学习和替换数据。要求2018版本及以上。 部分源码 %% 清空环境变量 warni…

改进二进制粒子群算法在配电网重构中的应用(Matlab实现)【论文复现】

目录 0 概述 1 配电网重构的目标函数 2 算例 3 matlab代码实现 0 概述 配电系统中存在大量的分段开关和联络开关,配电网重构正是通过调整分段开关和联络升大的组合状态来变换网络结构,用于优化配电网某些指标,使其达到最优状态。正常运行时,则通过两…

高效工作:ADManager Plus的利器

在当今快节奏的商业环境中,高效的工作是成功的关键。对于IT管理员来说,管理和维护Active Directory(AD)环境是一项重要的任务。然而,手动处理繁琐的AD管理任务可能会占用大量的时间和精力,影响工作效率。为…

RLHF-基于人类反馈的强化学习

RLHF 文章目录 RLHF强化学习基础回顾为什么要使用基于人类反馈的强化学习大纲RLHF的起源大预言模型中的RLHF案例 ChatGPT RLHF中的技术细节预训练语言模型训练奖励模型基于RL进行微调 RLHF 的未来 强化学习基础回顾 智能体通过采取行动与环境进行交互,并返回状态和奖…

SpringCloud微服务(三)RabbitMQ、SpringAMQP、elasticsearch、DSL、MQ、ES详细介绍

目录 一、初始MQ 同步调用 异步调用 什么是MQ 执行下面的命令来运行MQ容器: 如果冲突了,可以先查询 RabbitMQ概述 常见消息模型 HelloWorld案例 二、SpringAMQP 引入依赖 Work Queue 消费预取限制 ​编辑 发布、订阅 发布订阅Fanout Ex…

能不能推荐个 vue 后台管理系统模板?

前言 下面是我整理的vue2和vue3的一些后台管理系统模板,希望对你有帮助~ Vue2 1、iview-admin Star: 16.4k 基于 iview组件库开发的一款后台管理系统框架,提供了一系列的强大组件和基础模板,方便开发人员快速搭建一套功能丰富、界面美观、…

红帽回应对开源的承诺

导读红帽上周宣布了限制源代码访问性的政策,称其企业发行版 RHEL (Red Hat Enterprise Linux) 相关源码仅通过 CentOS Stream 公开,付费客户和合作伙伴可通过 Red Hat Customer Portal 访问到源代码。 红帽上周宣布了限制源代码访问性的政策&#xff0c…

在Microsoft Excel中带单位的数字如何求和

使用 Excel 中的 SUM 函数对一系列单元格、整列或非连续单元格求和。要创建出色的 SUM 公式,请将 SUM 函数与其他 Excel 函数结合使用,然而 SUM 函数不能直接对带单位的数字进行求和。 当直接相加带单位的几个数字会出现如下错误: 错误的原因…

Keepalived 安装与配置

安装 Keepalived apt -y install keepalived 里边有一个杠y,就是我安装的时候里面有yes,就直接是yes 添加 Keepalived 配置 安装好之后, 下一步就开始去来写这个配置文件了,就在这里面去建一个 etc 当中,就是在这个 etc 当中建一个…

HTTP第17讲——Cookie机制

Cookie的诞生背景 HTTP 是“无状态”的,这既是优点也是缺点。优点是服务器没有状态差异,可以很容易地组成集群,而缺点就是无法支持需要记录状态的事务操作。 后来发明的 Cookie 技术,给 HTTP 增加了“记忆能力”。 什么是Cookie…

SpringBoot中集成Flyway实现数据库sql版本管理入门以及遇到的那些坑

场景 Git/ SVN 是代码界的版本控制工具,那么,Flyway 就是一款数据库界的版本控制工具, 它可以记录数据库的变化记录。可能很多公司都是通过人工去维护、同步数据库脚本, 但经常会遇到疏忽而遗漏的情况,举个简单的例…