自然语言处理NLP训练营笔记 Day02

自然语言处理NLP训练营笔记 Day02

闲谈 Digressions


@ZYX 写于2020年08月24日

Day 02

文本处理流程

  • Pipeline
    Day02-01图

分词 Word Segementation

  • 分词工具
    • Jieba分词
    • SnowNLP
    • LTP
    • HanNLP

最大匹配算法 max-matching

  • 本质上是贪心算法
    • 可能无法找到全局最优解
  • 参数
    • max_len
  • 缺点
    • 只能保证局部最优
    • 效率低
    • 难处理歧义 (不能考虑语义)
前向最大匹配算法 forward-max matching
  • 步骤
    • 取 前 $max\_len$ 个字符为 str
    • 若 str 在词典里则返回第一步, 否则
      • 取 $max\_len-1$ 个字符为 str
      • 重复第二步
        def max_matching(ss:str,d:set):
        if len(ss)==0 or ss in d:
            return ss
        else:
            return max_matching(ss[:-1],d)
        def forward_max_matching(s:str,d:set,max_len:int)
        i=0
        result=list()
        while i<len(s):
            word=max_matching(s[i:i+max_len],d)
            result.append(word)
            i+=len(word)
        
后向最大匹配 back-ward-max matching
  • 从后往前去

考虑语义 Incorporate Semantic

  • 步骤
    1. 输入
    2. 生成所有的分割
    3. 通过工具,选择最好的分割 (例如语言模型)
  • 概率过小问题
    有时候会出现概率是0.0000001的情况,此时浮点数可能溢出

    • 解决方法:使用 $\log$ 函数
语言模型 Language Model
  • 例子,以Unigram为例
    • “经常有意见分歧”
      • P(S1)=0.3 P(经常,有,意见,分歧)=P(经常)P(有)P(意见)P(分歧)=0.3
      • P(S2)=0.2 P(经常,有意见,分歧)=P(经常)P(有意见)P(分歧)=0.2
维特比算法 Viterbi Algorithm
  • 本质动态规划

拼写错误纠正 Speel Correction

  • 两类错误
    • 错别字,字母错误
    • 语法上错误 (如时态)
  • 修正方法
    1. insert
    2. delete
    3. replace
  • 编辑距离 edit distance
    • 对于一个input,在所有候选方案candidates中,选择编辑距离最小的方案
    • 使用DP

Alternative Way

  • 步骤
    1. 用户输入
    2. 生成编辑距离为1或2的字符串
      • 为什么只生成这些字符串?
        因为用户出错大多在这个范围之内
    3. 过滤
      • 如何过滤?
        • 问题定义
          给定一个字符串s,要找出最有可能成为正确字符串的c, 即 $\hat c=\arg\max_{c\in \text{candidates}}p(c|s)$
        • 推导 基于贝叶斯定律
          $\begin{aligned}\hat c&=\arg\max_{c\in \text{candidates}}p(c|s) \\ &=\arg\max_{c\in \text{candidates}} \frac{p(s|c)\cdot p(c)}{p(s)} \\ &=\arg\max_{c\in \text{candidates}} p(s|c)\cdot p(c) \text{, because p(s) is constant} \end{aligned}$

          • $p(s|c)$ 基于统计
            例如 $p(\text{appl}|\text{apple})$,即将apple打成appl的概率
          • $p(c)$ 基于unigram probability得出
    4. 返回

停用词过滤 Filtering Words

  • 对于NLP的应用,通常先把停用词使用频率过低的词过滤掉
    例如 “the”, “an”, “their”

    • 但是,也需要考虑应用场景

标准化操作

通常出现在英文,例如went go going都指向go

Stemming

  • 基于 语言学家 整理的合并规则
  • 不保证把词汇合并成词典中的单词

https://tartarus.org/martin/PorterStemmer/java.txt

文本的表示 Word Representation

  • One-hot representation 生成句向量
    • 例子word-repre.png
    • Sentence Representation(bool)
      sentence-repre-boolean.png

      • 即使一个单词重复出现,也置1
    • Sentence Representation(count)
      sentence-repre-count.png

      • 考虑词频

