机器学习
文章平均质量分 75
dwjf321
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
神经网络基础-网络优化方法
梯度下降法是一种寻找使损失函数最小化的方法。从数学上的角度来看,梯度的方向是函数增长速度最快的方向,那么梯度的反方向就是函数减少最快的方向,所以有:其中,η是学习率,如果学习率太小,那么每次训练之后得到的效果都太小,增大训练的时间成本。如果,学习率太大,那就有可能直接跳过最优解,进入无限的训练中。解决的方法就是,学习率也需要随着训练的进行而变化。前向传播:指的是数据输入的神经网络中,逐层向前传输,一直到运算到输出层为止。原创 2025-01-11 16:06:54 · 1316 阅读 · 0 评论 -
机器学习(四)-回归模型评估指标
线性回归评估指标原创 2024-12-22 21:39:14 · 638 阅读 · 0 评论 -
机器学习(三)-多项式线性回归
我们发现如果把人口数量当成自变量X,把房价当成因变量Y,此时,y与 X 并不是呈现简单线性关系,我们无法用一条直线来拟合真实的数据。但是我们发现 y 与 x 呈现一种二次函数的关系,那我们就可以使用一个二次多项式函数的关系表达人口与房价的关系。红色的点表示每个地区的实际人口与房价的对应关系。可以看到,拟合的二次多项式在测试集上的表现是相当不错了,说明我们训练的线性模型有很好的应用效果。可以很好的看到拟合的二次多项式可以很好的表示原始数据的人口和房价的走势。x 轴是人口数量,y轴是房价。原创 2024-12-22 20:25:27 · 736 阅读 · 0 评论 -
机器学习(二)-简单线性回归
从图中我们可以看出预测值与真实值之间存在误差,那么我们引入机器学习中的一个概念均方误差,它表示的是这些差值的平方和的平均数。在机器学习和统计学中,简单线性回归是一种基础而强大的工具,用于建立自变量与因变量之间的关系。可以看到,拟合的直线在测试集上的表现是相当不错了,说明我们训练的线性模型有很好的应用效果。可以很好的看到拟合的直线可以很好的表示原始数据的人口和房价的走势。我们的目标是求 w0和w1的值,来找到一条跟预测值相关的直线。w1是斜率(自变量变化一个单位时,因变量的变化量)。原创 2024-12-22 18:42:12 · 1290 阅读 · 0 评论 -
神经网络基础-损失函数
在深度学习中,损失函数是用来衡量模型参数质量的函数、衡量的方式是比较网络输出和真实输出的差异:损失函数在不同的文献中名称是不一样的,主要有以下几种命名方式:在多分类任务通常使用softmax将logits转换为概率的形式,所以多分类的交叉熵损失也叫做softmax损失,它的计算方法是:其中:上图中的交叉熵损失为:从概率角度理解,我们的目的是最小化正确类别所对应的预测概率的对数的负值(损失值最小),如下图所示:在pytorch中使用实现,如下所示:输出结果:2.3. 二分类任务损失函数在处理二原创 2024-12-16 19:07:25 · 1406 阅读 · 0 评论 -
机器学习(一)-数据预处理
常见的缺失值补全方法:平均值和中位数。平均值是对整体很好的估计,而中位数是对整体中心很好的估计。如果数据特征分布比较稳定,平均值的效率会更高。中位数的稳定更好,能避免异常数值的影响。由于样本数据分布正常,这里使用平均值插值处理。对于字符串特征,我们需要把类别转换成数值,简单的做法是直接转换为数字。如:France=0,Korea=1,Germany=2。这种做法由于数字是连续的容易给机器学习一个误导。因此处理类别特征常用的方法是。定义:将原数据转换为符合均值为0,标准差为1的标准正太分布的数据。原创 2024-12-15 16:44:24 · 522 阅读 · 0 评论 -
神经网络基础-参数初始化
均匀分布的 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 · 1027 阅读 · 0 评论 -
神经网络基础-激活函数
激活函数用于对每层的输出数据进行变换, 进而为整个网络注入了非线性因素。此时, 神经网络就可以拟合各种曲线。没有引入非线性因素的网络等价于使用一个线性模型来拟合。通过给网络输出增加激活函数, 实现引入非线性因素, 使得网络模型可以逼近任意函数, 提升网络对复杂问题的拟合能力。如果不使用激活函数,整个网络虽然看起来复杂,其本质还相当于一种线性模型,如下公式所示:sigmoidtanhReLUSoftMax。原创 2024-12-13 11:39:19 · 1288 阅读 · 0 评论 -
神经网络基础-初识神经网络
这个过程就像,来源不同树突(树突都会有不同的权重)的信息, 进行的加权计算, 输入到细胞中做加和,再通过激活函数输出细胞值。神经网络中信息只向一个方向移动,即从输入节点向前移动,通过隐藏节点,再向输出节点移动。当电信号通过树突进入到细胞核时,会逐渐聚集电荷。达到一定的电位后,细胞就会被激活,通过轴突发出电信号。)也简称为神经网络(NN),是一种模仿生物神经网络结构和功能的。各个神经元传递复杂的电信号,树突接收到。人脑可以看做是一个生物神经网络,由众多的。,然后对信号进行处理,通过轴突。原创 2024-12-13 11:21:43 · 638 阅读 · 0 评论 -
PyTorch基本使用-线性回归案例
我们使用 PyTorch 的各个组件来构建线性回归的实现。学习目标:掌握PyTorch构建线性回归模型相关API。原创 2024-12-11 18:12:29 · 546 阅读 · 0 评论 -
PyTorch基本使用-自动微分模块
训练神经网络时,最常用的算法就是反向传播。在该算法中,参数(模型权重)会根据损失函数关于对应参数的梯度进行调整。为了计算这些梯度,PyTorch 内置了名为。接下来我们使用这个结构进行自动微分模块的介绍。我们使用 backward 方法、grad 属性来实现梯度的计算和访问。学习目的:掌握自动微分模块的使用。当X为多维张量时梯度计算。当X为标量时梯度的计算。原创 2024-12-10 17:35:49 · 745 阅读 · 0 评论 -
PyTorch基本使用-张量的形状操作
transpose 函数可以实现交换张量形状的指定维度, 例如: 一个张量的形状为 (2, 3, 4) 可以通过 transpose 函数把 3 和 4。块组成的,它们并没有存储在整块的内存中,view 函数无法对这样的张量进行变形处理,例如: 一个张量经过了。squeeze 函数删除形状为 1 的维度(降维),unsqueeze 函数添加形状为1的维度(升维)。学习目标:掌握reshape()、squeze()、unsqueeze()、transpose()permute 函数可以一次交换更多的维度。原创 2024-12-09 18:11:24 · 983 阅读 · 0 评论 -
PyTorch基本使用-张量的索引操作
在操作张量时,经常要去获取某些元素进行处理或者修改操作,在这里需要了解torch中的索引操作。原创 2024-12-08 20:29:37 · 763 阅读 · 0 评论 -
PyTorch基本使用-张量的基本运算及函数计算
张量的基本运算及函数原创 2024-12-08 18:23:07 · 664 阅读 · 0 评论 -
PyTorch基本使用-张量转换
使用torch.tensor()可以将ndarray数组转换为Tensor,不共享内存。函数可以将张量转换为ndarray数组,但是共享内存,可以使用。可以将ndarray数组转换为Tensor,共享内存。对于只有一个元素的张量,使用。函数将该值从张量中提取出来。原创 2024-12-08 17:55:00 · 775 阅读 · 0 评论 -
PyTorch基本使用-张量的创建
python的基本使用,创建张量原创 2024-12-08 16:06:05 · 1239 阅读 · 0 评论
分享