【机器学习】简单线性回归算法及代码实现
线性回归算法
- 一、摘要
- 二、线性回归算法概述
- 三、损失函数的定义和衡量标准
- 四、简单线性回归的求解和应用
- 五、机器学习算法一般求解思路
一、摘要
本文讲解了线性回归算法的基础知识和应用,强调线性回归主要用于解决回归问题。通过分析房产价格与房屋面积的关系,展示了线性回归的基本思想。文中提到线性回归算法的实现简单,但背后有强大的数学支撑。介绍了简单线性回归与多元线性回归的区别,并解释了如何通过最小二乘法找到最佳拟合直线。同时,探讨了线性回归算法的可解释性以及在机器学习中的重要地位,指出它是许多复杂模型的基础。此外,还提到了最优化原理在机器学习算法中的应用,以及如何通过线性回归算法学习机器学习中的重要思想。
二、线性回归算法概述
-
线性回归算法是机器学习领域的重要算法,主要用于解决回归问题,属于监督学习。
-
线性回归算法思想简单,实现容易,背后具有强大的数学性质。
-
线性回归算法是许多非线性模型的基础,如
多项式回归
、逻辑回归
和SVM
。 -
线性回归算法结果具有很好的可解释性,可以通过数据分析学习真实世界的知识。
-
线性回归算法的主要目的是通过数据拟合一条直线,最好地预测因变量(目标变量)。
-
线性回归算法的数学原理:
- 1.线性回归算法假设样本特征与样本输出标记之间存在线性关系。
- 2.通过找到一条直线,最大程度拟合样本特征和样本输出标记之间的关系。
- 3.二维平面图中,每个点表示一个数据,
横轴代表样本特征
,纵轴代表样本输出标记
。
-
线性回归分类:
- 简单线性回归
- 简单线性回归为 y=a+bx,其中a是截距,b是斜率;
- 1.简单线性回归假设样本特征只有一个,如房屋面积。
- 2.通过找到最佳拟合直线方程y=ax+b,预测样本输出标记的值。
- 3.预测值y[^i]表示为a×xi+b,其中xi是样本特征值。
- 4.
真实值y
与预测值y[^i]
之间的差距
称为误差
,线性回归算法的目标是寻找到一个函数,通过找到最佳的a和b,使得该函数的值尽可能很小,这个函数称之为损失函数。
- 多元线性回归
多元线性回归扩展到多个自变量。
- 简单线性回归
-
线性回归算法的工作流程
- 数据准备 :确保自变量和因变量独立且同分布,数据标准化可能有助于准确性。
- 模型建立 :选择
损失函数
(如最小二乘法)并通过优化算法(如梯度下降或随机森林)拟合模型。 - 评估与调优 :使用
交叉验证
评估模型性能,防止过拟合。
-
线性回归算法的应用场景
- 预测分析 :如房价、温度与气压、存活率等。
- 质量控制 :通过维度的影响评估产品性能。
- 经济预测 :用于股票价格或消费水平预测。
三、损失函数的定义和衡量标准
- 损失函数用于衡量真实值与预测值之间的差距。
- 常用的一种损失函数是平方误差损失函数,通过计算误差的平方来衡量差距。在线性回归中,损失函数通常表示为平方误差函数,即预测值与真实值之差的平方和。使用平方误差损失函数的原因包括其处处可导性,便于后续的数学计算。
- 求函数极值的基本方法是求导数并令导数等于零。通过对损失函数y分别对a和b求导,并令导数等于零,可以找到使损失函数最小的a和b值。
四、简单线性回归的求解和应用
-
简单线性回归的求解包括找到参数a和b的最小二乘解。
-
通过
最小二乘法
,a和b的求解有了直接的数学表达式。
最小二乘法
是一种数学优化技术,通过最小化误差的平方和
来寻找数据的最佳函数匹配。在监督学习中,最小二乘法用于拟合线性回归模型,通过最小化预测值与真实值之间的平方误差之和,来求解模型的参数。 -
简单线性回归的求解思路可以推广到多元线性回归的情况。
-
具体实现过程:
- 实现思路及步骤:
- 1.加载相应的库,并使用假数据进行线性回归过程。
- 2.创建xy两个np数组,并绘制散点图。
- 3.计算x和y的均值,并使用公式计算a和b。
- 4.a的计算包括分子和分母两部分,通过循环求和计算。
- 5.b的计算直接使用公式y的均值减去a乘以x的均值。
- 6.绘制ax+b的直线图,并显示预测结果。
- 代码实现过程:
-
1.先导入相关库,定义好测试数据及该数据在二维平面上的散点图分布:
# 导入型相关的库 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.axis([0,6,0,6]) # 定义横纵坐标值的范围为[0,6] plt.show()
执行效果如下:
-
2.根据公式求解线性方程y=ax + b
# 先分别求出x和y的均值 x_mean = np.mean(x) y_mean = np.mean(y)# 先求a的分子部分 numerator = 0.0 # 分子 denominator = 0.0 # 分母 for x_i,y_i in zip(x,y):numerator += (x_i - x_mean) * (y_i - y_mean)denominator += (x_i - x_mean)**2# 然后在求出a的值 a = numerator / denominator # 最后再求出b的值 b = y_mean - a*x_mean # 此时可以得到线性方程中的预测值y_hat y_hat = a * x + b # 为了好看,将y_hat这条直线绘制出来 plt.scatter(x,y) # 5个点的散点图 plt.plot(x,y_hat,color='r') # 绘制直线,x还是原来的向量x(自变量),y_hat就是求出来的值(因变量) plt.axis([0,6,0,6]) plt.show()
执行效果如下:
-
3.给定假设的新样本点,带入线性回归方程中,求得预测值:
# 给一个假设的新的样本点x_predict x_predict = 6 # 调用我们的模型y=ax + b,得到一个预测值y_predict y_predict = a * x_predict + b print("预测值=",y_predict)
执行效果如下:
-
- 实现思路及步骤:
-
按照scikit-learn的代码风格,将上述代码进行封装:
- 1.创建一个simple linear regression.py文件,定义SimpleLinearRegression类。
- 2.构造函数初始化a和b参数,使用下划线命名表示这些是算法计算结果。
- 3.fit函数接收训练数据x和y,计算a和b并保存。
- 4.predict函数接收预测数据x,使用已计算的a和b进行预测。
- 5.输出a和b的值,以及预测结果。
- 6.在PyCharm中封装完成后的代码如下:
import numpy as npclass SimpleLinearRegressionModel:def __init__(self):# 初始化线性回归模型的参数a和b为Noneself.a_ = Noneself.b_ = Nonedef fit(self, x_train, y_train):"""根据训练数据集x_train,y_train训练Simple Linear Regression模型"""# 断言x_train的维度为1,确保是单特征训练数据assert x_train.ndim == 1, \"Simple Linear Regressor can only solve single feature training data."# 断言x_train和y_train的长度相等,确保数据匹配assert len(x_train) == len(y_train), \"the size of x_train must be equal to the size of y_train"# 先分别求出x和y的均值x_mean = np.mean(x_train)y_mean = np.mean(y_train)# 先求a的分子部分numerator = 0.0 # 分子denominator = 0.0 # 分母# 遍历训练数据,计算分子和分母for x_i, y_i in zip(x_train, y_train):numerator += (x_i - x_mean) * (y_i - y_mean)denominator += (x_i - x_mean) ** 2# 然后计算a的值self.a_ = numerator / denominator# 最后计算b的值self.b_ = y_mean - self.a_ * x_meanreturn selfdef predict(self, x_predict):"""给定待预测数据集x_predict,返回表示x_predict的结果向量"""# 断言x_predict的维度为1,确保是单特征数据assert x_predict.ndim == 1, \"Simple Linear Regressor can only solve single feature training data."# 断言模型已经训练过(a_和b_不为None)assert self.a_ is not None and self.b_ is not None, \"must fit before predict!"# 对每个待预测数据调用_predict方法,生成预测结果数组return np.array([self._predict(x) for x in x_predict])def _predict(self, x_single):"""给定单个待预测数据x_single,返回x_single的预测结果值"""# 根据训练得到的参数a_和b_进行预测计算return self.a_ * x_single + self.b_def __repr__(self):# 返回模型的字符串表示形式return "SimpleLinearRegressionModel()"
- 7.在jupyter中调用并预测:
1.实例化SimpleLinearRegression类,无需传入参数。
2.调用fit方法传入x和y数据,训练模型。
3.调用predict方法进行预测,传入预测数据x。
4.输出预测结果,以及学到的a和b参数。
5.绘制原始数据和预测直线的图表。
执行结果:# 导入在PyCharm中封装好的工程项目 import sys project_path = 'D:/PycharmProjects/pythonProject/' if project_path not in sys.path:sys.path.append(project_path)from SimpleLinearRegressionModel import SimpleLinearRegressionModelsreg = SimpleLinearRegressionModel()sreg.fit(x,y)# 给一个假设的新的样本点x_predict x_predict = 6 sreg.predict(np.array([x_predict]))
绘制图像查看下:
五、机器学习算法一般求解思路
-
机器学习算法的求解思路包括
确定目标函数
和最优化该函数
。 -
目标函数可以是
损失函数
或效用函数
。 -
参数学习算法通过学习模型的参数来最优化目标函数。
近乎所有参数学习算法
都是如图所示的套路。
-
最优化原理在机器学习算法中发挥着重要作用,常见如最优化原理和凸优化。
- 1.
最优化原理
不仅用于机器学习算法,也在传统计算机算法领域中发挥重要作用。 - 2.
凸优化
是最优化原理的一个分支领域,解决一类特殊的优化问题。
- 1.
相关文章:
【机器学习】简单线性回归算法及代码实现
线性回归算法 一、摘要二、线性回归算法概述三、损失函数的定义和衡量标准四、简单线性回归的求解和应用五、机器学习算法一般求解思路 一、摘要 本文讲解了线性回归算法的基础知识和应用,强调线性回归主要用于解决回归问题。通过分析房产价格与房屋面积的关系&…...
【前端开发】query参数和params参数的区别
在Web开发中,query参数(URL查询参数)和params参数(路由参数)是两种不同的URL传参方式,它们的核心区别如下: 一、 位置不同 query参数params参数位置URL中?之后,用&连接多个参数…...
人工智能数学基础学习PPT
学习视频:人工智能 -数学基础 文章目录 1.简介1.函数2.极限3.无穷小与无穷大4.连续性与导数5.偏导数6.方向导数7.梯度 2.微积分1.微积分基本想法2.微积分的解释3.定积分4.定积分性质5.牛顿-莱布尼茨公式 3.泰勒公式与拉格朗日1.泰勒公式2.一点一世界3.阶数的作用4.…...
企业文件防泄密软件哪个好?
在企业文件防泄密软件领域,天锐绿盾和中科数安都是备受认可的品牌,它们各自具有独特的特点和优势。 以下是对这两款软件的详细比较: 天锐绿盾 功能特点 集成性强:集成了文件加密、数据泄露防护DLP、终端安全管理、行为审计等数据安…...
美丽 百褶裙提示词 + MD
MD 参考教程:Marvelous Designer零基础教学,MD布料制作-百褶裙建模制作,次世代教学_哔哩哔哩_bilibili 【MD新手教程】30分钟教会你制作百褶裙,Marvelous Designer超简单入门案例教程_哔哩哔哩_bilibili 【c4d技术解析】MD百褶裙…...
解释和对比“application/octet-stream“与“application/x-protobuf“
介绍 在现代 Web 和分布式系统的开发中,数据的传输和交换格式扮演着关键角色。为了确保数据在不同系统之间的传输过程中保持一致性,MIME 类型(Multipurpose Internet Mail Extensions)被广泛应用于描述数据的格式和内容类型。在 …...
基于YALMIP和cplex工具箱的微电网最优调度算法matlab仿真
目录 1.课题概述 2.系统仿真结果 3.核心程序与模型 4.系统原理简介 4.1 系统建模 4.2 YALMIP工具箱 4.3 CPLEX工具箱 5.完整工程文件 1.课题概述 基于YALMIP和cplex工具箱的微电网最优调度算法matlab仿真。通过YALMIP和cplex这两个工具箱,完成微电网的最优调…...
AI前端开发技能提升与ScriptEcho:拥抱AI时代的前端开发新范式
随着人工智能技术的飞速发展,AI前端开发岗位对技能的要求也水涨船高。越来越多的企业需要具备AI相关知识和高级前端开发能力的工程师,这使得传统的前端开发模式面临着巨大的挑战。如何提升开发效率,降低人力成本,成为了摆在所有前…...
LeetCode题解:2690. 无穷方法对象,Proxy
Problem: 2690. 无穷方法对象 思路 这个问题的核心在于创建一个对象,该对象能够响应对其任何方法的调用,并返回调用的方法名称。为了实现这一点,我们可以利用 JavaScript 中的 Proxy 对象。Proxy 对象允许我们自定义对象的基本操作ÿ…...
Python中的HTTP客户端库:httpx与request | python小知识
Python中的HTTP客户端库:httpx与request | python小知识 在Python中,发送HTTP请求和处理响应是网络编程的基础。requests和httpx是两个常用的HTTP库,它们都提供了简洁易用的API来发送HTTP请求。然而,httpx作为新一代的HTTP客户端…...
RabbitMQ使用guest登录提示:User can only log in via localhost
guest用户默认是无法使用远程访问的,生产环境建议直接在对应服务器登录使用。 1、通过创建新增用户并赋予权限实现远程登录 添加新用户 rabbitmqctl add_user zjp zjp 设置管理员 rabbitmqctl set_user_tags zjp administrator 设置新用户的权限 rabbitmqctl…...
#渗透测试#批量漏洞挖掘#Crocus系统—Download 文件读取
免责声明 本教程仅为合法的教学目的而准备,严禁用于任何形式的违法犯罪活动及其他商业行为,在使用本教程前,您应确保该行为符合当地的法律法规,继续阅读即表示您需自行承担所有操作的后果,如有异议,请立即停…...
基于Matlab实现六自由度机械臂正逆运动仿真(源码)
在机器人技术领域,六自由度机械臂是一种广泛应用的设备,它可以实现空间中的位置和姿态控制。本项目聚焦于六自由度机械臂的正逆运动学仿真,利用MATLAB2016b作为开发工具,旨在深入理解并掌握机械臂的工作原理和运动控制。 正运动学…...
亚信安全正式接入DeepSeek
亚信安全致力于“数据驱动、AI原生”战略,早在2024年5月,推出了“信立方”安全大模型、安全MaaS平台和一系列安全智能体,为网络安全运营、网络安全检测提供AI技术能力。自2024年12月DeepSeek-V3发布以来,亚信安全人工智能实验室利…...
Django 创建第一个项目
Django 创建第一个项目 引言 Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、实用的设计。本指南将带您从头开始创建一个简单的 Django 项目,以便您能够熟悉 Django 的基本结构和概念。 准备工作 在开始之前,请确保您已经安装了 Python 和 Django。以下是安…...
RL基础概念
RL意味着模型从真实世界中获取反馈,根据策略调整参数,以达到最大化反馈的优化算法; 强化学习的核心在于:1.试错(因为仅凭reward无法得到明确的优化方向,所以需要不断多尝试);2.延迟奖…...
像取快递一样取文件?
看到一个很有意思的项目,像我们做软件分享的感觉会有用,就是现在服务器费用太贵了,如果自建的话感觉不是很值得。 FileCodeBox FileCodeBox 是一个轻量级的文件分享系统,它基于匿名口令分享文本和文件,无需注册登录&…...
Jenkins 新建配置Pipeline任务 三
Jenkins 新建配置Pipeline任务 三 一. 登录 Jenkins 网页输入 http://localhost:8080 输入账号、密码登录 一个没有创建任务的空 Jenkins 二. 创建 任务 图 NewItem 界面左上角 New Item 图NewItemSelect 1.Enter an item name:输入任务名 2.Select an ite…...
React 前端框架搭建与解析
React 前端框架搭建与解析 一、 概述 React 是 Facebook 开源的用于构建用户界面的 JavaScript 库,以其组件化、声明式编程范式以及高效的虚拟 DOM 渲染机制,成为当今最流行的前端框架之一。本文将带领你从零开始搭建一个 React 开发环境,并深入解析其核心概念。 二、 环…...
像指针操作、像函数操作的类
像指针一样的类。把一个类设计成像一个指针。什么操作符运用到指针上? 使用标准库的时候,里面有个很重要的东西叫容器。容器本身一定带着迭代器。迭代器作为另外一种智能指针。迭代器指向容器里的一个元素。迭代器用来遍历容器。 _list_iterator是链表迭…...
15.Python网络编程:进程池、进程间通信、多线程、进程和线程区别、网络通信、端口、IP地址、socket、UDP、TCP、http
1. 进程池(Process Pool) 进程池是通过将多个进程放入池中管理来避免频繁地创建和销毁进程,提高效率。Python 提供了 multiprocessing.Pool 类来实现进程池,它可以用于并行计算任务。 示例:使用进程池 from multipr…...
Ubuntu启动geteck/jetlinks实战:Docker启动
参考: JetLinks 物联网基础平台 安装Docker Ubuntu下载安装Docker-Desktop-CSDN博客 sudo apt install -y docker-compose 下载源码 git clone https://github.com/jetlinks/jetlinks-community.git cd jetlinks-community 启动 cd docker/…...
Newton 差商插值多项式
Newton 差商插值多项式 根据差商定义,把 x x x 看成[ a , b ] a,b] a,b]上一点,可得 f ( x ) f ( x 0 ) f [ x , x 0 ] ( x − x 0 ) f(x)f(x_0)f[x,x_0](x-x_0) f(x)f(x0)f[x,x0](x−x0) f [ x , x 0 ] f [ x 0 , x 1 ] f [ x , x 0 , x 1…...
ubuntu下ollama/vllm两种方式在本地部署Deepseek-R1
1.前言 今年过年,deepseek一下子爆火,导致我前段时间好好用的官网直接挤爆了,一直转圈圈到没心思过了,天天挂热搜,直接导致我的科研工作受阻(dog),好吧,话不多说,看看怎么在本地部署deepseek丝滑享受以及白嫖一下api体验>_<! 部署环境: 系统:ubuntu22.04 显…...
如何使用ps批量去除固定位置水印
使用 Photoshop 批量去除固定位置的水印,有几种方法可以实现自动化,具体取决于水印的复杂程度和你对 Photoshop 的熟悉程度: 1. 动作(Actions) 批处理(Batch): 这是最常用的方法&…...
基于 STM32 的病房监控系统
标题:基于 STM32 的病房监控系统 内容:1.摘要 基于 STM32 的病房监控系统摘要:本系统采用 STM32 微控制器作为核心,通过传感器实时监测病房内的环境参数,如温度、湿度、光照等,并将数据上传至云端服务器。医护人员可以通过手机或…...
Windows部署deepseek-r1
安装Ollama 访问Ollama下载页,选择对应的操作系统进行下载 运行OllamaSetup,进行安装 任务栏出现Ollama图标,运行正常 cmd查看Ollama版本 C:\Users\PC>ollama -v ollama version is 0.5.7 部署模型 deepseek 可访问deepseek模型页,切…...
CCFCSP第34次认证第一题——矩阵重塑(其一)
第34次认证第一题——矩阵重塑(其一) 官网链接 时间限制: 1.0 秒 空间限制: 512 MiB 相关文件: 题目目录(样例文件) 题目背景 矩阵(二维)的重塑(reshap…...
webpack打包优化策略
1. 减少打包体积 减少打包文件的大小是为了提高加载速度,降低网络带宽消耗,提升用户体验。常见的减少打包体积的优化策略包括: 代码分割(Code Splitting):将代码拆分成多个小文件,让浏览器按需…...
八股文-2025-02-12
BFC BFC属于普通流。BFC全称是Block Formatting Context,意思就是块级格式化上下文。你可以把BFC看做元素的一个属性,当元素拥有BFC属性,这个元素就可以看作是隔离了的独立容器,容器里边的元素不会影响到容器外部的元素.https://b…...
部门管理(体验,最原始方法来做,Django+mysql)
本人初学,写完代码在此记录和复盘 在创建和注册完APP之后(我的命名是employees),编写models.py文件创建表 手动插入了几条数据 1.部门查询 urls.py和views.py在编写之前,都要注意导入对应的库 urls.py:…...
联想拯救者Y9000银河麒麟系统安装Nvidia 4060显卡驱动
查了好多资料, 发现银河麒麟的资料较少, 只能自己试验了, 如有帮助, 点个赞吧~~ 前提: 本人笔记本是联想拯救者Y9000, 独立显卡 Nvidia4060, 主机系统是银河麒麟V10 (2403), 笔记本处于联网状态ÿ…...
深入解析 STM32 GPIO:结构、配置与应用实践
理解 GPIO 的工作原理和配置方法是掌握 STM32 开发的基础,后续的外设(如定时器、ADC、通信接口)都依赖于 GPIO 的正确配置。 目录 一、GPIO 的基本概念 二、GPIO 的主要功能 三、GPIO 的内部结构 四、GPIO 的工作模式 1. 输入模式 2. 输…...
突破数据壁垒,动态住宅代理IP在数据采集中的高效应用
在当今数字化时代,数据已经成为企业和个人决策的重要依据。无论是市场调研、竞争分析,还是价格监控、SEO优化,数据采集都扮演着至关重要的角色。然而,随着技术发展与网络安全措施的日益严格,传统的数据采集方式面临着前…...
Spring 项目接入 DeepSeek,分享两种超简单的方式!
⭐自荐一个非常不错的开源 Java 面试指南:JavaGuide (Github 收获148k Star)。这是我在大三开始准备秋招面试的时候创建的,目前已经持续维护 6 年多了,累计提交了 5600 commit ,共有 550 多位贡献者共同参与…...
SSE与Websocket详解,SSE实现对话框流式输出
SSE详解 SSE(Server-Sent Events)是一种在Web应用中实现单向实时通信的技术,它允许服务器主动向客户端发送更新,而无需客户端不断发起请求。SSE基于HTTP协议,利用HTTP的长连接特性,通过浏览器向服务器发送一个HTTP请求,建立一条持久化的连接,然后服务器可以通过这条连…...
Shell脚本笔记
Linux其他命令 Shell脚本笔记...
Hydra主配置文件和模块化配置管理
在 Hydra 中,我们可以使用 defaults 关键字 在主配置文件 config.yaml 中加载多个子配置文件,从而实现 模块化配置管理。这在深度学习、超参数优化、数据预处理等场景下非常有用。 1️⃣ 配置文件目录结构 假设我们有一个深度学习训练项目,…...
oracle dbms_sqltune 使用
创建测试表 CREATE TABLE test_table (id NUMBER PRIMARY KEY,event_date DATE,value NUMBER );插入测试数据 DECLAREi NUMBER; BEGINFOR i IN 1..1000000 LOOPINSERT INTO test_table (id, event_date, value)VALUES (i, SYSDATE - MOD(i, 365), DBMS_RANDOM.VALUE(1, 1000)…...
Mediamtx+Python读取webrtc流
一、功能思路: 1、我采用ffmpeg -re -stream_loop -1 -i xcc.mp4 -c:v libx264 -profile:v baseline -x264opts "bframes0:repeat_headers1" -b:v 1500k -preset fast -f flv rtmp://127.0.0.1:1835/stream/111推流到mediamtx的rtmp上 2、通过mediamtx自…...
Makefile和算法(20250213)
1. Makefile 1.1 功能 管理工程代码的编译和链接,可以一键化实现代码工程的编译和管理。 时间戳:根据时间戳,可以只编译发生修改后的文件 1.2 Makefile 基本语法和相关操作 1.2.1 创建一个Makefile文件 Makefile/makefile(首…...
postgresql源码学习(59)—— 磁盘管理器 SMGR
一、 定义及作用 PostgreSQL 的磁盘管理器(Storage Manager,简称 SMGR)是数据库系统中负责管理底层存储的核心模块。磁盘管理器并非直接操作磁盘上的文件,而是通过VFD(虚拟文件描述符,将在后续学习…...
亚冬会绽放“云端”,联通云如何点亮冰城“科技之光”?
科技云报到原创。 35年前,中国第一次承办亚运会,宣传曲《亚洲雄风》红遍大江南北,其中有一句“我们亚洲,云也手握手”。如今回看,这句话仿佛有了更深的寓意:一朵朵科技铸就的“云”,把人和人连…...
寻找最优的路测路线
寻找最优的路测路线 真题目录: 点击去查看 E 卷 200分题型 题目描述 评估一个网络的信号质量,其中一个做法是将网络划分为栅格,然后对每个栅格的信号质量计算。 路测的时候,希望选择一条信号最好的路线(彼此相连的栅格集合)进行演示。 现给出 R 行 C 列的整数数组 Cov…...
某虚拟页式存储管理系统中有一个程序占8个页面,运行时访问页面的顺序是1,2,3,4,5,3,4,1,6,7,8,7,8,5。假设刚开始内存没有预装入任何页面。
某虚拟页式存储管理系统中有一个程序占8个页面,运行时访问页面的顺序是1,2,3,4,5,3,4,1,6,7,8,7,8,5。假设刚开始内存没有预装入任何页面。 (1) 如果采用LRU调度算法,该程序在得到4块内存空间时,会产生多少次缺页中断?请给出详细…...
介绍下SpringBoot如何处理大数据量业务
Spring Boot 处理大数据量业务时,通常会面临性能、内存、数据库负载等挑战。为了高效处理大数据量,Spring Boot 提供了多种解决方案和优化策略。以下是一些常见的处理方式: 1. 分页查询 问题:一次性查询大量数据会导致内存溢出和…...
推荐系统召回算法
推荐系统召回算法 召回算法UserCFItemCFSwing矩阵分解 召回算法 基于协同过滤的召回算法主要是应用在推荐环节的早期阶段,大致可以分为基于用户、基于物品的。两者各有优劣,优点是具有较好的可解释性,缺点是对于稀疏的交互矩阵,效…...
(2025)深度分析DeepSeek-R1开源的6种蒸馏模型之间的逻辑处理和编写代码能力区别以及配置要求,并与ChatGPT进行对比(附本地部署教程)
(2025)通过Ollama光速部署本地DeepSeek-R1模型(支持Windows10/11)_deepseek猫娘咒语-CSDN博客文章浏览阅读1k次,点赞19次,收藏9次。通过Ollama光速部署本地DeepSeek-R1(支持Windows10/11)_deepseek猫娘咒语https://blog.csdn.net/m0_70478643/article/de…...
性格测评小程序03搭建用户管理
目录 1 创建数据源2 搭建后台3 开通权限4 搭建启用禁用功能最终效果总结 性格测评小程序我们期望是用户先进行注册,注册之后使用测评功能。这样方便留存用户的联系信息,日后还可以推送对应的相关活动促进应用的活跃。实现这个功能我们要先创建数据源&…...
Qt接入deepseekv3 API 提供openssl 1.1.1g安装包
1.获取api (有免费10元额度) DeepSeek 记得复制api,避免丢失频繁创建。 2.qt调用https请求 配置网络模块 QT core gui widgets network 直接上代码 拿到代码替换api,和修正qt组件输入和输出即可。 #ifndef DEEPSEEKCLIENT…...