文本的相似度 Sentence Similarity

  • 计算距离(欧氏距离):$d=|s1-s2|$
    • 计算两局向量的距离
  • 计算相似度(余弦相似度) $d=s1\cdot s2/(|s1|*|s2|)$
    • 除以 $(|s1|*|s2|)$ 相当于一个 normalization

tf-idf 文本表示方法

  • 定义
    $tdidf(w)=tf(d,w)* idf(w)$

    • $tf(d,w)$ 文档$d$ 中 $w$的词频
    • $idf(w)=\log{\frac{N}{N(w)}}$
      • $N$ 语料库中的文档总数
      • $N(w)$ 有单词 $w$ 出现的文档数
      • 考虑单词的重要性
      • 若一个单词在100个文章中出现了90次,那么他的重要性不如只出现了5次的单词
        tf-idf.png

one-hot的稀疏性问题 Sparsity

  • 真实的词典大小很大
  • 所以,一句话的one-hot可能只有几个值不为零

分布式表示方法 Distributed Representation

  • 句向量长度是自定义的
    distri-repre-len
  • Word Similarity
    distri-repre-word-simi
  • 词向量 word vectors 是分布式表示方法的一种
  • 向量容量空间 Capacity
    • 100维的one-hot表示法 只能表达 100个单词
    • 100维的分布式表示法 能表达 无穷个单词

如何设置词向量

庞大的字符串集合 -> 深度学习模型 -> 训练出的词向量
– 有公开的训练好的词向量资源
word-embedding.png
– 我们希望词向量能代表单词的意思

如何用词向量表达句子

  • 平均法则 Average法则
    • 每一维取所有词的平均值
  • LSTM/RNN 方法
[机器学习西瓜书] 第05章 神经网络 笔记

[机器学习西瓜书] 第05章 神经网络 笔记

闲谈 Digressions


@ZYX 写于2020年08月06日

第05章 神经网络

5.1 神经元模型

  • 神经网络是由具有适应性的简单单元组成的广泛并行互连的网络,它的组织能够模拟生物神经系统对真实世界物体所作出的交互反应
    • 谈论神经网络时指的是神经网络学习
      • 机器学习神经网络这两学科的交叉部分
  • 最基本的成分是神经元(neuron)模型,即”简单单元”
    • 如果某神经元的电位超过了一个阈值(threshold),就会被激活
      • 兴奋起来,向其他神经元发送化学物质
    • M-P神经元模型1943年,[McCulloch and Pitts, 1943]
      • 神经元接收到来自 $n$ 个其他神经元传递过来的输入信号
        • 这些输入信号通过带权重的连接(connection)进行传递
      • 神经元接收到的总输入值将与神经元的阀值进行比较
      • 然后通过激活函数 (activation function) 处理,以产生输出
        • 理想的是阶跃函数,将输入值映射为输出值01
        • 实际常用Sigmoid函数,因为阶跃函数具有不连续、不光滑等不太好的性质
          • 它把可能在较大范围内变化的输入值挤压到(0 , 1) 输出值范围内,因此有时也称为挤压函数(squashing function)
  • 神经网络
    • 把许多个这样的神经元按一定的层次结构连接起来,就得到了神经网络
      • 只需将一个神经网络视为包含了许多参数的数学模型,即若干个函数相互(嵌套)代入而得

5.2 感知机与多层网络

