标识符

关键字(25个)

1
2
3
4
if      for     func    case        struct      import               
go type chan defer default package
map const else break select interface
var goto range return switch continue fallthrough

基于HMM和Viterbi算法的序列标注

HMM生成模型

给定句子 \(S\),对应的输出词性序列 \(T\)HMM模型的联合概率: \[ \begin{align} P(T|S) &= \frac{P(S|T)\cdot P(T)}{P(S)}\\ P(S,T) &= P(S|T)\cdot P(T)\\ &= \prod_{i=1}^{n}P(w_i|T)\cdot P(T)\\ &= \prod_{i=1}^{n}P(w_i|t_i)\cdot P(T)\\ &= \prod_{i=1}^{n}P(w_i|t_i)\cdot P(t_i|t_{i-1})\\ \end{align} \]


Transformer模型及源代码

1
2
3
4
5
6
7
8
9
10
import numpy as np
import torch
import torch.nn as nn
import torch.nn.functional as F
import math, copy, time
from torch.autograd import Variable
import matplotlib.pyplot as plt
import seaborn
seaborn.set_context(context='talk')
%matplotlib inline

BiLSTM和CRF算法的序列标注原理

CRF原理

条件随机场(conditional_random_field),是一类判别型算法,特别适合于预测任务,任务中的 上下文信息或临近状态会影响当前状态 。如序列标注任务: >判别式模型(discriminative model)计算条件概率,而生成式模型(generative model)计算联合概率分布


Temporal-Difference Learning

时序差分(Temporal-Difference)简介

  • 时序差分是强化学习的核心观点。
  • 时序差分是DP和MC方法的结合。
  • MC要等一个完整的序列结束,比如玩21点扑克,直到玩完才能知道是胜是负;相反,时序差分每经历一步,都会更新价值函数,因为每一步都会观察到一个新的Reward,比如Grid World,每走一步都知道reward是什么。
  • TD往往比MC高效;TD和MC都使用经验(experience)来解决预测问题。
  • 所谓差分就是下一个时刻的估计和当前时刻的估计的差。

Monte Carlo Methods

蒙特卡洛方法简介

使用蒙特卡洛方法不需要像DP一样,对环境要有完整的知识,而是通过经验去学习。所谓经验就是对状态、动作、奖励的采样(sample sequence)。

用sample的均值去近似期望。


第一篇 监督学习

  • 统计学习或机器学习一般包括监督学习、无监督学习、强化学习,有时还包括半监督学习、主动学习

监督学习

  • 监督学习指从标注数据中学习预测模型的机器学习问题,其本质是学习输入到输出的映射的统计规律。
  • 输入变量\(X\)和输出变量\(Y\)有不同的类型,可以是连续或是离散的。根据输入输出变量的不同类型,对预测任务给予不同的名称:输入与输出均为连续变量的预测问题称为回归问题;输出变量为有限个离散变量的预测问题称为分类问题;输入与输出变量均为变量序列的预测问题称为标注问题