自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(87)
  • 收藏
  • 关注

原创 神经网络参数初始化

💽参数初始化是神经网络训练过程中的一个重要步骤。对于偏置,通常可以将其初始化为0或者较小的随机数。然而,对于权重w的初始化,我们通常会采用更加复杂的方法,以确保网络能够更好地学习数据的特征。我们先给机器一个架构,如下图的两个隐藏层,还有这些神经元,还有给定激活函数,让机器去找w 的取值!这个模块提供了多种预定义的初始化方法,用户可以根据需要选择合适的方法来初始化网络参数。在PyTorch中,一般我们在构建网络模型时,每个网络层的参数都有默认的初始化方法,如果需要自定义参数的初始化,可以使用。

2024-04-27 09:28:35 526 10

原创 神经网络的激活函数

然而,它也存在梯度消失的问题,这意味着在训练过程中,当输入值非常大或非常小的时候,梯度几乎为零,这会导致权重更新变得非常缓慢,从而影响网络的学习效率。Softmax 直白来说就是将网络输出的 logits 通过 softmax 函数,就映射成为(0,1)的值,而这些值的累和为1(满足概率的性质),那么我们将它理解成概率,选取概率最大(也就是值对应最大的)节点,作为我们的预测目标类别。假设有一个单层的神经网络,其输入为𝑥x,权重为𝑤w,偏置为𝑏b,那么该层的输出𝑦y可以表示为:𝑦=𝑤⋅𝑥+𝑏y=w⋅x+b。

2024-04-26 23:16:24 931 23

原创 Pytorch实现线性回归模型

我们接下来使用Pytorch的API来手动构建一个线性回归的假设函数损失函数及优化方法,熟悉一下训练模型的流程。🧨我们将这批数据每次分成16份训练,并且这样重复训练epochs次,可以更深入地学习数据中的特征和模式,有助于防止模型快速陷入局部最优解,从而提高模型的泛化能力,而且。由于每个批次的数据都是随机抽取的。方法被调用时,PyTorch 会自动计算该张量相对于所有需要梯度的参数的梯度,并将这些梯度累加到对应参数的。是简单函数还是复杂的损失函数,都能利用相同的方法来进行梯度的反向传播。

2024-04-21 16:29:42 1659 16

原创 Pytorch-自动微分模块

🥇接下来我们进入到Pytorch的自动微分模块自动微分模块是PyTorch中用于。PyTorch通过其模块提供了自动微分的功能,这对于深度学习和优化问题至关重要,因为它可以自动计算梯度,无需手动编写求导代码。以下是backward()backward().grad。

2024-04-19 15:54:40 1840 29

原创 LLM-AI大模型介绍

🥂让我们通过一些具体的例子来理解语言模型如何计算句子的概率,并判断一句话是否符合自然语言的语用习惯。假设有一个非常简单的语言模型,它基于词频来计算句子的概率。这个模型会统计每个单词在大量文本中出现的次数,然后用这些频率来估计概率。例如,如果单词 "the" 在训练集中出现了非常多次,那么 P(the) 就会很高。对于句子 "The quick brown fox jumps over the lazy dog," 模型会计算每个单词的概率,并将它们相乘得到整个句子的概率 P(S)。

2024-04-17 09:33:39 1327 17

原创 Pytorch-张量形状操作

在 PyTorch 中,有些张量是由不同的数据块组成的,它们并没有存储在整块的内存中,view 函数无法对这样的张量进行变形处理,如果张量存储在不连续的内存中,使用view函数会导致错误。💎reshape 函数可以在保证张量数据不变的前提下改变数据的维度,将其转换成指定的形状,在后面的神经网络学习时,会经常使用该函数来调节数据的形状,以适配不同网络层之间的数据传递。当第二个参数为-1时,表示自动计算该维度的大小,以使得张量的元素总数不变,这样我们可以免去思考的时间。

2024-04-16 16:00:04 1317 15

原创 Pytorch - 张量转换拼接