圈5.3 两个输入神经元的感知机网络结构示意图
– 感知机(Perceptron) 由两层神经元组成
– 输入层接收外界输入信号后传递给输出层
– 输出层是M-P神经元,亦称阈值逻辑单元(threshold logic unit)
– 容易实现逻辑与、或、非运算, 假设 $y=f(\sum_{i}w_{i}x_{i}-\theta), f$ 是阶跃函数
– 与 ($x_{1}\wedge x_{2}$):
– $w_{1}=w_{2}=1, \theta =2$,则$y=f(1\cdot x_{1}+1 \cdot x_{2} -2)$
即 在 $x_{1}=x_{2}=1$ 时, $y=1$
– 或 ($x_{1}\vee x_{2}$):
– $w_{1}=w_{2}=1, \theta =0.5$,则$y=f(1\cdot x_{1}+1 \cdot x_{2} -0.5)$
即 当 $x_{1}=1$ 或 $x_{2}=1$ 时, $y=1$
– 非 ($\neg x_{1}$):
– $w_{1}=-0.6, w_{2}=0, \theta =-0.5$,则$y=f(-0.6\cdot x_{1}+0 \cdot x_{2} +0.5)$
即 当 $x_{1}=1$ 时, $y=0$;当 $x_{1}=0$ 时, $y=1$
数学表达
– 给定训练数据集后,权重 $w_{i}(i=1,2,\dots,n)$ 以及阈值 $\theta$ 可通过学习得到
– 阈值 $\theta$ 可看作一个固定输入为-1.0哑结点(dummy node)所对应的连接权重 $w_{n+1}$
– 这样,权重和阈值的学习就可统一为权重的学习
学习规则
– 对训练样例 $(x,y)$ , 若当前感知机的输出为 $\hat y$
权重调整
– [5.1] $w_{i} \leftarrow w_{i}+\Delta w_{i}$
– [5.2] $\Delta w_{i}=\eta (y-\hat y)x_{i}$
– $\eta$ 为学习率(learning rate)
– 感知机只有输出层神经元进行激活函数处理,即只拥有一层功能神经元(functionalneuron) ,其学习能力非常有限
– 上述与、或、非问题都是线性可分(linearly separable)的问题
若两类模式是线性可分的,即存在一个线性超平面能将它们分开 [Minsky and Papert,1969]
– 感知机的学习过程一定会收敛(converge) 而求得 $w_{i}(i=1,2,\dots,n)$;
– 否则学习过程将会发生 振荡(fluctuation) , $w$ 难以稳定下来,不能求得合适解
– 要解决非线性可分问题,需考虑多层功能神经元
输出层与输入层之间的一层神经元,被称为隐层或隐含层(hidden layer)
多层前馈神经网络(multi-layer feedforward neural networks)
– 每层神经元与下一层神经元全互连
– 神经元之间不存在同层连接,也不存在跨层连接
– 输入层 接收外界输入
– 隐层与输出层 对信号进行加工
– 输出层 输出
– 只需包含隐层,即可称为多层网络
– 神经网络的学习过程,就是根据训练数据来调整神经元之间的连接权(connection weight) 以及每个功能神经元的阈值

