错题记录(1)-机器学习

1、HMM、CRF
这里写图片描述
隐马尔可夫模型(Hidden Markov Model,HMM),最大熵马尔可夫模型(Maximum Entropy Markov Model,MEMM)以及条件随机场(Conditional Random Field,CRF)是序列标注中最常用也是最基本的三个模型。HMM模型是对转移概率和表现概率直接建模,统计共现概率。
MEMM模型是对转移概率和表现概率建立联合概率,统计时统计的是条件概率,但MEMM容易陷入局部最优,是因为MEMM只在局部做归一化。
CRF模型中,统计了全局概率,在做归一化时,考虑了数据在全局的分布,而不是仅仅在局部归一化,这样就解决了MEMM中的标记偏置(label bias)的问题。

CRF模型对于HMM和MEMM模型的优点:
a)与HMM比较。CRF没有HMM那样严格的独立性假设条件,因而可以容纳任意的上下文信息。特征设计灵活(与ME一样)
b)与MEMM比较。由于CRF计算全局最优输出节点的条件概率,它还克服了最大熵马尔可夫模型标记偏置(Label-bias)的缺点。
c)与ME比较。CRF是在给定需要标记的观察序列的条件下,计算整个标记序列的联合概率分布,而不是在给定当前状态条件下,定义下一个状态的状态分布。
CRF模型对于HMM和MEMM模型的缺点:训练代价大、复杂度高

2、降维

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实现记录功能,可以使用文件操作来存储和读取信息。以下是一个简单的 C 语言代码示例: ```c #include <stdio.h> #include <stdlib.h> #define MAX_SIZE 100 // 最大数 // 定义结构体存储信息 typedef struct { int question_num; // 号 char question[100]; // 目 char answer[100]; // 答案 char explanation[200]; // 解释 } Question; // 存储信息到文件 void save(Question* questions, int size, char* file_name) { FILE* fp; fp = fopen(file_name, "w"); if(fp == NULL) { printf("无法打开文件\n"); exit(1); } for(int i = 0; i < size; i++) { fprintf(fp, "%d %s %s %s\n", questions[i].question_num, questions[i].question, questions[i].answer, questions[i].explanation); } fclose(fp); } // 从文件中读取信息 void load(Question* questions, int* size, char* file_name) { FILE* fp; fp = fopen(file_name, "r"); if(fp == NULL) { printf("无法打开文件\n"); exit(1); } int i = 0; while(fscanf(fp, "%d %[^\n] %[^\n] %[^\n]\n", &questions[i].question_num, questions[i].question, questions[i].answer, questions[i].explanation) != EOF) { i++; } *size = i; fclose(fp); } int main() { Question questions[MAX_SIZE]; int size = 0; // 读取文件中的信息 load(questions, &size, "questions.txt"); // 在此处添加代码,实现记录功能 // 存储信息到文件 save(questions, size, "questions.txt"); return 0; } ``` 在上述代码中,我们定义了一个 `Question` 结构体来存储每一道的信息。`save` 函数将信息存储到文件中,`load` 函数从文件中读取信息。你可以在 `main` 函数中添加代码来实现记录功能,比如让用户输入目和答案,将输入的信息存储到结构体数组中。最后,调用 `save` 函数将更新后的信息存储到文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值