数据结构与算法分析
nwsuaf_huasir
“奥雷里亚诺,马孔多在下雨”,“别犯傻了,赫里内勒多,八月下雨很正常。”
展开
-
特征提取的目的
特征提取的目的是把样本集从高维特征空间映射到低维特征空间,并使映射后的样本集仍具有良好的可分性。特征提取算法的好坏会影响系统的最终识别效果,同时经过特征提取后的数据集由于维数的减少,会明显减少系统的计算时间。然而在很多问题中往往不容易提取出合适的特征,需要根据具体的分类问题选择特征选择算法。...原创 2021-12-07 09:56:00 · 6146 阅读 · 0 评论 -
采用机器学习进行FRI信号重构-样本集的生成
相对传统的重构算法,机器学习的优点在于抗噪性。%%-------------------------------------------------%%FRI生成输入输出数据,样本集的大小为Total_sample%%该数据用于训练神经网络%%Liuzhenhua HIT-ATCI-53%%2021.09.05-16:30%%-------------------------------------------------clc;clear all;close all;%% FRI信号-原创 2021-09-05 16:26:03 · 418 阅读 · 0 评论 -
BP神经网络分类程序的输出层函数解析
1、BP网络的分类程序和回归程序又很多地方不一样,首先分类程序的输出层神经元个数大于1,BP网络的输出层神经元的个数与分类的类别有关,如果分三类:0,1,2,分别对应:[1 0 0],[0 1 0],[0 0 1],则需要三个神经元,每个神经元置输出一个数,三个神经元输出的三个数合为一个向量。2、神经网络的隐层数目的确定可以通过经验公式确定。3、有一个很困惑的地方,那就是神经网络最终输出的...原创 2020-01-13 15:57:06 · 2875 阅读 · 1 评论 -
python-类的学习,面向对象编程
在python的类中,我们可以看到有的成员函数的参数中有self和other那么他们到底是什么呢?下面看一个程序:class Student: def __init__(self):#构造函数 self.name = 'liu' self.age = 23 def compAge(self,other): if self....原创 2019-10-22 09:57:17 · 416 阅读 · 0 评论 -
tkinter布局1
最近在学习python的GUI开发,采用的是tkinter,记录下自己的学习心得。关于如何布局:布局方式分为pack(),grid(),place()。from tkinter import *top = Tk()top.geometry("500x400")fram1 = Frame(top)fram1.pack(side = LEFT)for i in range(4)...原创 2019-10-22 09:48:35 · 718 阅读 · 0 评论 -
队列的链式存储结构(C语言)
队列的链式存储结构相对顺序存储结构而言,数据元素的个数可以不受限制,更为灵活。在不知道存取数据最大个数的情况下优先采取链式存储结构。但是,链式队列在插入和删除的时候涉及到存储空间的分配和释放,这无疑增加了时间开销。因此,到底只用哪一种结构,要综合考虑。以下,给出C语言版的链式存储结构。/**************************************************原创 2018-01-03 21:49:40 · 915 阅读 · 0 评论 -
matlabR2013B许可证到期激活问题
我安装的Matlab R2013b在使用了不到两个月之后,一直提示要激活。本来想重新安装一个,后来找到了解决办法。在Matlab根目录的license文件夹里,下载以下链接的license.lic文件,替换原来的license.lic文件,重启Matlab即可。R2013a亲测有效。链接: https://pan.baidu.com/s/1mixMy84 密码: 3g59原创 2018-01-04 17:59:42 · 2662 阅读 · 1 评论 -
C语言静态链表
在C语言中用指针可以实现线性单链表,而有些语言不支持指针,我们可以利用两个并行的数组或者结构体数组来模拟指针,这样子的链表称之为静态链表。下面,我给出了C语言下的实现方法,并给出了基本的操作函数,以及针对每种操作,都进行了打印输出的验证。/*******************************************************************///描述:使用原创 2017-12-29 10:57:58 · 1168 阅读 · 0 评论 -
样本集划分与预处理的必要性
人工智能在工业和科研方面应用很广泛了,尤其在今天的高校,本科生的毕业论文都在使用PLS、SVM等模型了,然而对于一些初学者还是有一些困惑,我把一些心得体会和自己的理解分享给大家。1、什么是人工智能?其实人工智能并没有大家想象的那么高深,因为它包含了很多内容,有些理论并不是今天才诞生的。像贝叶斯分类器、偏最小二乘法、K邻近聚类分析,毫不夸张的讲,这些理论中学生都可以理解,至少我可以给一个中学...原创 2018-08-29 15:07:52 · 4122 阅读 · 0 评论 -
顺序存储结构的队列(C语言)
队列是一种特殊的线性表,它的特殊性体现在,它只能够从一段进,从另一端出,遵循先入先出的原则。这种独特的规则,可以运用在程序设计中的很多地方,非常的巧妙。下面,我用C语言来实现了循环队列。/*******************************************************************///描述:队列的顺序存储结构,该队列为循环队列,队列的创建,插入,原创 2018-01-03 17:29:43 · 567 阅读 · 0 评论 -
C语言实现栈(链式存储结构)
栈是一种特殊的线性表,它只能够先入后出,它可以用数组实现,即顺序存储方式,也可以用链式的存储结构。下面,我用C语言实现栈(链式存储结构)的压入和弹出等操作,并把每个函数用打印输出的形式进行验证。/*******************************************************************///描述:栈的链式存储结构的创建,插入,删除等基本操作的函原创 2018-01-02 17:53:45 · 1579 阅读 · 0 评论 -
C语言线性单链表的操作及验证
关于单链表的创建及基本的操作,网上已经有很多,但是一些仅仅是把函数罗列出来,关于怎么使用这些函数,并没有说明。在下面的程序中,我对每个函数都进行了验证,打印出结果。/*******************************************************************///描述:单链表的创建,插入,删除等基本操作的函数,以及对这些操作进行验证//时间:2原创 2017-12-26 22:23:26 · 878 阅读 · 0 评论 -
二分法的代码实现
二分法是计算机求解方程的常用算法,很容易在matlab中实现。%计算f(x)= 0的近似解,容差为tolfuction xc = bisec(f,a,b,tol)if sign(f(a))*sign(f(b)) >= 0 error('f(a)f(b)endfa = f(a);fb = f(b);while (b-a)/2 > tol c = (a+b原创 2017-10-08 21:11:06 · 917 阅读 · 1 评论 -
关于信息论的压缩编码的个人思考
关于为什么一幅图像能够通过压缩来减小存储空间,为什么我们使用压缩软件就能够将大文件变小,很多人并不知道其中的原因,就连学过信息论和统计学的高材生也未必讲清楚其中的道理。我试图通过一个简单的例子,来阐述数据压缩的原理。想像一下,我们买了1000个苹果,要将这1000个苹果按照颜色分为两类并做标记,有青的和红的,现在要求记号有两种,一种是一杠,一种是两杠,那么到底是哪个标记对应青苹果,哪个标记对应原创 2017-10-10 11:25:50 · 579 阅读 · 0 评论 -
迭代法与开方求值
迭代法与计算机求解开方运算密切相关,在计算机中如何开方?我们先了解一下计算机如何做加减乘除。加法和减法运算在计算机中是最简单的,硬件上可以通过全加器来实现,具体细节不再展开。那么,计算机如何做乘除运算呢。1.乘法由于计算机中,所有数值都是用2的N次方来表示的:2^n0+2^n1+2^n2+2^n3+2^n4.....因此x*y,(x)*(2^n0+2^n1+2^n2+2^n3+2^原创 2017-11-22 11:29:43 · 1358 阅读 · 0 评论 -
范数
在线性代数和泛函分析的领域,常常会提到范数,顾名思义,“范数”和范围相关,它可以用于大小的度量。范数包括向量范数和矩阵范数,向量范数可以度量向量空间中向量的大小,而矩阵范数,可以表征矩阵引起的变化的大小。对于向量范数,它的本质是距离,存在的意义是为了实现比较。比如,在一维实数集合中,我们随便取两个点4和9,我们知道9比4大,但是到了二维实数空间中,取两个点(1,1)和(0,3),这原创 2017-11-23 11:44:59 · 351 阅读 · 0 评论 -
曲线拟合的最小二乘法
由实验数据观察得到的一些离散的点集{(Xi,Yi),i=0,1,...,m},做曲线拟合得带一个函数y = S(x),这属于函数逼近问题。最小二乘法的原理是使得误差平方和最小。一般地,在一个函数空间C[a,b]中,要寻找到这样的一个函数S(x) 。问题最终会转化为求解多元函数的极值。在高等数学中,求多元函数的极值问题 ,就是求多元函数的偏导数,让它为0。在工程应用当中,S(x)的求原创 2017-11-24 15:47:02 · 693 阅读 · 0 评论 -
差值函数简介
之前就经常听到差值函数,一直不清楚它到底是什么,后来学习了数值分析这门课才逐渐了解了它。所谓的差值函数P(x)来源于逆向思维,比如给出一个函数F(x),那么当输入x1,x2,x3...就会有输出y1,y2,y3,...那么,如果我们只知道一些点(x1,y1),(x2,y2),(x3,y3)能求出F(x)吗?答案是:不可能。但是我们可以根据这些点求解出一个近似的函数,它就是差值函数P(x)。原创 2017-11-21 11:09:55 · 6193 阅读 · 0 评论 -
线性表的顺序存储结构
数据结构是计算机学科的基础,也是算法的基础,要想做一个合格的程序员,学会学懂数据结构是必须的。在我看来,数据结构中最简单的莫过于线性表的顺序存储结构。//线性表(顺序存储结构)的基本函数#include #include #define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20原创 2017-12-25 10:06:19 · 309 阅读 · 0 评论 -
栈的顺序存储结构及实现
栈是线性表的特例,分为顺序存储结构和链式存储结构。下面我用C语言实现,并对每个函数进行打印输出验证。/*******************************************************************///描述:单链表的创建,插入,删除等基本操作的函数,以及对这些操作进行验证//时间:2017.12.25 22:00//作者:Liu ZhenHua原创 2017-12-30 22:05:19 · 624 阅读 · 1 评论 -
C语言下单链表的创建
单链表属于线性表的一种,可以动态增减数据,它所占用的空间和位置是不需要预先分配划定的。可以根据系统的情况和实际的需求及时生成。创建C语言描述:头插法创建单链线性表void CreatListHead(Linklist *L,int n){ int i,randValue; Linklist p; *L = (Linklist)malloc(sizeof(Node)原创 2017-12-26 19:34:21 · 448 阅读 · 0 评论 -
多项式的嵌套乘法代码实现
计算机求解多项式的值可以使用嵌套乘法,例如:P(x) = 2x^4 + 3x^3 - 3x^2 + 5x -1可以展开一般形式:c1 + (x - r1)( c2 + (x - r2)(c3 + (x - r3)(c4 + (x - r4)(c5))))其中c = [-1 5 -3 3 2] , 阶次d = 4,r = [0 0 0 0];在matlab下实现:functi原创 2017-10-08 17:23:45 · 1916 阅读 · 0 评论