5.3 误差逆传播算法

  • 误差逆传播(error BackPropagation,简称BP)算法
  • 可用于多层前馈神经网络,还可用于其他类型的神经网络
  • 数学表达
    • 训练集 $D=\{(x_{1},y_{1}),(x_{2},y_{2}),\dots ,(x_{m},y_{m})\}, x_{i} \in \R^{d}, y_{i} \in \R^{l}$
    • 假定 多层前馈网络结构
      • $d$ 个输入神经元
      • $l$ 个输出神经元
      • $q$ 个隐层神经元
      • $\theta_{j}$ 输出层第 $j$ 个神经元的阈值
      • $\gamma_{h}$ 隐层第 $h$ 个神经元的阈值
      • $v_{ih}$ 输入层第 $t$ 个神经元与隐层第 $h$ 个神经元之间的连接权
      • $w_{hj}$ 隐层第 $h$ 个神经元与输出层第 $j$ 个神经元之间的连接权
    • $\alpha_{h}=\sum^{d}_{i=1}v_{ih}x_{i}$ 隐层第 $h$ 个神经元接收到的输入
    • $\beta_{j}=\sum^{q}_{h=1}w_{hj}b_{h}$ 输出层第 $j$ 个神经元接收到的输入
      • $b_{h} $ 隐层第 $h$ 个神经元的输出
    • 假定 隐层和输出层的神经元都使用Sigmoid函数
      • 假定 对训练例$(x_{k},y_{k})$,输出$\hat y_{k}=(\hat y^{k}_{1},\hat y^{k}_{2}, \dots, \hat y^{k}_{l})$ 即
        [5.3] $\hat y^{k}_{j}=f(\beta_{j}-\theta_{j})$
      • 该网络在$(x_{k},y_{k})$上的均方误差
        [5.4] $E_{k}=\frac{1}{2}\sum^{l}_{j=1}(\hat y^{k}_{j}-y^{k}_{j})$
  • 网络中有 $(d+l+1)q+l$ 个参数需确定
    • $d \times q$ 个输入层到隐层的权值
    • $q \times l$ 个隐层到输出的权值
    • $q$ 个隐层神经元的阈值
    • $l$ 个输出层神经元的阈值
  • BP是一个迭代学习算法
    • 每一轮中采用广义的感知机学习规则对参数进行更新估计
      • 数学表达
        • 任意参数 $v$的更新值为
          [5.5]$v \leftarrow v+ \Delta v$
        • 算法基于梯度下降(gradient descent)策略,以目标的负梯度方向对参数进行调整
          • 更新公式
            • [5.11] $\Delta w_{hj}=\eta g_{j}b_{h}$
            • [5.12] $\Delta \theta_{j}=-\eta g_{j}$
            • [5.13] $\Delta v_{ih}=\eta e_{h}x_{i}$
            • [5.14] $\Delta \gamma_{h}=-\eta e_{h}$
          • 对式(5.4)的误差$E_{k}$,给定学习率 $\eta$,有
            $\Delta w_{hj}=-\eta \frac{\partial E_{k}}{\partial w_{hj}}$

            1. 有[5.7] $\frac{\partial E_{k}}{\partial w_{hj}}=\frac{\partial E_{k}}{\partial \hat y^{k}_{j}}\cdot \frac{\partial \hat y^{k}_{j}}{\partial \beta_{j}} \cdot \frac{\partial \beta_{j}}{\partial \hat w_{hj}}$
            2. 根据 $\beta_{j}$ 的定义,显然有 $\frac{\partial \hat \beta_{j}}{\partial \hat w_{hj}}=b_{h}$
            3. Sigmoid函数有性质
              $f'(x)=f(x)(1-f(x))$
            • 得 $g_{j}$
              $\begin{aligned} g_{j} &=- \frac{\partial E_{k}}{\partial \hat y^{k}_{j}}\cdot \frac{\partial \hat y^{k}_{j}}{\partial \beta_{j}} \\ &=-(\hat y^{k}_{j})f'(\beta_{j}-\theta_{j}) \\ &=\hat y^{k}_{j} (1- \hat y^{k}_{j})(y^{k}_{j}-\hat y^{k}_{j}) \end{aligned}$
            • 得 $e_{h}=b_{h}(1-b_{h})\sum^{l}_{j=1}w_{hj}g_{j}$
              formula 5.15
        • 学习率 $\eta \in (0,1)$ε 控制着算法每一轮迭代中的更新步长,太大则容易振荡,太小则收敛速度又会过慢
          • 有时为了做精细调节,可令[5.11] 与 [5.12] 用 $\eta_{1}$,式 [5.13] 与 [5.14] 使用 $\eta_{2}$ ,两者未必相等.
  • 步骤
    1. 先将输入示例提供给输入层神经元
    2. 然后逐层将信号前传,直到产生输出层的结果
    3. 然后计算输出层的误差
    4. 再将误差逆向传播至隐层神经元
    5. 最后根据隐层神经元的误差来别连接权和阈值进行调整
    • 该法代过程循环进行,直到达到某些停止条件为止
  • 代码
    输入:训练集D
    学习率η
    过程:
    在(0 , 1)范固内随机初始化网络中所有连接权和阈值
    repeat
        for (x_k , y_k) in D
            根据当前参数和式(5.3) 计算当前样本的输出\hat y_k
            根据式(5.10) 计算输出层神经元的梯度项g_j
            根据式(5.15) 计算隐层神经元的梯度项e_h
            根据式(5.11)-(5.14) 更新连接权w_hj , v_ih 与阙值θ_j, γ_h
        end for
    until 达到停止条件
    输出:连接权与阈值确定的多层前馈神经网络
    
  • BP算法的目标是要最小化训练集 $D$ 上的累积误差
    $E=\frac{1}{m}\sum^{m}_{k=1}E_{k}$
  • 累积误差逆传播
    • 标准BP算法每次仅针对一个训练样例更新连接权和阈值
    • 类似地推导出基于累积误差最小化的更新规则,就得到了累积误差逆传播(accumulated error backpropagation)算法
    • 标准BP算法 vs 累积误差逆传播
      • 更新频率
        • 标准BP算法往往需进行更多次数的迭代
        • 累积BP算法直接针对累积误差最小化,它在读取整个训练集 $D$ 一遍后才对参数进行更新,其参数更新的频率低得多
      • 效率
        • 累积误差下降到一定程度之后,进一步下降会非常缓慢
        • 标准BP往往会更快获得较好解,尤其是在训练集 $D$ 非常大时更明显
    • [Hornik et al., 1989] 证明,只需一个包含足够多神经元的隐层,多层前馈网络就能以任意精度逼近任意复杂度的连续函数
    • 如何设置隐层神经元的个数仍是个未决问题,实际应用中通常靠试错法(trial-by-error)调整
  • 过拟合
    • 有两种策略常用来缓解BP网络的过拟合
      • 早停(early stopping): 将数据分成训练集和验证集,若训练集误差降低但验证集误差升高,则停止训练,同时返回具有最小验证集误差的连接权和阈值
      • 正则化(regularization): 在误差目标函数中增加一个用于描述网络复杂度的部分
        • 例如连接权与阔值的平方和
        • [5.17] $E=\lambda \frac{1}{m}E_{k}+(1-\lambda)\sum_{i}w_{i}^{2}$
          • $\lambda \in (0,1)$ 用于对经验误差与网络复杂度这两项进行折中,常通过交叉验证法来估计