比如在处理图像数据或者文本数据的时候,我们经常需要把二维的数据转换为三维的,这时候就可以使用。张量索引操作是处理多维数据的基础,它不仅能够让我们访问和修改数据,还能够帮助我们实现各种复杂的数据操作和算法。不会增加张量的总维度数量,它仅仅是在一个指定的维度上扩展了张量的大小。时,输入的张量必须在除了拼接维度外的所有其他维度上具有相同的大小。这表明在新的维度上,张量的个数是2,其它两个维度的大小保持不变。,这里的4表示在指定的维度上,元素的数量从原来的2个扩展到了4个。的二维张量A和B,我们可以通过指定。

2024-04-15 21:54:26 7191 26

原创 如何使用Docker部署WPS Office服务并实现无公网IP远程处理文档表格

使用上面的Cpolar http公网地址,在任意设备的浏览器进行访问,即可成功看到wps office界面,这样一个公网地址且可以远程访问就创建好了,使用了cpolar的公网域名,无需自己购买云服务器,即可发布到公网进行远程访问!隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,因为我们设置的是3000端口,该端口是http访问端口,所以我们只需要关注http公网地址即可.这种随机地址的优势在于建立速度快,可以立即使用。

2024-04-15 15:23:18 1147 11

原创 Pytorch-张量基础操作

😆😆😆我们先来看一下张量的介绍😆😆😆。

2024-03-23 13:17:45 1283 7

原创 PyTorch-张量

📀PyTorch是一个开源的深度学习框架,由Facebook的人工智能研究团队开发,专为深度学习研究和开发而设计。PyTorch 中的张量就是元素为同一种数据类型的多维矩阵。在 PyTorch 中,张量以 "类" 的形式封装起来,对张量的一些运算、处理的方法被封装在类中。

2024-03-22 13:24:59 1247 8

原创 文本处理基本方法

在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符。命名实体识别(Named Entity Recognition, NER)是自然语言处理(NLP)中的一项基础任务,它的目标是从文本中识别出具有特定意义的实体,并将这些实体分类到预定义的类别。词性: 语言中对词的一种分类方法,以语法特征为主要依据、兼顾词汇意义对词进行划分的结果, 常见的词性有14种, 如: 名词, 动词, 形容词等。

2024-03-21 09:32:26 1004 7

原创 AI - 机器学习GBDT算法

GBDT属于Boosting方法的一种,这种方法会顺序构建一系列弱学习器(通常是决策树),每个后续模型都侧重于纠正前一个模型的错误。首先定义了一个参数网格(param_grid),包含了三个超参数:max_depth(树的最大深度)、n_estimators(弱学习器的数量)和eta(学习率)。负梯度是GBDT中用来指导模型优化的方向,它根据当前模型的损失函数来计算,并通过拟合这些负梯度来训练新的决策树,从而逐步提升模型的性能。是一个用于数据分割的参数,它指定了交叉验证的策略。

2024-03-20 09:16:57 1603 25

原创 AI - 集成学习

并且可以使用交叉验证等技术来选择最优的模型,根据性能评估的结果,可以调整集成学习器的参数,如基学习器的数量、投票策略等,以优化其性能。💎集成学习是机器学习中的一种思想,它通过多个模型的组合形成一个精度更高的模型,参与组合的模型成为弱学习器(基学习器)。基学习器是可使用不同的学习模型,比如:支持向量机、神经网络、决策树整合到一起作为一个集成学习系统也可使用相同的学习模型,一般情况下,更使用相同的学习模型。随机森林的随机性体现在每棵树的训练样本是随机的,树中每个节点的分裂属性也是随机选择的。

2024-03-19 09:10:47 1303 16

原创 Python进程与线程开发

另外,进程间的通信实现也不方便。在加锁的情况下,程序就变成了串行,也就是单线程,而有时,我们在不用考虑数据安全时,不用加锁,程序就变成了并行,也就是多线程。程序是通过threading模块下的Thread的类,去实例化一个此对象,并调用方法,实现生成多线程,target参数表示线程需要执行的方法,通过对象的start的方法,开启线程。GIL本质是一把互斥锁,但GIL锁住的是解释器级别的数据,同步锁,锁的是解释器以外的共享资源,例如:硬盘上的文件 控制台,对于这种不属于解释器的数据资源就应该自己加锁处理。

