机器学习
文章平均质量分 80
ACplus464
这个作者很懒,什么都没留下…
展开
-
学习率的动态更新
其中,initial_learning_rate是初始学习率,decay_rate是衰减率,current_epoch是当前训练轮数,decay_steps是衰减步数。其中,patience是连续多少个epoch没有改善时触发学习率调整,factor是学习率缩放因子。其中,T_max是学习率变化的周期,max_learning_rate是最大学习率。这些算法通常由深度学习框架提供,可以直接调用相应的接口来实现学习率的动态调整。其中,step_size是调整学习率的步长,gamma是学习率衰减因子。原创 2024-02-04 17:02:29 · 446 阅读 · 1 评论 -
卷积神经网络算法笔记(2.AlexNet)
相比于LeNet,AlexNet的层次更深,是最经典的深度卷积网络。它最开始用于ImageNet图像分类任务,在2012年取得最优战绩。从此以后,深度网络在CV领域开始盛行。AlexNet通过引入深度、卷积层和池化层的交替、局部响应归一化、Dropout正则化等技术,提出了一种强大且有效的卷积神经网络结构。一样,也是使用MNIST-Fashion数据集。下面提供网络定义部分的代码实现。,在测试集上的最优准确率为。原创 2024-02-04 16:54:58 · 403 阅读 · 1 评论 -
数据预处理
数据转换:数据转换包括对数据进行平滑、聚合、标准化和归一化等操作,以便更好地适应模型的要求。平滑可以通过滤波或函数拟合来实现,聚合可以将数据按照一定的规则进行合并,标准化可以将数据按照均值和标准差进行缩放,归一化可以将数据缩放到固定的范围内。它是数据分析的关键步骤之一,可以提高数据质量、减少错误,以及为后续的模型训练和分析提供更准确、可靠的数据。在数据预处理中,可以将类别型数据进行编码,例如使用独热编码、标签编码或频率编码等方法,将其转换为数值型数据。原创 2024-01-29 21:04:15 · 444 阅读 · 0 评论 -
K-Fold交叉验证
K-fold交叉验证是一种常用的机器学习模型评估方法,旨在评估和选择在给定数据集上训练的模型的性能。它通过将数据集划分为K个大小相等的折(或称为“分区”),并在每个折上进行训练和验证来完成这一过程。原创 2024-01-29 18:37:29 · 1124 阅读 · 0 评论 -
卷积神经网络算法笔记(1.LeNet-5)
MNIST-Fashion数据集:包含了10个不同种类的时尚商品的灰度图像。每个图像的尺寸为28×2828×28像素。这10个类别为:T恤/上衣(T-shirt/top)、裤子(Trouser)、毛衣(Pullover)、连衣裙(Dress)、外套(Coat)、凉鞋(Sandal)、衬衫(Shirt)、运动鞋(Sneaker)、包(Bag)和踝靴(Ankle boot)。经典的卷积神经网络(CNN),由Yann LeCun等人于1998年提出。原创 2024-01-28 21:18:05 · 1021 阅读 · 1 评论 -
多层感知机(MLP)算法笔记
HousePrice数据集以csv文件的形式,包括MSSubClass、MSZoning等近80个属性和SalePrice这1个标签值。训练数据集和测试数据集均有1400余条。也就是说,我们需要通过建立模型,学习SalePrice和这些属性之间的关系,然后预测测试集的SalePrice标签输出。网络定义:MLP(多层感知机)模型,使用显式参数初始化# v1.0-MLP模型nn.ReLU(),# 模型参数初始化损失函数:训练过程使用,进一步输出使用log_rmse()原创 2024-01-28 17:23:54 · 1340 阅读 · 1 评论 -
Softmax算法笔记
根据前面的定义,定义softmax函数。输入一个矩阵X,对其按行作Softmax操作。SoftmaxXijexpXij∑kXikSoftmaxXij∑kXikexpXij# 进行测试X_Prob, X_Prob.sum(1) # 按行求和。原创 2024-01-15 16:01:02 · 980 阅读 · 0 评论 -
交叉熵函数
假设我们有一个包含3个类别的分类任务,我们的神经网络输出了一个包含3个元素的向量,分别代表每个类别的预测概率。我们的训练数据包含了真实的标签,用独热编码表示。例如,如果一个样本的真实标签是第2类,那么对应的独热编码为。通过最小化这个损失值,我们可以使用反向传播算法来更新神经网络的参数,使得模型的预测结果更接近真实的标签,从而提高分类准确性。神经网络的输出经过softmax激活函数之后,得到了预测的概率分布。其中,y_i 是真实标签的独热编码,p_i 是模型的预测概率。原创 2023-12-31 23:36:17 · 375 阅读 · 0 评论 -
线性回归算法笔记(2)
定义模型是可以作为一个容器,封装若干个模型,比如等。训练时让数据依次通过这些模型。即定义了一个拥有2个特征和1个标签的线性回归网络,也就是全连接层。# 初始化模型参数此处为重点使用方法。model[0]访问到了第一层网络即定义的Linear层;是该层网络的所有权重形成的tensor。例如,对于而言,它初始weight就是;.data表示访问权重张量的底层数据(tensor)。例如,对于而言,它初始weight.data就是;.fill_(0)原创 2023-12-30 20:47:52 · 973 阅读 · 1 评论 -
线性回归算法笔记(1)
包括模型参数初始化、定义模型等步骤模型参数初始化:由于本实验的模型仅有两个参数wbw,bwb,因此通过高斯随机分布给出初始值。模型定义:所谓的模型model,其实就是一个函数,输入特征矩阵XXX、参数wbw, bwb,输出回归值yyy,这个过程和BP算法的前向传播过程基本一致。loss12y∗−y2loss21y∗−y2优化算法:使用SGD函数,小批量梯度下降算法。# 初始化模型参数w, b。原创 2023-12-28 23:49:16 · 998 阅读 · 1 评论