5.4 全局最小与局部极小

  • 神经网络的训练过程可看作一个参数寻优过程
  • 2种最优:
    • 局部极小 (local minimum)
      • 对 $w^{*}$ 和 $\theta^{*}$,若存在 $\epsilon >0$
        使得 $\forall (w;\theta)\in \{(w;\theta)| || (w;\theta)-(w^{*};\theta^{*})|| \le \epsilon \}$ 都有$E(w;\theta)\ge E(w^{*};\theta^{*})$成立,则 $(w^{*};\theta^{*})$ 为局部极小解
      • 是参数空间中的某个点,其邻域点的误差函数值均不小于该点的函数值
      • 参数空间内梯度为零的点,只要其误差函数值小于邻点的误差函数值,就是局部极小点
    • 全局最小 (global minimum)
      • 是指参数空间中所有点的误差函数值均不小于该点的误差函数值
    • 可能存在多个局部极小值,但却只会有一个全局最小值
  • 基于梯度的搜索
    • 从某些初始解出发,迭代寻找最优参数值
      • 每次迭代中,我们先计算误差函数在当前点的梯度,然后根据梯度确定搜索方向
      • 若误差函数在当前点的梯度为零,则已达到局部极小,更新将在此停止
    • 如果有多个局部极小,则不能保证找到的解是全局最小,称参数寻优陷入了局部极小
      • “跳出”局部极小
        • 以多组不同参数值初始化多个神经网络,按标准方法训练后,取其中误差最小的解作为最终参数
        • 使用模拟退火(simulated annealing)技术
          • 每一步都以二定的概率接受比当前解更差的结果,从而有助于”跳出”局部极小
            • 接受”次优解”的概率要随着时间的推移而逐渐降低,从而保证算法稳定
        • 使用随机梯度下降
          • 即便陷入局部极小点,它计算出的梯度仍可能不为零
        • 遗传算法(genetic algorithms)
      • 上述技术大多是启发式,理论尚缺乏保障

5.5 其他常见神经网络

5.5.1 RBF网络

  • RBF(Radial Basis Function,径向基函数)网络
    • 使用径向基函数作为隐层神经元激活函数
    • 输出层则是对隐层神经元输出的线性组合
  • 数学表达
    • 假定输入为 $d$ 维向量 $x$,输出为实值,则RBF网络可表示为
      [5.18] $\varphi(x)=\sum^{q}_{i=1}w_{i}\rho (x,c_{i}) $

      • $q$ 为隐层神经元个数
      • $c_{i}$ 和 $w_{i}$ 分别是第 $i$ 个隐层神经元所对应的中心和权重
      • $\rho(x,c_{i})$ 是径向基函数,这是某种沿径向对称的标量函数,通常定义为样本到数据中心之间欧氏距离的单调函数
        常用的高斯径向基函数形如 $\rho(x,c_{i})=e^{-\beta_{i}||x-c_{i}||^{2}}$
  • [Park and Sandberg, 1991]证明,具有足够多隐层神经元的RBF 网络能以任意精度逼近任意连续函数
  • 通常采用两步过程来训练RBF 网络
    1. 第一步,确定神经元中心 $c_{i}$
    2. 第二步,利用BP算法等来确定参数$w_{i}$ 和 $\beta_{i}$

