- 博客(61)
- 收藏
- 关注
原创 创建链表时的一个小bug
这段代码中,首先创建了一个新的节点 p,然后将 L 的值赋给了 p。但是,这并不会改变 L 本身。因此,当我们向 p 添加新的节点时,这些节点并没有被添加到 L 中。这样,当我们向 p 添加新的节点时,这些节点实际上是被添加到了 L 中。这段代码中,我们直接将 L 的值赋给了 p,所以,如果想要修改链表 L,应该使用。是的,这两种写法是有区别的。
2023-12-12 15:24:18
348
原创 Java作业6
覆盖(重写)只能发生在父类与子类之间,而重载可以发生在同一个类中。这是因为覆盖是子类对父类方法的重新实现,而重载是在一个类中定义了多个同名的方法,这些方法的参数类型与个数的不尽相同。这是因为final修饰的方法表示该方法已经是“最终”的,不能被子类覆盖。覆盖(重写)的方法必须和被覆盖的方法有相同的函数名和参数,而重载的方法必须同名,但参数列表必须不同。A,覆盖只能发生在父类与子类之间,而重载可以发生在同一个类中。public类:public是公有类,是可以被任何类继承的。D,覆盖与重载是同一回事。
2023-11-26 14:35:56
168
原创 C++输出
综合起来,这行代码的作用是以一定格式输出链表节点中的图书信息,包括图书编号、图书名称和图书价格,其中价格保留两位小数。这行代码是用于输出链表节点中的图书信息。
2023-11-15 15:05:19
215
原创 前缀status and int
在这里,int 作为函数的返回类型,用于表示函数返回的整数值。在第二个函数中,int 表示成功插入节点的数量或者其他整数值。在这里,Status 作为函数的返回类型,用于指示函数执行是否成功。例如,return OK;总体而言,Status 主要用于表示函数执行状态,而 int 用于表示具体的整数值。Status 是一个自定义的数据类型,通常用于表示函数执行的状态。是不同的数据类型,具有不同的含义。int 是整数类型,用于表示整数值。
2023-11-15 14:44:48
180
原创 数据结构-链表
总体而言,Book 结构体是一个简单的、没有具体成员的结构体声明,而 LNode 结构体及 Linklist 是用于定义链表节点和链表指针的结构体声明。这是一个简单的结构体定义,表示一个名为 Book 的结构体,但没有指定具体的成员变量。用于定义链表节点,每个节点包含一个 Book 结构体作为数据域,一个指向下一个节点的指针域,以及链表的长度。LNode 结构体定义了一个节点,其中包含了一个名为 book 的成员,表示节点的数据域。用于构建包含图书信息的链表结构,实现动态且高效的存储。Book book;
2023-11-15 14:37:54
204
原创 回归任务中train和test的损失函数还有test的评价指标
因此,MSE通常用作训练神经网络的损失函数,因为它具有良好的数学性质,可用于梯度下降等优化算法的训练。而RMSE通常用作评价指标,以便在模型训练完成后,更容易理解模型的性能,因为它提供了与实际目标值相对应的误差度量。当使用RMSE作为评价指标时,我们通常希望它越小越好,因为它表示模型的预测与实际值之间的平均误差更小。在回归任务中,RMSE 提供了预测值与实际目标值之间的平均误差,同时考虑了误差的大小和方向。损失函数(MSE):均方误差度量了模型的预测值与实际目标值之间的差异的平方的平均值。
2023-11-03 23:28:18
208
原创 C语言:动态分配结构体数组存取整型和二进制数据
5 00 016 01 11上面是我从键盘输入的两行数据例如:5 00 015是整型 00和01是两个二进制字符三个数据用空格隔开请问我要如何定义结构体数组来存取这一行数据?创建结构体数组读取键盘输入存取思考1二进制字符00存到字符数组里面的时候不用考虑\0吗?将二进制字符"00"存储到字符数组中时,通常不需要添加\0,因为\0通常表示字符串的结束。二进制字符"00"被存储为两个连续的字节,它们可以在字符数组中表示为两个字符,而不需要额外的字符串终止字符。\0是C语言中的字符串终止
2023-10-13 02:50:36
177
1
原创 C语言:scanf
它将从输入中读取整数,并且会忽略任何空格、制表符等字符,直到读取到整数。这将导致scanf在输入中寻找一个整数,然后等待输入的下一个字符是换行符。因此,用户必须在输入整数后按下回车键(换行),才能继续程序执行。实际上,scanf("%d\n,&t);会导致程序等待用户输入整数,然后输入整数后,用户需要按下回车键才能继续,因为回车键会产生换行符。通常情况下,scanf(“%d”,&t);是更常见、更合适的方式来读取整数,因为它不需要用户手动输入换行符,而是等待用户输入整数后直接继续执行程序。
2023-10-13 00:23:45
182
原创 深度学习DAY3:神经网络训练常见算法概述
这是最常见的神经网络训练方法之一。它通过计算损失函数对权重的梯度,并沿着梯度的反方向更新权重,从而逐步减小损失函数的值。梯度下降有多个变种,包括随机梯度下降(SGD)和小批量梯度下降。
2023-10-10 16:07:35
306
原创 深度学习DAY3:高斯噪声
高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。如果一个噪声,它的幅度分布服从高斯分布,而它的功率谱密度又是均匀分布的,则称它为高斯白噪声。高斯白噪声的二阶矩不相关,一阶矩为常数,是指先后信号在时间上的相关性。高斯白噪声包括热噪声和散粒噪声。在通信信道测试和建模中,高斯噪声被用作加性白噪声以产生加性白高斯噪声。
2023-10-10 15:34:11
448
原创 深度学习DAY3:FFNNLM前馈神经网络语言模型
文章:自然语言处理中的语言模型预训练方法(ELMo、GPT和BERT)语言模型不需要人工标注语料(属于自监督模型),所以语言模型能够从无限制的大规模语料中,学习到丰富的语义知识。
2023-10-10 15:08:49
1075
原创 C语言文件读取fgets如何读取最后一行?
问题出在文件的结尾处。在C中,当fgets函数达到文件末尾时,它会返回NULL,这是一个指示文件结束的标志。=NULL)来逐行读取文件,但在最后一行后面没有换行符,因此fgets不会读取最后一行,而且最后一行不会被打印或处理。要确保最后一行也被正确处理,可以添加一个额外的检查,以便在fgets返回NULL时再执行一次循环体,以处理最后一行。这样可以确保即使最后一行没有换行符,它仍然会被读取和处理。这个修改将确保即使最后一行没有换行符,它也会被正确读取和处理。但是读取的时候最后一行没有换行符,没有被读取。
2023-10-10 00:54:29
1066
原创 C: fprintf fwrite 函数的区别
根据您的需求和要写入的数据类型,您可以选择使用 fprintf 或 fwrite。如果您需要将文本数据写入文件并希望以可读的方式查看,那么 fprintf 是更合适的选择。fprintf 适用于将数据以文本形式逐行写入文件,而 fwrite 适用于一次性写入二进制数据。对于大量数据的写入,特别是二进制数据,它是更高效的选择。这个示例将整数数组中的数据一次性写入名为 “data.bin” 的二进制文件。这个示例将整数数组中的数据逐行写入名为 “data.txt” 的文本文件。
2023-10-09 21:25:38
709
原创 C语言的文件写入、读取
首先打开一个文件以写入数据,并通过 fprintf 函数将输入的数据写入文件中。然后,它重新打开文件以读取数据,并使用 fgets 函数逐行读取数据进行操作。
2023-10-09 17:21:35
1997
原创 JAVA--一次性输入一行数
首先需要创建一个用于输入的Scanner对象,然后使用循环来连续读取输入。当需要输入的数目未知或数目不确定时,这是一个常见的做法。
2023-10-09 17:10:29
739
原创 C语言--sizeof()
sizeof() 是C语言中的一个操作符,用于获取数据类型或对象的大小,通常以字节为单位。获取变量的大小:您也可以使用 sizeof(变量名) 来获取特定变量所占用的内存大小。获取数据类型的大小:您可以使用 sizeof(数据类型) 来获取特定数据类型(如整数、字符、结构体等)的大小。总之,sizeof() 是一个用于获取内存大小信息的非常有用的操作符,它在内存分配、数组操作、结构体处理等方面都具有重要作用。获取指针的大小:可以使用 sizeof(指针类型) 来获取指针的大小,通常指针大小与系统架构相关。
2023-10-09 16:59:19
405
原创 Java编译Eclipse警告Resource leak: ‘in‘ is never closed
当你在Eclipse编译Java代码时遇到"Resource leak: ‘in’ is never closed"警告时,这意味着你在使用资源(如Scanner或FileInputStream)后没有正确关闭它。
2023-10-09 13:33:29
830
原创 深度学习DAY1:神经网络NN;二元分类
所有神经元将房屋大小size作为输入x,计算线性方程,结果取max(0,y),输出预测房价yReLU函数(线性整流函数)–max(0,y)
2023-10-08 23:46:48
1031
原创 C语言--如何解决游戏界面加载透明背景图片时,透明背景变成黑色?
它接受多个参数,包括目标图像的设备上下文句柄 dstDC,源图像的设备上下文句柄 srcDC,绘制的起始位置 (x, y),以及宽度和高度。AC_SRC_OVER 表示使用源图像的 Alpha 值来控制合成,0 表示源图像的透明度为完全透明,255 表示不透明度为完全不透明。其中 dstimg 是目标图像的指针,x 和 y 是目标图像上绘制的起始位置的坐标,srcimg 是要绘制的源图像的指针。通过以上步骤,该函数将在目标图像上绘制一个具有透明度的源图像。具体效果取决于源图像的透明度和位置。
2023-05-25 19:20:18
573
原创 转换成小写
函数只对字母字符有效,如果传入的参数不是字母字符,则不会进行转换,原样返回。头文件中,需要传入一个字母作为参数,并返回转换后的小写字母。结合循环遍历字符串的每个字符,并逐个将其转换为小写形式。将字母转换为小写形式。在C语言中,可以使用标准库函数。
2023-05-23 08:42:28
95
原创 struct student* stu_a=(struct student *)a;
struct student* stu_a 是一个变量声明,它定义了一个名为 stu_a 的指针变量,类型为 struct student*。总之,struct student* stu_a 是变量声明,而 (struct student *)a 是类型转换表达式。(struct student *)a用于将指针a转换为struct student*类型的指针。在本例中为 struct student*。struct student* stu_a 是一个struct student* 类型的指针变量。
2023-05-22 23:04:44
340
原创 路径无关性定理在机器学习或者深度学习中的应用
具体来说,如果损失函数满足路径无关性条件,即在某个区域内的梯度为零,那么无论我们选择哪条路径进行优化,最终的参数更新结果将是相同的。在机器学习和深度学习中,如果损失函数的梯度满足上述条件,即损失函数的梯度在某个区域内为零,那么路径无关性定理可以应用于优化过程中。需要注意的是,路径无关性定理并不适用于所有机器学习和深度学习问题,它的应用范围是有限的,并且需要满足一定的条件才能使用。在数学中,路径无关性定理表明,如果一个向量场在某个区域内的散度为零,则该向量场的环路积分与路径无关。
2023-05-17 21:11:39
186
原创 格林公式在机器学习或者是深度学习过程中的应用
格林公式(Green's theorem)在机器学习和深度学习中用于处理与梯度(gradient)和散度(divergence)相关的问题,主要是因为它提供了梯度和散度之间的联系和转换关系。总之,格林公式提供了梯度和散度之间的联系和转换关系,使得我们可以更方便地处理和求解与梯度、散度相关的问题,从而在机器学习和深度学习中应用得到了一定的推广。其中,F是一个向量场,∇·F表示F的散度,dA表示曲面上的面积微元,∮表示曲面的边界,n是边界的单位法向量,dS表示曲面的长度微元。
2023-05-17 21:08:25
491
原创 python实验报告8线性代数操作和matplotlib
通过本次实验,我学会了如何使用matplotlib绘制散点图、折线图、直方图和饼状图在基础的图形绘制代码外,我深入学习了散点图、折线图、直方图和饼状图的参数,通过调节参数的实验,在基础的图形之上进一步绘制了细节更丰富的图形。在绘制好柱状图之后,使用循环填充每个柱子的颜色,i 是当前柱子的索引,patch 是对应柱子的对象。v 是一个二维数组,则 np.diag() 会返回一个二维数组的对角矩阵,即以 v 中的每个一维数组的元素为对角线上的元素,其他位置为零的对角矩阵。
2023-05-13 23:46:16
1845
2
原创 对角矩阵np.diag()
例如,np.diag([[1,2,3],[4,5,6],[7,8,9]], k=1) 将返回一个一维数组,包含矩阵 [[1,2,3],[4,5,6],[7,8,9]] 主对角线之上的元素 [2,6]。例如,np.diag([[1,2,3],[4,5,6],[7,8,9]]) 将返回一个一维数组,包含矩阵 [[1,2,3],[4,5,6],[7,8,9]] 的对角线元素 [1,5,9]。例如,np.diag([1,2,3]) 将创建一个三阶的对角矩阵,对角线上的元素分别为 1,2,3。
2023-05-13 21:30:51
2646
原创 Fashion-MNIST数据集--图像数据集
Fashion-MNIST是一个包含了10个类别、每个类别下有7000张28x28像素灰度图像的数据集。这个数据集可以用于图像分类、图像识别等任务。处理这种图像数据集可以采用以下步骤:数据预处理:将数据集中的图像转换为数字矩阵形式,可以使用Python中的NumPy库进行处理。同时可以将像素值归一化到0-1范围内,方便后续处理。特征提取:对于图像数据集,常用的特征提取方法包括灰度共生矩阵、局部二值模式、方向梯度直方图等。这些特征可以帮助我们更好地描述和区分不同的图像类别。
2023-05-06 17:54:04
3357
原创 ------布尔索引-----
在使用布尔索引时,首先需要创建一个布尔型数组,其中数组的每个元素都是。现在,我们想要选择所有大于 2 的元素。然后,使用该数组作为索引即可选择数组中对应位置为。布尔索引是指在 numpy 数组中使用布尔值(例如,假设有一个 numpy 数组。)作为索引来选择数组中的元素。3、选择‘False’
2023-05-06 17:08:41
1253
原创 Abalone数据集--kmeans聚类分析
在Abalone数据集中,有8个特征属性,包括性别、直径、高度、整体重量、肉重量、内脏重量、壳重量和年龄。为了提取特征数据,可以先将性别属性转换为数值属性,例如将M(雄性)、F(雌性)和I(未知)分别转换为1、2和3。根据k-means聚类的结果,可以对样本进行分类、分析和比较,进一步探索数据的结构、特征和规律,为后续的数据分析和建模提供基础。例如,可能需要进行缺失值填充、标准化、归一化、特征选择等预处理步骤,以便将数据转换为数值型的矩阵格式,方便进行聚类分析。
2023-05-06 16:29:12
965
原创 没有标签的聚类问题,可以使用内部评价指标和外部评价指标进行模型评估
Calinski-Harabasz指数越大,表示聚类效果越好,因此可以将其作为聚类效果的评估指标。但是由于聚类的标签是由模型自动分配得到的,并没有真实的标签,因此聚类效果的评估也具有一定的主观性和不确定性。Davies-Bouldin指数(Davies-Bouldin index,DBI)是一种聚类分析的指标,用于评估聚类的效果。它衡量的是聚类结果中簇内的紧密度与簇间的分离度,数值越大则聚类效果越好。轮廓系数的值范围在 [-1, 1] 之间,值越大表示聚类效果越好,值为负数表示聚类效果很差。
2023-05-06 15:27:41
884
原创 报错AttributeError: ‘_io.TextIOWrapper‘ object has no attribute ‘lower‘
报错了:AttributeError: ‘_io.TextIOWrapper’ object has no attribute ‘lower’
2023-05-06 09:24:28
2015
原创 字典中items = list(counts.items()) 和 items = list(counts) 的区别
当执行 items = list(counts.items()) 时,会将字典counts中的所有键值对以元组的形式存储到一个列表中,每个元组表示一个键值对。所以,items是一个包含元组的列表,每个元组的第一个元素是单词,第二个元素是该单词在字符串中出现的次数。所以,items是一个包含所有单词的列表,但是该列表并不包含每个单词在字符串中出现的次数,因为它只是字典中的键列表。因此,这两行代码的执行结果是不同的,前者是一个由元组组成的列表,每个元组表示一个键值对,后者是一个只包含键的列表。
2023-05-06 09:06:26
1591
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人