2024-03-18 14:47:37 1092 5

原创 AI - 聚类算法

通过计算不同k值下的簇内误差平方和(SSE),并绘制成图,可以找到曲线的“肘部”,即最佳的k值。其中,( C_{i} ) 是第 ( i ) 个簇,( p ) 是 ( C_{i} ) 中的样本点,( m_{i} ) 是 ( C_{i} ) 的质心(即 ( C_{i} ) 中所有样本的均值)对于簇中的每个点,首先计算该点到同簇其他点的平均距离(称为a),然后计算该点到最近簇(非本簇)中所有点的平均距离(称为b)。在实际项目中,可以通过交叉验证等方法来验证不同k值下模型的性能,从而选择合适的k值。

2024-03-18 13:04:46 1121 20

原创 AI - 支持向量机算法

相反,如果C设置得过小,模型可能会欠拟合,即对训练数据的分类错误过多,这也会影响模型在新数据上的性能。yi​ 是样本的标签,omega 和 b 分别是模型的权重和偏置项,xi​ 是第 i 个样本的特征向量。SVM的核心思想是找到一个超平面,这个超平面能够最好地将数据分为两类,即在保证分类准确的情况下,使得两个类别的数据到超平面的最小距离(即间隔)最大。SVM的损失函数通常指的是合页损失函数(Hinge Loss),它是一种变种损失函数,用于最大间隔分类。在实际的应用中,选择合适的C值是非常重要的。

2024-03-17 09:11:21 1848 21

原创 AI -朴素贝叶斯

其中,( P(A_j|B_k) ) 是在类别 ( B_k ) 的条件下特征 ( A_j ) 出现的概率,( count(A_j, B_k) ) 是训练集中特征 ( A_j ) 在类别 ( B_k ) 中出现的次数,( sum(count(A_j, B_k)) ) 是所有特征在类别 ( B_k ) 中出现的总次数,而 ( K ) 是类别的总数。其中,( P(A|B) ) 是在事件B发生的条件下事件A发生的概率,即后验概率;( P(B|A) ) 是在事件A发生的条件下事件B发生的概率,即似然概率;

2024-03-16 21:36:20 899 3

原创 AI - 决策树模型

基尼系数衡量的是数据集的不纯度,基尼系数越小,表示数据越纯,即分类越明确。CART剪枝算法从“完全生长”的决策树的底端剪去一些子树,使决策树变小,从而能够对未知数据有更准确的预测,也就是说CART使用的是后剪枝法。一般分为两步:先生成决策树,产生所有可能的剪枝后的CART树,然后使用交叉验证来检验各种剪枝的效果,最后选择泛化能力好的剪枝策略。ID3 树是基于信息增益构建的决策树,算法的核心在于使用信息增益作为属性选择的标准,即在每个节点选择尚未被用来划分的、具有最高信息增益的属性作为划分标准。

2024-03-16 15:13:26 1194 9

原创 计算机网络基础

现在的生活离不开网络,例如手机,电脑,平板,都是网络的代名词,通过一些APP,浏览器,获取大量的信息如文字、声音、视频,这都是从网络的某个地址存在的或者是网络的另一端某个用户通过设备共享的,网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系,像我们平常办理宽带与手机办卡上网,都是通过向某一服务商缴费注册连上他们的设备,下载相应的聊天软件和浏览器就可以上网与他人交流、获取资源、浏览一些网络信息。

2024-03-15 14:49:49 1048 9

原创 AI-逻辑回归模型