5.5.2 ART网络

  • 竞争型学习(competitive learning) 是一种无监督学习策略
    • 网络的输出神经元相互竞争,每一时刻仅有一个竞争获胜的神经元被激活,其他神经元的状态被抑制
      • 亦称”胜者通吃” (winner-take-all) 原则
  • ART(Adaptive Reson.ance Theory,自适应谐振理论)网络
    • 结构
      • 比较层
        • 负责接收输入样本,并将其传递给识别层神经元
      • 识别层
        • 每个神经元对应1个模式类
        • 神经元数目可在训练过程中动态增长,以增加新的模式类
      • 识别阈值
      • 重置模块
  • 在接收到比较层的输入信号后,识别层神经元之间相互竞争以产生获胜神经元
    • 最简单力自式是,计算输入向量与每个模式类代表向量之间的距离,距离最小者胜
  • 获胜神经元将向其他识别层神经元发送信号,抑制其激活
  • 若输入向量与获胜神经元所对应的代表向量之间的相似度大于识别阈值
    • 则当前输入样本将被归为该代表向量所属类别
    • 同时,网络连接权将会更新,使得以后在接收到相似输入样本时该模式类会计算出更大的相似度,而使该获胜神经元有更大可能获胜
  • 若相似度不大于识别阑值,则重置模块将在识别层增设一个新的神经元,其代表向量就设置为当前输入向量
  • 识别阈值对ART网络的性能有重要影响
  • ART比较好地缓解了竞争型学习中的”可塑性-稳定性窘境” (stabilityplasticity dilemma)
    • 可塑性是指学习新知识的能力
    • 稳定性是指在学习新知识时要保持对旧知识的记忆
    • 优点:可进行增量学习(incremental learning)或在线学习(online learning)

5.5.3 SOM网络

【动漫】为京阿尼祈福 PrayForKyoAni

【动漫】为京阿尼祈福 PrayForKyoAni

闲谈 Digressions


@ZYX 写于2019年07月19日

2019年7月18日上午,日本京都伏见区京都动画公司(KyotoAnimation)第一工作室遭人恶意纵火。至本文发布时,该事件已经导致33人死亡,超60人受伤。同时,数部经典作品的原稿被毁。

【动漫】良番保存企画
欢迎 Welcome

欢迎 Welcome

闲谈 Digressions


@ZYX 写于2018年08月25日

欢迎来到我的博客网站。
Welcome to my blog.

个人介绍:

  • 本科修计算机

  • 这些也是我喜欢的科目↑。

  • 个人硬件配置

  • 美术方面的兴趣:摄影,古典主义,印象派,极简主义

  • 音乐方面的兴趣: 乐器:弗拉门戈吉他,复音/蓝调/半音阶口琴。 歌手:Sabaton,Tom Odell,Detektivbryan(站点名就来源于这个乐队),高橋優,スキマスイッチ,李志。 兴趣范围:各种原声带(包括车万),线列时代军乐,极简主义,民谣,重金属,电音纯音乐。


Self Introduction:– Computer Science Major in Undergraduate

  • My Devices
  • Art: Photography, Classic, Impressionism, Minimalism.
  • Music:
    • Instrument: Flamenco Guitar, Harmonica
    • Band/Singer: Sabaton, Tom Odell, Detektivbryan (The origin of name Honky Tonk), Takahashi Yuu, Sukipusuicchi, Li Zhi
关于卡耐基梅隆大学(CMU)夏校APEA项目的经验 【 持续更新 】

关于卡耐基梅隆大学(CMU)夏校APEA项目的经验 【 持续更新 】

