- 博客(156)
- 资源 (1)
- 收藏
- 关注
原创 神经网络基础-价格分类案例
所谓的训练函数,指的是输入数据读取、送入网络、计算损失、更新参数的流程,该流程较为固定。我们使用的是多分类交叉生损失函数、使用 SGD 优化方法。该数据为二手手机的各个性能的数据,最后根据这些性能得到4个价格区间,作为这些二手手机售出的价格区间。需要注意的是: 在这个问题中,我们不需要预测实际价格,而是一个价格范围,它的范围使用 0、1、2、3 来表示,所以该问题也是一个分类问题。我们可以使用机器学习的方法来解决这个问题,也可以构建一个全连接的网络。使用训练好的模型,对未知的样本的进行预测的过程。
2025-01-16 16:09:02
751
原创 神经网络基础-正则化方法
在设计机器学习算法时希望在新样本上的泛化能力强。许多机器学习算法都采用相关的策略来减小测试误差,这些策略被统称为正则化。神经网络的强大的表示能力经常遇到过拟合,所以需要使用不同形式的正则化策略。目前在深度学习中使用较多的策略有范数惩罚DropOut特殊的网络层等,接下来我们对其进行详细的介绍。
2025-01-16 16:06:58
732
原创 神经网络基础-网络优化方法
梯度下降法是一种寻找使损失函数最小化的方法。从数学上的角度来看,梯度的方向是函数增长速度最快的方向,那么梯度的反方向就是函数减少最快的方向,所以有:其中,η是学习率,如果学习率太小,那么每次训练之后得到的效果都太小,增大训练的时间成本。如果,学习率太大,那就有可能直接跳过最优解,进入无限的训练中。解决的方法就是,学习率也需要随着训练的进行而变化。前向传播:指的是数据输入的神经网络中,逐层向前传输,一直到运算到输出层为止。
2025-01-11 16:06:54
1120
原创 机器学习(三)-多项式线性回归
我们发现如果把人口数量当成自变量X,把房价当成因变量Y,此时,y与 X 并不是呈现简单线性关系,我们无法用一条直线来拟合真实的数据。但是我们发现 y 与 x 呈现一种二次函数的关系,那我们就可以使用一个二次多项式函数的关系表达人口与房价的关系。红色的点表示每个地区的实际人口与房价的对应关系。可以看到,拟合的二次多项式在测试集上的表现是相当不错了,说明我们训练的线性模型有很好的应用效果。可以很好的看到拟合的二次多项式可以很好的表示原始数据的人口和房价的走势。x 轴是人口数量,y轴是房价。
2024-12-22 20:25:27
661
原创 机器学习(二)-简单线性回归
从图中我们可以看出预测值与真实值之间存在误差,那么我们引入机器学习中的一个概念均方误差,它表示的是这些差值的平方和的平均数。在机器学习和统计学中,简单线性回归是一种基础而强大的工具,用于建立自变量与因变量之间的关系。可以看到,拟合的直线在测试集上的表现是相当不错了,说明我们训练的线性模型有很好的应用效果。可以很好的看到拟合的直线可以很好的表示原始数据的人口和房价的走势。我们的目标是求 w0和w1的值,来找到一条跟预测值相关的直线。w1是斜率(自变量变化一个单位时,因变量的变化量)。
2024-12-22 18:42:12
1195
原创 神经网络基础-损失函数
在深度学习中,损失函数是用来衡量模型参数质量的函数、衡量的方式是比较网络输出和真实输出的差异:损失函数在不同的文献中名称是不一样的,主要有以下几种命名方式:在多分类任务通常使用softmax将logits转换为概率的形式,所以多分类的交叉熵损失也叫做softmax损失,它的计算方法是:其中:上图中的交叉熵损失为:从概率角度理解,我们的目的是最小化正确类别所对应的预测概率的对数的负值(损失值最小),如下图所示:在pytorch中使用实现,如下所示:输出结果:2.3. 二分类任务损失函数在处理二
2024-12-16 19:07:25
1268
原创 机器学习(一)-数据预处理
常见的缺失值补全方法:平均值和中位数。平均值是对整体很好的估计,而中位数是对整体中心很好的估计。如果数据特征分布比较稳定,平均值的效率会更高。中位数的稳定更好,能避免异常数值的影响。由于样本数据分布正常,这里使用平均值插值处理。对于字符串特征,我们需要把类别转换成数值,简单的做法是直接转换为数字。如:France=0,Korea=1,Germany=2。这种做法由于数字是连续的容易给机器学习一个误导。因此处理类别特征常用的方法是。定义:将原数据转换为符合均值为0,标准差为1的标准正太分布的数据。
2024-12-15 16:44:24
478
原创 神经网络基础-神经网络搭建和参数计算
神经网络的输入数据是为[batch_size, in_features]的张量经过网络处理后获取了[batch_size, out_features]的输出张量。在 pytorch 中定义深度神经网络其实就是层堆叠的过程,继承自。
2024-12-13 18:18:57
1212
原创 神经网络基础-参数初始化
均匀分布的 xavier 初始化:[-limit,limit] 中的均匀分布中抽取样本, limit 是 sqrt(6 / (fan_in + fan_out))。一般我们在使用 PyTorch 构建网络模型时,每个网络层的参数都有默认的初始化方法,优先选择 kaming 的初始化,xavier 初始化方式。均匀分布的 HE 初始化:它从 [-limit,limit] 中的均匀分布中抽取样本, limit是 sqrt(6 / fan_in)的高斯分布中取样,使用一些很小的值对参数W进行初始化。
2024-12-13 16:03:30
941
原创 神经网络基础-激活函数
激活函数用于对每层的输出数据进行变换, 进而为整个网络注入了非线性因素。此时, 神经网络就可以拟合各种曲线。没有引入非线性因素的网络等价于使用一个线性模型来拟合。通过给网络输出增加激活函数, 实现引入非线性因素, 使得网络模型可以逼近任意函数, 提升网络对复杂问题的拟合能力。如果不使用激活函数,整个网络虽然看起来复杂,其本质还相当于一种线性模型,如下公式所示:sigmoidtanhReLUSoftMax。
2024-12-13 11:39:19
1072
原创 神经网络基础-初识神经网络
这个过程就像,来源不同树突(树突都会有不同的权重)的信息, 进行的加权计算, 输入到细胞中做加和,再通过激活函数输出细胞值。神经网络中信息只向一个方向移动,即从输入节点向前移动,通过隐藏节点,再向输出节点移动。当电信号通过树突进入到细胞核时,会逐渐聚集电荷。达到一定的电位后,细胞就会被激活,通过轴突发出电信号。)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的。各个神经元传递复杂的电信号,树突接收到。人脑可以看做是一个生物神经网络,由众多的。,然后对信号进行处理,通过轴突。
2024-12-13 11:21:43
590
原创 PyTorch基本使用-线性回归案例
我们使用 PyTorch 的各个组件来构建线性回归的实现。学习目标:掌握PyTorch构建线性回归模型相关API。
2024-12-11 18:12:29
498
原创 PyTorch基本使用-自动微分模块
训练神经网络时,最常用的算法就是反向传播。在该算法中,参数(模型权重)会根据损失函数关于对应参数的梯度进行调整。为了计算这些梯度,PyTorch 内置了名为。接下来我们使用这个结构进行自动微分模块的介绍。我们使用 backward 方法、grad 属性来实现梯度的计算和访问。学习目的:掌握自动微分模块的使用。当X为多维张量时梯度计算。当X为标量时梯度的计算。
2024-12-10 17:35:49
645
原创 PyTorch基本使用-张量的拼接操作
torch.cat()函数可以将两个张量根据指定的维度拼接起来,不改变维度数。学习目标:掌握torch.cat()使用。
2024-12-09 18:22:53
212
原创 PyTorch基本使用-张量的形状操作
transpose 函数可以实现交换张量形状的指定维度, 例如: 一个张量的形状为 (2, 3, 4) 可以通过 transpose 函数把 3 和 4。块组成的,它们并没有存储在整块的内存中,view 函数无法对这样的张量进行变形处理,例如: 一个张量经过了。squeeze 函数删除形状为 1 的维度(降维),unsqueeze 函数添加形状为1的维度(升维)。学习目标:掌握reshape()、squeze()、unsqueeze()、transpose()permute 函数可以一次交换更多的维度。
2024-12-09 18:11:24
856
原创 PyTorch基本使用-张量转换
使用torch.tensor()可以将ndarray数组转换为Tensor,不共享内存。函数可以将张量转换为ndarray数组,但是共享内存,可以使用。可以将ndarray数组转换为Tensor,共享内存。对于只有一个元素的张量,使用。函数将该值从张量中提取出来。
2024-12-08 17:55:00
680
原创 梯度下降就函数最小值
应用Python编程实现梯度下降发求解下面函数的最小值,并使用 matplotlib、mpl_toolkits库画出函数的图形。
2024-11-25 19:15:42
895
原创 利用LlamaIndex构建ARG本地知识库
在现代的人工智能应用中,如何有效地管理和检索数据是一个重要的课题。LlamaIndex 提供了一种灵活的数据框架,使开发者能够轻松地构建和管理与大型语言模型(LLM)相关的应用。在本文中,我们将深入探讨如何使用 LlamaIndex 创建和检索知识库索引。,并下载大模型,比如:Llama 3、 Phi 3、 Mistral、Gemma、qwen等。为了测试方便,我们选用速度更快、效果较好的。
2024-09-15 15:41:19
960
原创 图数据库 neo4j 安装
访问地址:http://localhost:7474/browser/这里下载5.20.0版本的。下载对应版本的apoc。
2024-09-15 11:05:59
756
1
原创 elasticsearch8.x搭建
浏览器打开kibana,输入上面的token,再输入校验码,最后输入。停止后重启elasticsearch。启动 elasticsearch。就是kibana的校验码。完成后重启 kibana。启动成功后在控制会出现。账号的密码,完成登陆。
2024-05-06 21:22:18
392
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人