AUC的取值范围在0.5到1之间,其中0.5表示模型没有区分能力,而1表示模型具有完美的分类能力。其中,( y_i ) 是样本的真实标签(0或1),( p_i ) 是模型预测该样本为正例的概率,N是样本数量。当模型预测的概率与真实标签一致时,损失函数的值会很小;会在计算损失函数时自动为每个类分配权重,使得较少出现的类别(少数类)获得更高的权重,以此来平衡各类别之间的样本数量差异。这样做有助于改善模型对少数类的识别能力,特别是在数据集中某些类的样本数量远少于其他类时,这种权重调整可以防止模型偏向于多数类。

2024-03-15 09:21:43 1879 15

原创 爬虫的去重

在爬取网页数据时,避免对同一URL发起重复的请求,这样可以减少不必要的网络流量和服务器压力,提高爬虫的效率,在将爬取到的数据存储到数据库或其他存储系统之前,去除重复的数据条目,确保数据的唯一性和准确性。临时去重容器指如利用list、set等编程语言的数据结构存储去重数据,一旦程序关闭或重启后,去重容器中的数据就被回收了。根据给定的判断依据和给定的去重容器,将原始数据逐一进行判断,判断去重容器中是否有该数据。:在网络安全领域,布隆过滤器可以用作WEB拦截器,快速检查并拦截重复的恶意请求,防止网站被重复攻击。

2024-03-14 15:12:34 1513 3

原创 AI-线性回归模型

线性回归模型的预测公式可以表示为 y = θ0 + θ1x1 + θ2x2 +... + θnxn,其中 θj 是模型参数,包括偏置项 θ0 和特征权重 θ1, θ2,..., θn。在每一步迭代中,都沿着当前点的梯度(即损失函数在该点的导数)方向移动一定的步长,以此来减小损失函数的值。用来衡量机器学习模型性能的函数,损失函数可以计算预测值与真实值之间的误差(用一个实数来表示),误差越小说明模型性能越好。但是用来衡量回归损失的时候, 不能简单的将每个点的预测误差相加。SGDRegressor学习率。

2024-03-14 13:21:30 1708 15

原创 游戏数据处理

当激活且登录率较低时,想到的是玩家在登录环节是否遇到了困难,主要排查客户端问题,以及是否有服务器维护,如果游戏登录环节没有异常,则该指标能说明玩家对该游戏的兴趣程度。大多数游戏公司在游戏封测期间为了限制用户数量,都会进行限量测试,对用户数量进行把控的主要方式就是发放激活码,激活码的激活且登录率反映实际进入游戏的用户数量。游戏封测主要有两种形式,为发放激活码测试和不发放激活码测试,由于发放激活码测试针对的用户群体更偏向核心用户,一般来说,其留存率高于非激活码测试。

2024-03-13 23:07:39 1152 8

原创 K 近邻算法

其基本思想是:给定一个训练数据集,对于新的输入实例,在训练数据集中找到与该实例最邻近的K个实例,这K个实例的多数属于某个类别,则该输入实例也属于这个类别。分层类别分割: Counter({2: 40, 0: 40, 1: 40}) Counter({2: 10, 1: 10, 0: 10})随机类别分割: Counter({1: 41, 0: 40, 2: 39}) Counter({2: 11, 0: 10, 1: 9})K近邻是机器学习算法中理论最简单,最好理解的算法,虽然算法简单,但效果也不错。

2024-03-13 13:50:41 1058 20

原创 评论文本挖掘

评论文本挖掘(Review Text Mining)是一种自然语言处理(NLP)技术,用于从在线评论、社交媒体帖子和其他文本数据中提取有用信息。这种技术可以帮助企业和研究人员了解消费者对产品、服务和品牌的看法,从而为市场营销策略、产品开发和客户服务提供有价值的见解。评论文本挖掘的主要步骤:数据收集:从各种在线平台(如亚马逊、Yelp、Twitter等)收集评论数据。这些数据可以是结构化的(如评分、标签等)或非结构化的(如文本评论)。

2024-03-12 21:19:10 948 8

原创 网络请求与数据解析