闲谈 Digressions


@ZYX 写于2018年07月06日

2018年的卡耐基梅隆大学(CMU)的APEA项目是在6月30日正式开始的。国际生要求在6月28日9:00~16:00之间到校。APEA项目是学分制课程,虽然他们的官方名称是Pre-college,但实际上其内容和大学课程是相同的,甚至,由于APEA项目是要在6周之内学完普通大学生一学期的课程,这个项目比大学课程都要难。比如我的世界史课程就有许多大学生一起参加,虽然他们都是强制参加的。

碎碎念:

  1. 如果只是夏校的话,美国的入境程序会相对简单一点。可是,队伍会很长,而且美国人办事效率虽然不算低,但也绝不算高。到了入境检查区,F1签证的就去找Visa的窗口,会有工作人员指引。
  2. 入境之后,一定要注意行李带有无更换。如果你在原来的行李传输带旁没有找到行李,那么很有可能是换传输带了,所以请先询问或者查询航班当下的传输带。我就遇到了两个以为行李不见了之后出关遇到麻烦的留学生。
  3. 拿完行李之后去提交海关申报单,沿着路走,如果没有问题,会有工作人员询问是否抵达目的地,转机的话,工作人员会提供一定指引。
  4. 到达转机柜台redrop,就是正常的值机手续。
  5. 然后根据情况,去相应的航站楼重新安检。如果你的飞机是在第二天,也是可以提前安检的。注意,如果你是TSA的机票的话,请走快速安检的TSA通道。详情可以查询TSA相关规定(只会变松,变快)。
  6. 机场可以过夜,但是夏天空调很足,注意保暖。当然,请别抱有可以好好睡一觉的幻想。
  7. 隔夜的飞机登机口会经常变更,所以不建议一收到变更通知就去新登机口。你完全可以在登机前预留一定时间去。
  8. 注意时差,美国是多官方时区的,所以飞行时间并不一定是到达-出发。
  9. 美国国内航班入境不需任何手续,比国内高铁还简单。
  10. 如果你是转机的话,行李不一定在行李传输带上,旁边的航空公司柜台可能会有你的行李。当然,工作人员也可能上来询问他们那儿的行李是否是你的。
  11. CMU夏校现在有接机人了。他们会在行李传输带那边举着CMU的纸。一般他们是CMU的大学生+夏校的RA(Residential Assistant)。CMU的话,很大可能遇到中国留学生。
  12. RA会给你你的CMU ID卡,这个卡至关重要。ID卡会被夹在一个小册子里,这个册子里有详细的校园地图,你的课程单(时间+地点),以及一些注意事项之类的。这个小册子将是你熟悉校园的重要工具。
  13. RA会在公交车(28X)到达前带着学生去公交车站。但是很显然,美国的公交车一般都会迟到。
  14. 虽然是机场巴士,28X和普通公交车差不多,没有专门的行李架。这意味着你需要找到一个好位子。美国的马路并不平整,而且公交车急转弯是常有的事,请一定要固定好或者扶好你的行李箱。
  15. 你的ID卡可以让你免费乘坐匹兹堡市的所有巴士。这个在下面的ID卡专区会讲。
  16. 到达CMU之后,跟着RA,你会被带到签到处。
个人硬件

个人硬件

闲谈 Digressions


@ZYX 写于2018年05月18日

主机:

没上Linux,现Win10,可以算上是低端工作站了吧。

CPU: Intel i7-6700k 四核 4.0GHz 八线程

内存:4×8GB DDR4 2133MHz

美国主机:

CPU: AMD 2600

内存:16GB DDR4 2400MHz + 8GB DDR4 2133MHz

笔记本:

戴尔游匣,办公,外出娱乐,Win10。

老戴尔胡乱DIY,Linux学习机,私人服务器。

老宏基胡乱DIY,Linux学习机,日语键盘学习器。

手机:

1+7pro,主手机

1+5,安卓9.0试验田。

索尼Z5,安卓5.0+试验田。

索尼Z3,安卓5.0-试验田。

单反:

尼康D7000, D800。

尼康镜头18-105,16-85,50定焦

已到首页—已到末页