- 博客(14)
- 收藏
- 关注
原创 人工智能——svm
支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类的广义线 性分类器(generalized linear classifier),其 决策边界是对学习样本求解的最大边距超平面 (maximum-margin hyperplane)。与逻辑回归和神经网络相比,支持向量机,在 学习复杂的非线性方程时提供了一种更为清晰, 更加强大的方式分类:假如数据是完全的线性可分的,那么学习到的模型可以称为硬间隔支持向量机。
2025-01-04 13:03:11
862
原创 人工智能绪论
随机交叉验证(Randomizing Cross Validation ): 与K折交叉验证不同,它不严格将数据划分为K个固定的子集,而是随机从数据集中抽样生成训练集和验证集。在训练过程中可能会生成多个模型(例如,不同的超参数配置或训练到不同的迭代次数),验证集用于比较这些模型的性能,选择。机器学习的程序:让机器人从数据(试错) 中学到行动指令,需要定义一个量化的代价函数,通过优化方法, 寻找最佳参数。不同类型的机器学习问题,需要定义不同的误差度量方法,作为评价模型的目标函数。模型选择与训练,模型优化。
2025-01-04 13:02:26
567
原创 微机原理笔记
安装有CPU能自动执行程序/指令的电子设备 :计算机选中整片接口,低电平意味着选中了四个端口,只需要关心地址总线的高八位,地两位任意变化,地两位不影响产生低电平;00-384输出低电平,01-385输出低电平,10-386输出低电平。。。高八位进行拼接,引脚划分与端口的数量有关,如果端口只有2个,只需要第一位简化电路:用138译码器完成,原来2-4译码器,有三八译码器,使用138译码器芯片,138译码器:三个输入;地两位连接:能够选择对应的引脚。
2024-12-16 10:06:04
594
原创 编译原理——目标代码生成
这段代码定义了一个 MIPS 汇编代码生成器,通过遍历中间代码序列将每条指令转化为 MIPS 汇编语言指令,并输出到文件。通过对不同类型的操作符和操作数的处理,生成了包含赋值、算术、逻辑、函数调用、条件跳转等的完整 MIPS 汇编代码。
2024-11-15 23:24:40
876
1
原创 编译原理——目标代码生成
`#define YYSTYPE int`: 这个宏定义是为了避免在包含 `parser.tab.hpp` 时出现编译错误,通常这行代码是用于 `bison` 或 `yacc` 工具生成的语法分析器中。- `Reg2` 代表基址寄存器,通常是栈指针 `$sp` 或全局指针 `$gp`,如果 `opn.isGolbal` 为 `0`,则将 `Reg2` 设置为 `$gp`,否则保留栈指针 `$sp`。- `GenObject` 函数用于生成目标文件 `ObjectFile.s`,该文件保存汇编代码。
2024-11-15 22:51:32
754
原创 编译原理——编译器前端的语法分析器
locations%{...%}和:启用详细错误信息,可以帮助定位和诊断语法错误。%locations:启用位置跟踪,使得解析器可以获取每个语法单元的位置(行号和列号)。宏:为语法树节点保存行号和列号位置。包含了外部的yylinenoyytextyyin等变量和yyerror函数声明,用于错误处理和输入输出。YYLVAL%token%left OR%left AND...设置了运算符的优先级和结合性,帮助解析器在解析过程中处理表达式的优先级问题。例如,ASSIGN。
2024-11-15 22:50:00
272
原创 编译原理——中间代码生成
这个 `map` 是根据不同的 IR 操作符(如 `ASSIGN`, `PLUS`, `MINUS`, `GOTO` 等)生成对应的字符串表示。- 如果操作数 `Opn1` 是常量(由 `_CONST` 标识),则根据常量的类型(如 `T_CHAR`, `T_INT`, `T_FLOAT`)来决定如何格式化常量值,并加上 `#` 符号(表示常量)。- `OpnStr1` 和 `OpnStr2` 分别是操作数 1 和操作数 2 的字符串表示,`ResultStr` 是结果的字符串表示。
2024-11-15 22:49:50
753
原创 语法树分析
cpp复制代码YYSTYPE是一个宏定义,它通常用于bison(或者类似工具)中,用于定义语法分析器中使用的符号类型。在这个例子中,它被定义为int类型。这个宏确保在生成的语法分析器代码中,YYSTYPE会被替换为int类型。整个代码段展示了如何通过递归遍历 AST 并打印出每个结点的信息。在编译器的实现中,这种方法用于调试和可视化解析过程,帮助开发者理解和验证编译器对源代码的解析是否正确。
2024-11-15 22:47:03
176
原创 编译原理——语法树
表示Bison的版本。:解析器的骨架名称。YYPUREYYPUSH和YYPULL:分别表示解析器的纯净性、推送模式和拉取模式。这些宏定义帮助控制Bison生成解析器的不同模式,通常在编写简单的解析器时无需更改。这些宏可以帮助Bison生成符合特定配置的解析器,并在解析过程中维护解析器的状态。%token:通过%token定义了一些终结符(Token),这些Token对应于源代码中的关键字、标识符和符号,例如INTFLOATID和TYPE。
2024-11-06 16:38:38
1600
原创 编译原理——语法分析器
locations%{// 各种语法树节点类型的指针,用于语法树构建} YYLVAL;%}和 %error-verbose:开启详细错误信息,使得语法分析器在遇到错误时提供更多的上下文信息。%locations:启用位置跟踪,用于跟踪每个词法单元的位置(行和列),便于错误处理。YYLVAL结构体:定义了YYSTYPE类型,用于存储语法单元的值,并包含指向语法树节点的指针,帮助构建 AST。2.%type和%token。
2024-11-06 16:03:14
395
原创 编译原理——词法分析
该代码定义了一个完整的词法分析器,能够识别并处理 C/C++ 等编程语言中的基本构件。并支持关键字、标识符、常量、操作符和注释的处理,并能够在遇到不可识别符号时给出错误提示。
2024-11-06 14:39:28
345
原创 编译原理实验解析——词法分析
在这个实验中,使用和两个工具联合构建词法分析器和语法分析器。这是实现编译器前端的重要步骤,特别是在处理编程语言时,词法和语法分析能够帮助理解和解析源代码。
2024-10-12 21:17:24
1750
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人