IP代理:假如一个网站它会检测某一段时间某个IP的访问次数,如果访问次数过多,它会禁止你的访问。urllib是Python自带的标准库中用于网络请求的库 ,无需安装,直接引用即可。urllib.error.URLError :用于捕获由urllib.request产生的异常,使用reason属性返回错误原因。data:默认值为None,urllib判断参数data是否为None从而区分请求方式。Requests 是Python一个很实用的HTTP客户端,完全满足如今网络爬虫的需求。异常处理主要用到两大类。

2024-03-12 13:56:42 948 13

原创 目标检测算法

假设有10个类别,输出[p1,p2,p3,...,p10],然后输出这一个对象的四个位置信息[x,y,w,h]。对于输出的位置信息是四个比较大的像素大小值,在回归的时候不适合。目前统一的做法是,每个位置除以图片本身像素大小。输入一张图片,经过其中卷积、激活、池化相关层,最后加入全连接层达到分类概率的效果。目标检测中能检测出来的物体取决于当前任务(数据集)需要检测的物体有哪些。(x,y,w,h)有一个专业的名词,叫做bounding box。在训练的时候需要计算每个样本的损失,那么CNN做分类的时候使用。

2024-03-11 22:56:25 721 3

原创 YOLO算法

YOLO,全称为You Only Look Once: Unified, Real-Time Object Detection,是一种实时目标检测算法。目标检测是计算机视觉领域的一个重要任务,它不仅需要识别图像中的物体类别,还需要确定它们的位置。与分类任务只关注对象是什么不同,目标检测需要同时处理离散的类别数据和连续的位置数据。YOLO算法基于深度学习的回归方法,它将目标检测问题转化为一个回归问题,使用单个卷积神经网络(CNN)直接从输入图像预测边界框(bounding box)和类别概率。

2024-03-01 18:51:20 3153 1

原创 OpenCV算法库

numba是一个用于编译Python数组和数值计算函数的编译器,这个编译器能够大幅提高直接使用Python编写的函数的运算速度。Numba是一个将面向数组和使用大量数学的python代码优化到与c,c++和Fortran类似的性能,而无需改变Python的解释器。

2024-02-28 10:11:47 1334 2

原创 如何实现固定公网地址远程访问内网Wagtail管理界面

Wagtail是一个用Python编写的开源CMS,建立在Django Web框架上。Wagtail是一个基于Django的开源内容管理系统,拥有强大的社区和商业支持。它专注于用户体验,并为设计人员和开发人员提供精确控制。它能快速实现页面的表达,对于我这种对新实现的功能想要找到地方进行展示,但前端能力又不太行的同学基于django 一直会对django的稳定版本进行支持Wagtail由开发人员为开发人员构建。

2024-02-26 17:53:51 1166 2

原创 DFS算法及应用

搜索算法:穷举问题解空间所有情况深度优先搜索:既暴力枚举,尽可能一条路走到底,走不了再回退给定一个数字x,将其拆分成3个正整数,后一个要求大于等于前一个,给出方案.就需要实现n重循环n重循环=特定的树状结构=DFS搜索给定一个数字x=6,将其拆分成3个正整数,后一个要求大于等于前一个,给出方案。

2024-02-23 11:48:00 1165

原创 如何使用iPad Pro结合内网穿透实现公网地址远程访问vscode写代码

浏览器访问http://127.0.0.1:9200/登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到刚才创建的code隧道,点击右侧的编辑。由于前面我们创建的ssh端口的隧道选择的是随机临时地址,该地址会在24小时内变化,为了使我们ipad里面使用vscode远程连接更加通畅,我们需要固定ssh的公网地址。提示更新隧道成功,点击左侧仪表盘的状态——在线隧道列表,可以看到刚刚修改的隧道的公网地址已经更新为固定TCP端口地址,将其复制下来。iPad Pro秒变生产力!

2024-02-22 17:53:27 848 5

原创 Docker技术仓库

Docker Compose 是 Docker 的官方工具,它允许用户通过编写一个 YAML 文件来配置应用服务。这个配置文件可以定义服务的启动顺序、网络设置、挂载的卷以及其他与服务相关的选项。

