根据文法编制递归下降分析程序,以便对输入的符号串进行语法分析。输入一个字符串,输出该字符串是否为正确的句子。可以输出错误信息。
2021-11-19 15:31:58 7KB 递归下降分析器 编译原理
1
本专栏是书《深度学习入门》的阅读笔记一共八章: 第一章深度学习中的Python基础。主要讲解了深度学习将要用到的python的基础知识以及简单介绍了numpy库和matpoltlib库,本书编写深度学习神经网络代码仅使用Python和numpy库,不使用目前流行的各种深度学习框架,适合入门新手学习理论知识。 第二章感知机。主要介绍了神经网络和深度学习的基本单元感知机。感知机接收多个输入,产生一个输出,单层感知器可以实现与门,或门以及与非门,但是不能实现异或门,异或门的实现需要借助多层感知机,这也就是说,单层感知机只能表示线性空间,而非线性空间的表示需要借助多层感知机。 第三章神经网络——基于n
2021-11-19 15:19:07 94KB mp num numpy
1
优化方法中最速下降法+SUMT外点法MATLAB实现,代码均为本人实现,如有需要请自行下载,下载后请根据自身需求调整方程,欢迎讨论。
1
基于稀疏表示的字典学习通常被认为是一种重新排列原始数据结构以使能量在非正交和不完整字典上紧凑的方法,广泛用于信号处理,模式识别,机器学习,统计学和神经科学。 当前的稀疏表示框架将优化问题分解为两个子问题,即使用不同的优化器的交替稀疏编码和字典学习,分别处理字典和代码中的元素。 在本文中,我们对字典和代码中的元素进行同质处理。 最初的优化直接解耦为几个按块替换的子问题,而不是上述两个问题。 因此,稀疏编码和字典学习优化被统一在一起。 更准确地说,将优化问题中涉及的变量划分为几个合适的块,并保留凸性,从而可以执行精确的逐块坐标下降。 对于每个可分离的子问题,基于抛物线函数的凸性和单调性,获得封闭形式的解。 该算法因此简单,有效和有效。 实验结果表明,我们的算法大大加快了学习过程。 图像分类的应用进一步证明了我们提出的优化策略的效率。
2021-11-17 20:09:05 384KB 研究论文
1
是利用FLEX生成的词法分析器,调用YYLEX()来实现token的获取。
2021-11-17 15:30:54 44KB 编译原理
1
一、实验目的 通过上机实习,加深对语法制导翻译原理的理解,掌握将语法分析所识别的语法成分变换为中间代码的语义翻译方法。 二、实验要求 采用递归下降语法制导翻译法,对算术表达式、赋值语句进行语义分析并生成四元式序列。 三、实验的结果验证 1.输入是语法分析后提供的正确的单词串,输出为三地址指令形式的四元式序列。 给出语句串: begin_a:=2+3*4; _x:=(a+b)/c_end# 输出如下三地址指令: (1) t1=3*4 (2) t2=2+t1 (3) a=t2 (4) t3=a+b (5) t4=t3/c (6) x=t4 2.自己任意给出一语句串,输出四元式序列。 要求:将上述2个语句串的执行结果显示保留在实验报告中(拷屏)。 四、算法思想 1、设置语义过程。 (1)emit(char *result,char *ag1,char *op,char *ag2) 该函数的功能是生成一个三地址语句送到四元式表中。 四元式表的结构如下: struct{char result[8]; char ag1[8]; char op[8]; char ag2[8]; }quad[20]; (2) char *newtemp() 该函数回送一个新的临时变量名,临时变量名产生的顺序为T1,T2,… char *newtemp(void) {char *p; char m[8]; p=(char *)malloc(8); k++; itoa(k,m,10); strcpy(p+1,m); p[0]=’t’; return(p); } 2、函数lrparser 在原来语法分析的基础上插入相应的语义动作:将输入串翻译成四元式序列。在实验中我们只对表达式、赋值语句进行翻译。 五、语义分析程序的C程序。 #include #include #include #include struct {char result[12]; char ag1[12]; char op[12]; char ag2[12]; }quad; char prog[80],token[12]; char ch; int syn,p,m=0,n,sum=0,kk; //p是缓冲区prog的指针,m是token的指针 char *rwtab[6]={"begin","if","then","while","do","end"}; void scaner(); char *factor(void); char *term(void); char *expression(void); int yucu(); void emit(char *result,char *ag1,char *op,char *ag2); char *newtemp(); int statement(); int k=0; void emit(char *result,char *ag1,char *op,char *ag2) { strcpy(quad.result,result); strcpy(参数设置); strcpy(quad.op,op); strcpy(quad.ag2,ag2); cout<
1
梯度下降法是机器学习算法更新模型参数的常用的方法之一。 相关概念 梯度 : 表示某一函数在一点处变化率最快的方向向量(可理解为这点的导数/偏导数) 样本 : 实际观测到的数据集,包括输入和输出(本文的样本数量用 m 表述,元素下标 i 表示) 特征 : 样本的输入(本文的特征数量用 n 表示,元素下标 j 表示) 假设函数 : 用来拟合样本的函数,记为 $ h_θ(X) (θ 为参数向量, X 为特征向量)$ 代价函数 : 用于评估模型拟合的程度,训练的目标是最小化代价函数,记为 J(θ)J(θ)J(θ) 通过代价函数使得假设函数更好的拟合给定数据 线性假设函数 : $ h_θ(X) = θ_
2021-11-16 11:13:23 69KB 梯度 梯度下降 特征向量
1
机器学习算法,线性回归于逻辑回归推导过程及代码
2021-11-15 18:55:04 342KB 算法
1
IRENA-绿氢成本下降—扩大电解槽规模以满足1.5℃气候目标(英文)-2020.12-106页.pdf
2021-11-15 09:03:21 5.78MB 研报
主要为大家详细介绍了基于随机梯度下降的矩阵分解推荐算法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
2021-11-14 11:02:08 109KB python 梯度下降 矩阵分解
1