2024-02-21 09:45:14 1287

原创 OpenCV边缘检测与视频读写

而原图像是uint8,即8位无符号数,所以Sobel建立的图像位数不够,会有截断。Sobel边缘检测算法比较简单,实际应用中效率比canny边缘检测效率要高,但是边缘不如Canny检测的准确,但是很多实际应用的场合,sobel边缘却是首选,Sobel算子是高斯平滑与微分操作的结合体,所以其抗噪声能力很强,用途较多。调用cv.imshow()显示图像,在显示图像时使用cv.waitkey()设置适当的持续时间,如果太低视频会播放的非常快,如果太高就会播放的非常慢,通常情况下我们设置25ms就可以了。

2024-02-20 18:41:39 1229 2

原创 如何在IDEA中使用固定公网地址SSH远程连接服务器开发环境

要注意的是,以上步骤使用的是随机临时tcp端口地址,所生成的公网地址为随机临时地址,该公网地址24小时内会随机变化。可以看到,成功打开了服务器的开发环境,接下来我们就可以使用Linux服务器环境进行开发了,本地连接测试完成,为了方便下面公网连接,这个本地连接可以先关闭,下面进行在Linux安装cpolar内网穿透工具.创建成功后,打开左侧在线隧道列表,查看刚刚创建隧道后生成的tcp地址,这个地址就是公网连接地址,接下来使用该地址在IDEA中使用进行远程连接。这种随机地址的优势在于建立速度快,可以立即使用。

2024-02-19 20:51:16 1385 8

原创 Docker核心技术

容器(Container):容器是一种轻量级、可移植、并将应用程序进行的打包的技术,使应用程序可以在几乎任何地方以相同的方式运行。

2024-02-18 10:15:55 2087 2

原创 Docker介绍

Docker提供了在一个完全隔离的环境中打包和运行应用程序的能力,这个隔离的环境被称为容器。由于容器的隔离性和安全性,因此可以在一个主机(宿主机)上同时运行多个相互隔离的容器,互不干预。Docker能够将应用程序与基础架构分开,以便快速交付软件。Docker Engine是一个包含以下组件的客户端-服务端(C/S)应用程序Docker客户端(Docker Client)Docker服务端(Docker Server)Docker 对象。

2024-02-17 19:19:25 2275 3

原创 OpenCV基础

OpenCV是一个功能强大的,它在图像处理和视频分析领域得到了广泛应用。OpenCV最初由英特尔公司于1999年发起并支持,后来由Willow Garage和Itseez(现在是Intel的一部分)维护。它是为了推动机器视觉领域的实时应用而开发的。OpenCV提供了丰富的算法,包括但不限于图像处理、物体和特征检测、物体识别、3D重建等。这些算法经过优化,可以在多种硬件平台上高效运行。OpenCV被广泛应用于面部识别、物体识别、运动跟踪、机器人视觉以及许多其他的计算机视觉应用中。

2024-02-10 16:12:16 1234

原创 XGBoost算法

XGBoost在机器学习中被广泛应用于多种场景,特别是在结构化数据的处理上表现出色,XGBoost适用于多种监督学习任务,包括分类、回归和排名问题。:XGBoost的基本思想是通过添加一系列弱学习器(通常是CART回归树)来逐步减少目标函数的残差(模型预测值与实际值之间的差异),从而提升模型的性能。:XGBoost提供了多种编程语言的接口,包括Python、R、Java等,方便用户在不同的环境中使用。:XGBoost在许多机器学习竞赛和实际应用中表现出卓越的性能,尤其在结构化数据上的表现尤为突出。

2024-02-08 13:31:03 1550 1

原创 AdaBoost算法

AdaBoost的核心思想是通过对错误分类的样本增加权重,使得后续的弱分类器更加关注这些难以分类的样本。通过加权投票的方式,将多个弱分类器的预测结果组合起来,形成一个强分类器。

2024-02-07 13:11:01 1166

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除