mathacker

no math, little hacker


  • Home

  • Categories

  • About

  • Archives

  • Tags

Thomas' Calculus - 微分

Posted on 2017-07-23

《托马斯微积分》,以前看过前八章,内容大致包括导数、积分和无穷级数。最近想更系统的学习数学分析,从本书开始,先补完后面几章,尤其是多元函数的微分和重积分,然后是科朗的《微积分和数学分析引论》,增强一下理论基础。

另外,edX上有公开课18.01.1x Calculus 1A: Differentiation,它源自更早的MIT 18.01 on OCW,后者在网易公开课上早已有翻译。大概浏览过一遍,其思路与托马斯微积分接近。从数学上来说强调直观理解,难度不算高,适合自学。但如果想获得关于微积分的坚实理论基础,托马斯微积分和公开课无疑是缺失了很多的。

所以这一关于微积分的系列文章,将从两种角度来了解微积分,先从托马斯微积分开始,之后是科朗的。

预备知识

  • 了解函数、参数方程的概念
  • 以函数或参数方程为现实世界的问题建立模型

直线

增量

定义:当平面上一个质点从一点移动到另一点,其坐标的纯改变或增量通过把终点坐标减去起点坐标而求得。从点$(x_1, y_1)$到$(x_2, y_2)$,其坐标增量为:

$$\Delta x = x_2 - x_1, \Delta y = y_2 - y_1$$

后面会多次看到“增量”的使用。

斜率(Slope)

每条非垂直的直线$L$都有斜率(垂直于$x$轴的就“不斜”了),若$(x_1, y_1)$和$(x_2, y_2)$是$L$上两点,那么$L$的斜率是:$\frac{\Delta y}{\Delta x}$。

斜率的直接意义是,$x$每行进单位距离时,高度的变化。又可以看做直线与横轴夹角的正切值,这也从另一方面说明垂直于横轴的直线没有斜率。

注意:斜率对于“导数”的定义有着根本的重要性,导数的几何意义即曲线在一点的切线斜率。

方程

  • 点斜式:$y = m(x - x_1) + y_1$
  • 斜截式:$y = mx + b$
  • 一般式:$Ax + By = C$,($A$和$B$不全为0)

点斜式和斜截式预设了斜率是存在的,一般式不是,但前两种使用起来更方便。

点$(a, b)$到直线$Ax + By = C$的距离是:$\frac{|Aa + Bb - C|}{\sqrt{A^2+B^2}}$

线性回归

可使用scikit-learn或R之类的工具。

函数与图形

函数

定义:从集合$D$到集合$R$的一个函数是对$D$中每个元素指定$R$中唯一确定的元素的一种规则。

我最喜欢的数学家欧拉(Leonhard Euler)首先使用一种符号表示函数的方法:$y = f(x)$。这也是我们最熟悉的一种记法了。根据函数的定义,函数本质上由规则与定义域决定,因为一旦二者确定,其值域也就确定下来了。这也符合自变量和因变量两个名称的含义。

基本性质

  • 单调性:增函数、减函数
  • 奇偶性:奇函数、偶函数,注意两者图像之特征

分段函数

绝对值函数$y = |x|$定义如下:

$$[ f(n) =
\begin{cases}
-x & \quad \text{if } x < 0\
x & \quad \text{if } x \geq 0 \
\end{cases}
]$$

该函数定义颇简单,但可作为连续而不可导的基本示例。$|x|$等价于$\sqrt{x^2}$。绝对值相关的一个基本不等式是:$|a + b| \leq |a| + |b|$。

函数图像的移位

  • 水平移位:$y = f(x + h)$与$y = f(x)$的关系
  • 垂直移位:$y = f(x) + k$与$y = f(x)$的关系

复合函数

复合函数无处不在,毕竟基本函数就那么几个。

指数函数

在科学和工程应用中指数函数$y = a^x$特别重要。其中对自然、物理和经济现象的建模中用到的最重要的指数函数是自然指数函数$y = e^x$,后面将会看到为何该函数是”自然的“。

存款的复利是指数增长的一个例子,碳-14原子的衰减是放射性衰减的一个例子。

反函数与对数函数

如果一个函数是一对一的,那么可以定义其反函数,即原函数规则的逆。反函数与原函数的图像关于直线$y = x$对称。反函数与原函数的复合函数形成恒等式。

指数函数的反函数称为对数函数。两个重要的恒等式:

$$a^{log_a x} = x, log_a a^x = x$$

对数的乘积法则、商法则、幂法则和换底公式都是很常用的。

速算技巧:70法则:$ln2 \approx 0.70$,如果连续复利率为$r\%$,那么其翻倍的年数为$\frac{70}{r}$。

三角函数

由于三角函数的周期性,很多自然发生的周期过程可以用三角函数建模,如脑电波、心跳、家用的电流与电压,有强烈的证据表明冰河期是周期性的,其周期为9万年到10万年。

进一步地,一个令人惊讶且优美的高等微积分的定理(哪一个呢?)说明,每个周期函数都可以表示为正弦与余弦的代数组合。

一般的三角函数的图像往往是基本三角函数的移位、伸缩、反射。

参数方程

有时候一条曲线不能用形如$y = f(x)$的形式表示,但可以借助于参数变量描述。

定义:如果$x$和$y$由$t$值的区间上的函数
$$x = f(t), y = g(t)$$
给出,那么由这些方程定义的点集$(x, y) = (f(t), g(t))$是一条参数曲线。方程称为曲线的参数方程。

例:$x = acost, y = bsint, 0 \leq t \leq 2 \pi$,定义了一个椭圆。

极限和连续

极限无疑是微积分诸概念的基础,是微积分有别于初等代数与三角的诸多概念之一。

变化率和极限

平均变化率

运动物体在一段时间内的平均速度是我们熟悉的概念,应该在小学时就接触到了。以自由落体运动为例,物体位移与时间的关系为$y = \frac{1}{2}gt^2$。依此可知,物体在一段时间行进距离和平均速度。如果时间改变量$\Delta t$很小,那么我们可以认为物体在某一时刻的速度大致是多少。事实上,汽车时速表的瞬时速度(当前速度)即是以这种方式计算得来。

平均速度涉及到函数的平均变化率:

定义:$y = f(x)$关于$x$在区间$[x_1, x_2]$上的平均变化率是:

$$\frac{\Delta y}{\Delta x} = \frac{f(x_2) - f(x_1)}{x_2 - x_1} = \frac{f(x_1+h) - f(x_1)}{h}$$

几何上,平均变化率就是割线的斜率。注意,这里数学上的平均变化率在几何上和物理上分别对应到了割线斜率和平均速度。那么瞬时速度对应到什么呢?由上面介绍可知,它的近似值是当$\Delta t$很小很小时的平均速度,但”很小很小“显然不是一个严谨的术语,要给出瞬时速度的严格定义,需要借助于极限的概念。

函数的极限

考虑下面函数在$x = 1$附近的性态:

$$f(x) = \frac{x^2 - 1}{x - 1}$$

此函数在$x = 1$处无定义,对于$x \neq 1$则可以简化为$f(x) = x + 1$,因此$f$的图形就是抠掉了点$(1, 2)$的直线$y = x + 1$。

尽管$f(1)$无定义,但我们仍可以说,当$x$充分靠近1时,函数值能够任意靠近2。换言之,不管你希望$f(x)$多么靠近,通过选择足够靠近1的$x$,就是可以做到的。由此例可引出一般的极限的非正式定义:

设$f(x)$除了可能在点$x_0$没有定义外,在$x_0$的一个开区间内均有定义。如果对充分靠近$x_0$的$x$,$f(x)$能够任意靠近$L$,那么我们就说当$x$趋于$x_0$时$f$趋于极限$L$,记作:

$$\lim_{x \to x_0} f(x) = L$$

这里用到了充分靠近和任意靠近这样的词,很不严谨,因此说是非正式定义,但我们通过上例可以得到直观的概念。值得特别注意的是,极限的判断与求值与$x_0$处是否有定义及值为多少没有任何关系。

极限的定义中,要求函数值要能够任意靠近某值,若当$x \to x_0$时,不能满足这一点,那么极限就不存在了。常见的几种情况是:

  • 函数跳跃:如单位阶梯函数、下取整函数
  • 函数无限增大:如$y = 1/x$
  • 振荡:如$y = sin \frac{1}{x}$

极限的正式定义

下面的定义说明充分靠近和任意靠近的精确含义是什么:

设$f(x)$除了可能在点$x_0$没有定义外,在$x_0$的一个开区间内均有定义。我们说当$x$趋于$x_0$时$f$趋于极限$L$,记作:

$$\lim_{x \to x_0} f(x) = L$$

如果,对充分任何数$\epsilon > 0$,存在相应的数$\delta > 0$使得对所有满足$0 < |x - x_0| < \delta $的$x$,有$|f(x) - L| < \epsilon$。

如果选取的$\epsilon$非常小,那么$|f(x) - L| < \epsilon$意味着$f(x)$在某邻域内离$L$非常近,而“某邻域”有赖于找到相应的$\delta$。总之,不管你希望函数值离$L$多么近,总能找到$\delta$保证之,就可以确保极限是存在的,且值为$L$。

极限的求值与单侧极限

极限法则

通过图像和极限定义,我们可以求出一下简单函数的极限,如$y = c$,$y = x$。在此基础上,通过若干极限法则,我们可以求得更复杂函数的极限。这些法则是:若$\lim_{x \to c} f(x) = L$,$\lim_{x \to c} g(x) = M$

  • 和法则:$\lim_{x \to c} (f(x)+g(x)) = L + M$
  • 差法则
  • 积法则
  • 商法则:$\lim_{x \to c} \frac{f(x)}{g(x)} = \frac{L}{M}, if M \neq 0$
  • 幂法则:若$r$和$s$都是整数,$s \neq 0$,那么$\lim_{x \to c} f(x)^{\frac{r}{s}} = L^{\frac{r}{s}}$

通过这些法则,我们就立即了解了如何求得有理函数的极限(除了分母极限为$0$的情况)。对于分母为$0$的情况,一般先考虑能否消去零分母。

三明治(夹逼)定理

设在包含$c$在内的某个开区间中除$x = c$外所有的$x$,有$g(x) \leq f(x) \leq h(x)$,又设

$$\lim_{x \to c} g(x) = \lim_{x \to c} h(x) = L$$

那么,$\lim_{x \to c} f(x) = L$。

由此定理可求得:$\lim_{x \to 0} sin(x) = 0$,$\lim_{x \to 0} cos(x) = 1$

双侧极限

当$x \to c$时,若只查看在$c$一侧的$x$,则得到单侧极限,相应地上面所说的极限即双侧极限,两者的关系是:当$x \to c$时,函数$f(x)$有极限当且仅当$f$的左侧极限和右侧极限存在且相等。

例:$\lim_{x \to 0} \frac{sin \theta}{\theta } = 1$

与无穷有关的极限

无穷($\infty$)的记号并非表示它是一个实数,它用来描述函数的性态,即定义域或值域中的值会超过任意有限的界限。

当$x \to \pm \infty$时的极限

此时极限的定义与趋于某点是一致,只是此时寻找的不是某个邻域了。

另外,此时的极限也遵循与有限值相同的极限法则。

当$x \to \pm \infty$时有理函数的极限

当分子次数不大于分母次数时有极限,否则无。

水平和垂直渐近线:无穷极限

当函数图像愈来愈远离原点地移动时和某条固定直线见的距离趋于零时,我们说该图像渐进地趋于该直线,该直线是该图像的一条渐近线(即字面意思)。图像可在水平和垂直方向上移动,相应地有水平渐近线与垂直渐近线。

注意:这里是说图像移动,而非自变量。

例:函数$f(x) = \frac{1}{x}$,水平渐近线是$x$轴,垂直渐近线是$y$轴。

对于函数$f(x) = \frac{2 x^2 - 3}{7x+4}$,有$f(x) = (\frac{2}{7}x - \frac{8}{49}) - \frac{115}{49 * (7x+4)}$,左边部分所表示的直线是函数的一条斜渐近线。

无穷极限的精确定义

无穷极限与有限极限有非常类似的正式定义,在此不再赘述。

连续性

现在对极限有了基本的认识。如果我们把考虑的极限限定在有界的极限上,并且关注该极限值与函数在该点函数值的关系,会得到什么有趣的结果呢?

在我们手绘函数图像时,会选择用一条不间断的、光滑曲线来表示。这里的不间断和光滑属于直观的感觉,同时也有其数学基础。先看不间断的,所谓不间断,我们就假设了函数是连续的,即函数的取值不会发生跳跃。

在经典力学领域内,连续函数是最主要的一类函数,在如此大的尺度下,我们足可以认为函数是连续的。但在量子力学和计算机科学内就不如此了。无论如何,连续函数都是具有重要意义的一类函数。函数在一点的连续性是如下定义的:

函数$f(x)$在其定义域的内点$c$处是连续的,如果:

$$\lim_{x \to c} f(x) = f(c)$$

在端点处的定义类似,只需要双侧极限替换为单侧极限。(实际上,不管是内点还是端点,我们都可以考虑其单侧连续性,此时称为左连续或右连续)

上述为函数在内点与端点的连续性定义。此定义符合我们的直觉,若函数在$c$点有极限,那么函数值在该点附近靠近其极限值,如果极限值不等于函数值,那么必然就出现了跳跃情况。另外,此定义也给出了检验函数连续性的基本方法。

间断点

如果函数$f$在点$c$处不是连续的,我们就说$f$在$c$间断,而$c$是$f$的一个间断点。间断点有如下几种情况:

  • 可去间断点:如果改变在该点的函数值,函数就变为连续的了,故曰可去。可去间断点又有两种情况,一是函数值无定义,一是函数值不等于极限值。
  • 跳跃间断:函数出现了跳跃,单侧极限都存在但不相等,故极限不存在
  • 无穷间断:此时极限不存在
  • 振荡间断:此时极限不存在

连续函数

函数在一个区间上连续当且仅当它在该区间的每一点连续。连续函数是在定义域内每一点连续的函数。

我们最熟悉的那些函数(多项式函数、有理函数、三角函数、反三角函数、指数函数、对数函数)都是连续函数,从中学就开始接触这些函数,并不令人意外:)

连续函数的反函数也是连续函数,这一点从图像的对称性可以得知。另外,它们也有自然的运算法则。

连续函数的复合函数也是连续函数。

连续函数的中间值定理

在区间上连续的函数具有在数学上和应用中特别有用的性质。其中之一是中间值性质——连续函数的中间值定理:

在闭区间$[a, b]$上连续的函数一定取到$f(a)$和$f(b)$之间的每一个值。

几何上,用一支笔不离开纸面从$a$画到$b$,连续性保证函数值不会跳跃,从而画出的线是不间断的,这一点称为连通性。也可以说,在数$f(a)$和$f(b)$之间与$y$轴相交的任何水平直线$y = y_0$与曲线$y = f(x)$至少相交一次。

某些情况下,这一点也可以用来判断方程根的存在性。看下面的例子:

不动点定理:设函数$f$在闭区间$[0, 1]$上连续并且对$[0, 1]$上任一点有$0 \leq f(x) \leq 1$,试证明$[0, 1]$中一定存在一点$c$使得$f(c) = c$($c$称为$f$的不动点)

证明:令$g(x) = f(x) - x$,考察$g(0)与g(1)$的值,以及何处有零点。

切线

在第一节曾从图像上简单地讨论过曲线的割线与切线,彼时我们通过割线斜率的极限来求得曲线的切线斜率。

什么是曲线的切线?

如果是初次接触“曲线的切线”这一说法,也许你会想到的是中学里圆的切线。圆的切线垂直于过切点的半径(或者说切点与曲线中心的连线),与圆恰好有一个交点,而且切线位于圆的一侧。但对于一般的曲线来说,上述三个特点不足以表达切线的含义。

就是说,满足上述某一特点的未必是切线,反过来一条切线未必满足上述特点。那么,怎样定义一般曲线的切线呢?回想1.1中提到的平均速度和瞬时速度,这里以同样的思路考察割线之变化,其斜率的极限就是切线斜率。

历史:求曲线的切线这个问题是17世纪早期首要的数学问题。光学中,切线决定着光线射入弯曲的镜头的角度;力学中,切线揭示了物体沿其运动路径每一点的运动方向。

切线的定义

现在看上面所说从割线斜率到切线斜率,有如下定义:

曲线$y = f(x)$在点$P(x_0, f(x_0))$的斜率是数:

$$m = \lim_{h \to 0} \frac{f(x_0 + h) - f(x_0)}{h},若该极限存在$$

从而有,曲线在点$P$的切线是过点$P$且以$m$为斜率的直线。

上面极限的函数表示的就是过点$P$的割线的斜率,当$h$趋于零时,如果极限存在,我们就认为它是切线的斜率。

例:如果我们把此定义应用在直线$y = mx +b$上,那么会得到,过直线上一点的切线就是其自身。首先从切线定义来看,这是自然的结果;另外,若从割线斜率之变化来看,割线的斜率等于直线自身的斜率,也就是说上面的极限中,所求的乃是一个常数函数的极限,其结果就是常数本身,也就是直线自身的斜率。

需要注意的是,切线定义中的极限里,变化的是$h$(也就是自变量的增量)而不是自变量本身,即我们关心的增量变化时的结果,这在初次接触时可能会觉得有点绕。我们把$x$作为固定下来的常量,把增量作为自变量,就很自然了——这只是一个普通的函数极限求值。

变化率:在一点的导数

表达式

$$\frac{f(x_0 + h) - f(x_0)}{h}$$

称为$f$在$x_0$处增量为$h$的差商。如果$h \to 0$时差商有极限,那么该极限就称为$f$在$x_0$的导数。如果我们把差商解释为割线的斜率,那么导数就给出了函数在$x = x_0$处曲线的斜率和切线的斜率。如果把差商解释为1.1中讨论过的平均变化率,那么导数就给出了函数在$x = x_0$处关于$x$的变化率。而如果把差商解释为平均速度,那么导数就给出了物体在一时刻的瞬时速度。

此时,我们应该能感觉到导数的重要性,它是微积分所考虑的两个最重要的对象之一,另一个是积分。

习题

给$0^0$指定值:指数法则告诉我们如果$a$不等于$0$,那么$a^0 = 1$,如果$n$是正数,那么$0^n = 0$,那么$0^0$的值应该是什么比较合理呢?

提示:方法1:计算当$x$趋于$0$时,$x^x$如何变化;方法2:做函数$y = x^x$的图形,比如在Mathematica中,然后考虑连续性。

只在一点连续的函数:设有函数定义如下

$$[ f(x) =
\begin{cases}
x & \quad \text{如果 } x \text{ 是有理数}\
0 & \quad \text{如果 } x \text{ 是无理数}\
\end{cases}
]$$

那么,函数只在$x = 0$处连续。

狄利克雷(Dirichlet)直尺函数:$f(x)$定义域为$[0, 1]$,且定义为

$$[ f(x) =
\begin{cases}
\frac{1}{n} & \quad \text{如果 } x = \frac{m}{n},以最低项表示的有理数 \
0 & \quad \text{如果 } x \text{ 是无理数}\
\end{cases}
]$$

那么,$f$在每个有理数处间断;$f$在每个无理数处连续。

小结

本章先是定义了极限,借助于极限我们可以考察函数在趋于某个值(或$\pm \infty$)时变化的趋势。很重要的一点是,这里不止是趋势,它最终还是一个确定的数值。要定义出这个数值,我们需要实数连续统,加之严格的极限定义,如此方可确信我们确实拿到了一个有效定义的数值。

有了极限,考察函数在趋于一点时的变化趋势——即它的极限——与函数值本身的关系,我们得到的是连续性的概念。通过连续性可以考察函数值变化的性态。

然后考察平均变化率(或割线斜率/平均速度)的极限,便得到瞬时变化率(或切线斜率/瞬时速度)。瞬时变化率称为导数,导数与它在几何和物理上的解释都是极为基础和重要的。

导数

作为函数的导数

导函数

导数定义在函数定义域内的一点上。对于导数存在的一点来说,可认为是定义了从$x$到其导数的一个映射,或者说一个函数,这个函数称为导函数:

$$f’(x) = \frac{f(x+h) - f(x)}{h}$$

计算导数的过程称为微分。如果在一点$x$处$f’$存在,我们就说$f$在$x$是可微的(有导数)。如何函数$f$在定义域内每一点都可微,那么就说$f$是可微的。

记号

记号$f’(x)$来自于牛顿,$\frac{dy}{dx}$来自于莱布尼兹。

常见函数之导函数

$f$定义了与$x$的对应关系,那么理论上可由此得出$f’$与$x$的对应关系,而无须逐一求值。

  • 常数函数$f(x) = c$,$f’(x) = 0$,常数函数的变化率为0,在任一点的”切线“斜率为0。
  • 正整数幂函数:$\frac{d}{dx} x^n = n x^{n-1}$
  • 乘常数法则:$\frac{d}{dx} (cu) = c \frac{du}{dx}$
  • 导数和法则

区间上的可微性

与连续性一样,我们同样可考察函数在一个区间上的可微性,并且在端点上可以判断其单侧导数。

例:绝对值函数$y = |x|$在$x = 0$处不可微。其图像说明此处有一”角“,那么在该点没有切线,故不可微。因此可微性是一种”光滑性“条件。

可微与连续

可以证明:可微性蕴含着连续性。

该结论同时也给出了一个函数不可微的一种原因:不连续。

函数在一点不连续的情形:

  • 角点:单侧导数不相等
  • 尖点:一侧趋于$\infty$,另一侧趋于$-\infty $
  • 垂直切线:(无斜率)
  • 间断:不连续

导数的中间值性质

中间值定理:如果$a$和$b$是$f$在其上可微的区间中的两个点,那么$f’$一定取到$f’(a)$和$f’(b)$中间的每个值。

该定理实际上是对导函数做出了限定,这意味着并非每个函数都能成为某个的导函数。这个中间值定理看起来与连续函数的中间值定理颇相关,至于连续函数、导函数与原函数的关系,等后面学习积分时能了解到。

二阶与高阶导数

导函数可看作函数的一阶导数,而一阶导数作为函数,亦有自己的函数,成为二阶导数,以此类推。

作为变化率的导数

瞬时变化率

定义:瞬时变化率就是导数

$$f’(x_0) = \lim_{h \to 0} \frac{f(x_0 + h) - f(x_0)}{h}$$

倘若该极限存在。

习惯上,即使$x$不表示时间,我们也说瞬时变化率。同时,常常将“瞬时”二字略去,当我们说变化率时,就是在说瞬时变化率。

例:圆面积$A$和直径的关系由方程$A = \frac{\pi}{4} D^2$表示,当直径为10米时,面积关于直径的变化率有多大?

考虑面积关于直径的平均变化率,它表示当直径增加1个单位长度时,面积的增量。而关于一点的变化率,则是其极限情况。后面学习线性近似时会了解到此变化率的作用。

直线运动

  • 位移:$s = f(t)$
  • 速度:$v(t) = \frac{ds}{dt} = \lim_{\Delta t \to 0} \frac{f(t + \Delta t) - f(t)}{\Delta t}$,速度除了告诉我们速率,还告诉我们方向。
  • 速率:速度的绝对值
  • 加速度:$a(t) = \frac{dv}{dt}$
  • 急推:$j(t) = \frac{da}{dt}$

急推是位移函数的三阶导数。这意味着,对于自由落体运动来说,急推为0。

经济学中的导数

工程师用速度和加速度描述运动,经济学家则用边际来指称他们的变化率。生产的边际成本是成本关于生产水平的变化率。若产品成本$c(x)$是所生产单位产品数量$x$的函数,边际成本是$\frac{dc}{dx}$。

有时把生产的边际成本近似为多生产一个单位产品的超值成本:

$$\frac{\Delta c}{\Delta x} = \frac{c(x+1) - c(x)}{1}$$

注:经济学家一般用低次的多项式来说明成本和收入这样复杂的现象。这是一种权衡,三次多项式容易处理,又不至于过于简单。考虑奥卡姆剃刀。

积、商以及负幂的导数

2.1里给出了导函数的定义,从而可以从整体上求得导函数,不需要逐点计算。本节将给出几个导数的运算法则,进一步简化导函数之求解。

  • 积法则:$\frac{d}{dx} (uv) = u \frac{dv}{dx} + v \frac{du}{dx}$
  • 商法则:$\frac{d}{dx} (\frac{u}{v}) = \frac{v \frac{du}{dx} - u \frac{dv}{dx}}{v^2}$
  • 负整数次幂法则:$\frac{d}{dx} (x^n) = n x^{n-1}$,可由商法则证明
  • 倒数法则:$\frac{d}{dx} (\frac{1}{v}) = - \frac{1}{v^2} \frac{dv}{dx}$

三角函数的导数

使用极限定义、弧度、和角恒等式和导数法则,我们能求得六个三角函数的导数。

  • $\frac{d}{dx} (sinx) = cosx$
  • $\frac{d}{dx} (cosx) = -sinx$
  • $\frac{d}{dx} (tanx) = sec^2x$
  • $\frac{d}{dx} (secx) = secx \quad tanx$
  • $\frac{d}{dx} (cotx) = -csc^2x$
  • $\frac{d}{dx} (cscx) = -\csc x \cot x$

简谐运动

在弹簧或蹦极绳索端点的物体的上下自由摆动就是简谐运动的一个例子。

链式法则

用定义求导数可能会很繁琐,各个导数法则大大简化了某些求导,但这些法则只是针对函数间的四则运算。现在来学习非常强大有效的链式法则。

例:函数$y = 6x - 10 = 2(3x-5)$是函数$y = 2u$和$u = 3x - 5$的复合函数,于是$\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}$。

此公式在一般情况下是否成立?答案是肯定的。导数表示变化率,$y$和$u$对复合函数的变化率都有贡献。直观上,$\frac{dy}{du}$是建立在$\frac{du}{dx}$基础之上的。

链式法则即是:

$$(f \circ g)’(x) = f’(g(x)) \cdot g’(x)$$

或以莱布尼兹的记号:

$$\frac{dy}{dx} = \frac{dy}{du} \cdot \frac{du}{dx}$$

简单的理解是,先把$u$看作自变量求导,再乘以$u’$。

参数化曲线的斜率

$$\frac{dy}{dx} = \frac{dy/dt}{dx/dt}$$

隐函数微分法

方程$x^3 + y^3 - 9xy = 0$的图像称为叶形线,在1638年由笛卡尔所作。它确定的不是一个函数,但该曲线可以分割为几条弧线,每条都是$x$的函数的图像。

在曲线上的每一点,我们都可以求其切线斜率(或导数),而且并不需要求出一个显式的函数解析式。我们使用的是各个求导法则与链式法则。这种求解导数的过程称为隐函数微分法。

例:若$y^2 = x$,求$dy/dx$。

我们可以求出$y$的显式解析式,这样得到两个函数,再分别求导。不过这里还是看一下如何隐式地求导。首先需要明确的是,无论是否有显式解析式,$y$都是$x$的函数。所以$y^2$就是一个复合函数了,对方程两边求导有:

$$2y \frac{dy}{dx} = 1$$

$$\frac{dy}{dx} = \frac{1}{2y}$$

就是这么简单。

类似地,隐函数也可以定义和求解其高阶导数。

相关变化率

链式法则与隐函数微分法之应用。

小结

先由极限给出导数的定义,然后导数有其重要的几何、物理意义,同时导数在各领域都有重要应用,比如经济学。可微着蕴含着连续性。各个求导法则与链式法则、隐函数微分法结合起来,我们已经能够求出很多函数的导数。

导数的应用

已经看到许多导数的应用,本章将会继续给出导数应用的例子。

函数的极值

导数的最重要应用之一是求函数的极值。中学时一般用函数的单调性和基本的不等式来求极值,很快就可以看到,使用导数要简单得多。

绝对极值

定义:绝对极值

设$f$是定义域为$D$的函数,$c \in D$,则$f(c)$是

  • $f$在$D$上的绝对最大值,当且仅当对一切$x \in D$,有$f(x) \leq f(c)$
  • $f$在$D$上的绝对最小值,当且仅当对一切$x \in D$,有$f(x) \geq f(c)$

绝对最大值和最小值也称为绝对极值,绝对之意为全局的。”绝对“两字常常省去。

例:$f(x) = \sin x$在$[-\pi/2, \pi/2]$上有最大值1,最小值-1。

一般来说,一个函数在一个区间上,可能没有最大值或最小值。但对于有限闭区间上的连续函数来说,其最大值和最小值是必然存在的。这就是连续函数的极值定理。该定理的证明需要用到实数连续统的知识。

相对极值

与绝对极值相对应的是相对极值,所谓相对是说该极值仅对于邻近的某开区间而言,不需要是全局上的极值。

绝对极值必然也是相对极值,所以我们要求绝对极值,可以列出所有的相对极值,再从中选择。

求极值

局部极值定理:如果函数$f$在定义域的内点$c$点取得局部极值,又若其导数存在,那么$f’(c) = 0$。

如果函数在某内点取得极值,且在该点可导,那么其导数为0。那么考虑区间上所有的点,取得局部极值的点只可能是:

  • 使$f’ = 0$的内点(内点,可导)
  • 不可导的内点(内点,不可导)
  • 端点

由本节提到的两个定理,连续函数极值定理保证极值是存在的,局部极值定理说明到哪里去寻找极值。

又,如果函数在一点导数为0或导数不存在,那么该点成为临界点(Critical Point)。

综上,若有极值,那么只能在临界点和端点出取到。需要特别注意的是,临界点和端点处不一定取得极值。

中值定理和微分方程

现在已经了解如何由运动物体的位置函数求得其速度与加速度。但是,如果我们只知道加速度,能否回过来求得其速度与位置函数呢?

这里的问题是,什么样的函数可以有另一个函数作为自己的导数?什么样的位置函数其导数恰好是给定的速度函数?中值定理的推论给出了答案。中值定理把函数在区间上的平均变化率和该区间内一点处的瞬时变化率联系起来。

罗尔(Rolle)定理

假设$y = f(x)$在$[a, b]$的每一点上连续,又假设在$(a, b)$上每一点可微,如果$f(a) = f(b) = 0$,那么$(a, b)$中至少有一个数$c$,$f’(c) = 0$。

如果做出这样一个函数的图像,会发现这个定理相当符合我们的直观。

证:闭区间上的连续函数必有绝对极值。极值点只可能在临界点和端点,而内点皆可微,故极值点只有两种可能:

  • 可微的内点:此内点满足所需
  • 端点:这意味着该函数在区间上为常数函数,故每一内点皆满足所需。故得证。

中值定理(The Mean Value Theorem)

如果函数仍满足罗尔定理的假设,即闭区间连续,内点可微,那么有什么结论呢?这就是主要的中值定理(好像有好多的中值定理):

假设$y = f(x)$在$[a, b]$的每一点上连续,又假设在$(a, b)$上每一点可微,那么$(a, b)$中至少有一个数$c$,使得$f’(c) = \frac{f(b) - f(a)}{b - a}$。

证:等式的右边是函数在区间上的平均变化率。如罗尔定理一样,作一个函数的图像观察一下,发现它很像倾斜了的罗尔定理。那么把它摆正试试看。

中值定理是说,函数在区间内至少有一点的瞬时变化率等于区间上的平均变化率。物理上即是说,某一刻的速度必然等于平均速度。直观上想一想:物体从一点运动到另一点,速度在变化之中,或快或慢,那么平均速度将是最快速度与最慢速度之间,同时物体的速度也不会发生跳跃式变化,从而必然在某时刻恰好等于平均速度。

中值定理的推论(Corollary)

推论1:如果在区间$I$的每一点上$f’(x) = 0$,那么对$I$上的一切$x$有$f(x) = C$,其中$C$是常数。

推论2:如果在区间$I$的每一点上$f’(x) = g’(x)$,那么存在常数$C$,使得对$I$中一切$x$,$f(x) = g(x) + C$成立。

即具有相同导函数的函数必然仅相差一个常数。

微分方程以及抛射体的高度

微分方程(Differential Equation)就是把未知函数及其一个或多个导数联系在一起的方程,一个函数称为微分方程的一个解。

例:$y = - \cos t + 3$是微分方程$dy/dx = \sin x$的一个解。

图像的形状

中学时经常要手工作图,先找几个点,然后再以”光滑曲线“连接之,现在知道所谓光滑是指可微。那么一般来说,为确定图形的形状,我们需要知道什么信息?需要知道它的单调性,以及图形是如何弯曲的。这些可以从一阶与二阶导数获得。

根据上节的中值定理,容易得到如下重要推论:

假设$f$在$[a, b]$上连续并且在$(a, b)$上可微,则有

  • 如果在$(a, b)$上每一点$f’ > 0$,那么$f$在$[a, b]$上是(严格)增函数
  • 如果在$(a, b)$上每一点$f’ < 0$,那么$f$在$[a, b]$上是(严格)减函数

这时临界点的重要性体现了出来,找出临界点,那么定义域可以划分为几部分,每一部分里函数可能是递增或递减的。

例:求函数$f(x) = x^3 - 12x - 5$的单调区间。

$f’(x) = 3x^2 - 12 = 3(x+2)(x-2)$,这样找到了临界点为$\pm 2$,单调区间也就找到了。

局部极值与导数的关系

如果在一临界点的左侧有$f’ < 0$,右侧有$f’ > 0$,那么可知函数在左侧递减,右侧递增,从而在这一点取得局部极小值。这一结论可以推广为:

在临界点$x = c$处,

  • $f$有局部极小值,如果$f’$在$c$从负变到正;
  • $f$有局部极大值,如果$f’$在$c$从正变到负;
  • $f$没有局部极值,如果$f’$在$c$两边正负号相同;

端点处的检验法与此类似,但只需要考虑一侧的情形。

至此,我们对于单调区间、极值有了一定的了解,接下来考虑如何了解函数图像弯曲的方式。

凹性

对于$y = x^3$的图像,可以看到它在$x = 0$处以不同的方式转向。先是凹向下,再是凹向上。凹向下的部分曲线位于切线下面,凹向上的部分曲线位于切线上面(故曰向上、向下)。

定义:凹性

可微函数$y = f(x)$的图形是

  • 在开区间$I$上是凹向上的,如果$y’$在$I$上递增
  • 在开区间$I$上是凹向下的,如果$y’$在$I$上递减

观察凹向上的曲线,其切线位于曲线之下,切线斜率递增,而凹向下者则是切线斜率递减。

$y’$的符号可以决定$y$的单调性,凹性定义中涉及到$y’$的单调性,那么自然地,可以借助于$y’’$考察函数的凹性。这就是凹性的二阶导数检验法:

二次可微函数$y = f(x)$的图形

  • 在$y’’ > 0$的任何区间上是凹向上的
  • 在$y’’ < 0$的任何区间上是凹向下的

注:凹向上和凹向下在图形上与我们的直观理解一致。以前看过的数学教材中,将两者情形分别称为凸的和凹的。这个定义相较而言更容易有歧义。凹性定义中的向上和向下总是与曲线与切线的位置关系一致。

例:$y = x^2$在$(-\infty, \infty)$上是凹向上的,因为其二阶导数总是为正。

拐点(Inflection point)

一点称为函数的拐点,如果函数在该点有切线而且在该点改变函数的凹性。

在拐点处,$y’’$或为零,或没有定义(所以,拐点是一阶导数的临界点)。如果在该点二阶可微,那么在拐点处$y’’ = 0$且$y’$在拐点处取得局部极值。

局部极值的二阶导数检验法

  • 如果$f’(c) = 0$且$f’’(c) < 0$,那么$f$在$x = c$取到局部最大值
  • 如果$f’(c) = 0$且$f’’(c) > 0$,那么$f$在$x = c$取到局部最小值

$f’’(c) < 0$意味着$f’$在$c$的某个邻域内递减,从而函数先增后减,即取得局部最大值。

从函数的导数了解函数

通过函数的一阶和二阶导数我们可以理解函数的大量信息:

  • 可微:光滑、连通
  • $y’ > 0$:递增
  • $y’ < 0$:递减
  • $y’’ > 0$:凹向上,且没有波动
  • $y’’ < 0$:凹向下,且没有波动
  • 拐点:$y’’$改变正负号
  • $y’$改变正负号:局部极值
  • 在一点$y’ = 0$且$y’’ < 0$,局部最大值
  • 在一点$y’ = 0$且$y’’ > 0$,局部最小值

自治微分方程的图形解

我们可以把有关导数怎样确定图形的形状的知识作为图形地求解微分方程的基础。这基于相直线和平衡点的概念。

至此已了解临界点在确定函数的性态以及函数极值中的重要作用。现在来看以不同的角度考察当函数导数为零时会发生什么。对于下面的函数隐式地求其导数:

$$y^2 = x + 1$$

得到$\frac{dy}{dx} = \frac{1}{2y}$

注意到此导数仅与$y$有关,故此类方程称为自治微分方程。

平衡点或静止点

如果$dy/dx = g(y)$是自治微分方程,那么使$dy/dx = 0$的$y$值称为平衡点或静止点。

可以看到平衡点意味着导数为零,这又对应着临界点。由于导数为零,故因变量在这些点不发生变化(变化率为零),认为$y$处于静止状态。这是平衡点和静止点得名之由来。

例:求自治微分方程$\frac{dy}{dx} = (y+1)(y-2)$的图形解。

为构造图形解,需要先作出方程的相直线,在y轴上找出平衡点位置和一阶、二阶导数的正负区域。如此就可以了解什么地方的解释递减和递增的,以及解曲线的凹性。

一般而言,一阶、二阶导数由$x$表示,但这里却是通过$y$表示的。在了解了单调性与凹性之后,我们可以画出函数解的略图。

建模与最优化

最优化某个量意即极大化或极小化该量的某一方面。如最小成本、最大利润等等。其步骤是:

  • 了解问题:什么是未知量?什么是给定的?什么是要求的?
  • 建立模型
  • 确定定义域
  • 识别临界点与端点:这是极值可能发生的地方
  • 求解模型
  • 对解进行解释

Fermat原理和Snell定律

光速依赖于光所经过的介质,在稠密介质中会慢下来。真空中其速度$c = 3 \times 10^8 m/s$行进,在大气层会稍慢,在玻璃会更慢。

Fermat原理说光永远以速度最快(时间最短)的路径行进。这样,当光从介质一中的A点出发,到达介质二中的B点,其路径可以确定下来。所谓路径确定下来,实际上是说其入射点可以确定下来。

依此思路所得的结果称为Snell定律或折射定律。

最大利润

在给出最大利润的生产水平上,边际收入等于边际成本(即边际利润的临界点)。

用可微函数对离散现象建模

对于成本与收入这样的函数,自变量只能取整数。但我们仍然“假装”它们可以取到一般的实数以建模。当$x$较大时,这样是没问题的,只是需要注意,如何舍入到合适的整数。

此时需要考虑对于不同的舍入值,函数的变化有多敏感,然后取较不敏感的那个值。

线性化(Linearization)和微分(Differential)

有时候我们需要处理复杂的函数,而在一定的精度要求内,可以考虑较为简单的函数近似之。本节讨论的近似方法是线性化,以后会介绍其它近似方法。

我们会看到莱布尼兹的$dy/dx$记法可被赋予新的含义,而$dy$可用于估计函数变化的度量的误差和敏感度。

线性化

以$y = x^2$为例,作出它的图像,在其上一点作出切线来。如果我们放大图像到足够的程度,会发现曲线很接近于切线,既然如此,在很小的区间内,我们可以考虑使用直线上的值来近似函数值。

一般来说,在$f(x)$可微的点$x = a$处$y = f(x)$的切线方程为:

$$y = f(a) + f’(a)(x-a)$$

这条切线是线性函数

$$L(x) = f(a) + f’(a)(x-a)$$

如果区间足够小,切线与函数曲线足够接近,$L(x)$就给出了$f(x)$足够好的近似。这称为函数$f$在$a$的线性化。

例:根式和幂函数的线性化为:

$$(1+x)^k \approx 1 + kx,x在0附近$$

类似地,在0附近,还有:$\sin x \approx x$,$\cos x \approx 1$,$\tan x \approx x$。

微分

莱布尼兹的记法中,$dy/dx$表示导数,它并不表示一个比值。现在我们引入新的(两个)变量$dx$和$dy$,如果它们的比存在,其比值就等于导数。

定义:微分

设$y = f(x)$是一个可微函数。微分$dx$是一个自变量,微分$dy$是

$$dy = f’(x)dx$$

注意,这里有两个微分,其中$dx$是自变量,$dy$是因变量。

微分有一个很直观的几何解释,即函数线性化的变化。

绝对、相对和百分比变化

当我们从$a$移动到邻近点$a + dx$时,可以用三种方式描述$f$的变化:

  • 绝对变化:$\Delta f = f(a + dx) - f(a)$
  • 相对变化:$\frac{\Delta f}{f(a)}$
  • 百分比变化:$\frac{\Delta f}{f(a)} \times 100$

若以线性化近似,那么估计的变化是

  • 绝对变化:$df = f’(a) dx$
  • 相对变化:$\frac{df}{f(a)}$
  • 百分比变化:$\frac{df}{f(a)} \times 100$

敏感度:在$x$处的$f’$越大,给定的变化$dx$的影响越大。

误差:如果$y = f(x)$在$x = a$可微而$x$从$a$变到$a + \Delta x$,那么$\Delta y$由形为

$$\Delta y = f’(a) \Delta x + \varepsilon \Delta x$$

的等式给出,当$\Delta x \to 0$时,$\varepsilon \to 0$

例:质能转换

牛顿第二定律$F = ma$假定质量是不变的,后来被爱因斯坦修订为

$$m = \frac{m_0}{\sqrt {1 - v^2/c^2}}$$

当$v$远小于$c$时,我们可使用如下的近似式:

$$\frac{1}{\sqrt {1 - v^2/c^2}} \approx 1 + \frac{1}{2} (\frac{v^2}{c^2})$$

牛顿法

一元一次、二次方程有简单的公式解,而三次和四次则有更为复杂的公式。人们一度希望对五次和更高次方程也可能求得类似的公式,但阿贝尔(Abel)证明了次数大于四的多项式方程不可能有类似地求解公式。

在没有确切公式时,我们考虑使用数值方法在求得近似解。最经典的方法之一是牛顿法(或Newton-Raphson法)。其思路是,在$f = 0$的$x$值附近用$f$的切线来替代$f(x)$的切线,其中线性化是求解的关键。

牛顿法的步骤

方程的根对应于函数的零点。牛顿法使用函数的线性化近似其零点。在合适的情况下,线性化的零点会快速收敛到要求的零点精确近似值。其大概步骤如下:

首先通过作图或简单猜测找出初始估计值$x_0$,然后用函数在点$(x_0, f(x_0))$的切线近似函数曲线,把切线和$x$轴的交点记作$x_1$。$x_1$通常是比$x_0$更好的近似。

重复上述过程,以在点$(x_1, f(x_1))$处的切线近似函数曲线,寻找下一个交点。如此下去,直到充分接近零点。

由于每次求得下一个近似值的方法完全一样,可以得出它们的递推公式,即

$$x_{n+1} = x_n - \frac{f(x_n)}{f’(x_n)}$$

例:求$\sqrt 2$。

解:所求值即函数$f(x) = x^2 - 2$正的零点。采用牛顿法,从$x_0 = 1$开始,经过少数几步就得到相当精确的近似解。

多数计算器可用牛顿法求根,因为它收敛得特别快。经过三步就可以得到$\sqrt 2$的5位精确数字的解。

牛顿法的收敛性

牛顿法看起来是如此简单高效,那么它是否总是如此呢?答案是否定的,详情此处暂略。

如果$f’(x_n) = 0$,那么上面的递推公式无效。有时牛顿法是不收敛的,它会在几个点之间来回跳跃。

如果牛顿法是收敛的,那么它一定会收敛到一个零点。

如果从很远的地方开始牛顿法,最终得到的可能是另一个零点,而不是所求的。

Text Retrieval and Search Engines(2)

Posted on 2017-07-09 | In Text Retrieval , Information Retrieval

此文内容整理自Coursera课程文本检索与搜索引擎(Text Retrieval and Search Engines)。Part 1笔记在此

这一部分将更详细地了解VSM,考虑它的不同优化思路,以及借助于倒排索引实现信息检索系统(即搜索引擎)。

主要概念:

  • 关键词词频(Term Frequency,TF)
  • 文档频率(Document Frequency,DF)与逆向文档频率(Inverse DF, IDF)
  • TF transformation
  • Pivoted length normalization
  • BM25
  • 倒排索引(Inverted Index)与posting
  • Binary coding,unary coding,gamma-coding和d-gap
  • Zipf法则

在Part 1中介绍了”最简单的VSM“(以下简称SVSM),看下图,考虑该模型是否存在问题?

Two Problems of the SVSM

三个文档的相似度计算结果相同,但直觉上,它们应当是有差别的,比如:

  • d4匹配到了更多关键词,应获得更高的相似度
  • d2的匹配关键词中有一个是about,d3中则有presidential,d3应该与查询更相似

出现这两个问题,是因为我们使用了词袋模型和位向量,首先词频被忽略,这样高频词对相似度的贡献被忽略,接着关键词之间也被同等看待,原本贡献更高的词也泯然众“词”矣。要改进模型,可以从这两方面入手。

先把词频(TF)考虑进去,得到如下的向量表示法:

Two Problems of the SVSM

这个新的相似度计算方式可以如何解释?它是否解决了上面的两个问题?

计入词频后,高频词相比于低频词对相似度的贡献会更大,这符合我们的直觉。因为一个文档内,词的频率越高,它就更可能作为该文档的“主题”,而如果一个词频率太低,说不定只是凑巧“混”进了文档而已。

现在重新计算上面的三个文档,会发现$f(q, d2) = 3$,$f(q, d3) = 3$,$f(q, d4) = 4$,它的相似度确实比d2和d3高了,而。这样我们解决了第一个问题,但第二个问题依然存在。

如何给不同的词赋予不同的权重呢?为什么我们会认为presidential要比about重要呢?大致可以这样理解,对于about或the这样的词,它们有很高的频率出现在各种不同主题的文档中,那么查询和文档同时出现这样的词——我们不会感到意外。可以说它们携带的信息很少,不足以区分不同的文档。但presidential就很不一样,介绍信息检索的文章(本文除外)很少会出现。

about这样的词,常常被称为停用词(Stopword)。我们可以考虑用某种方法来“惩罚”停用词。不过首先的问题是,如何确定哪些词属于停用词?可以统计整个文档集的所有词,如果一个词出现在了很高比例的文档中(如80%),那么它很可能是停用词。另一方面,对于像presidential这样的词,我们考虑“奖励”它,因为它们可以更好地区分文档。实现这里惩罚和奖励的常见方法是逆向文档频率(IDF)。标准的IDF实现如下:

IDF

$M$是文档集中的文档数量,$k$是包含词$W$的文档总数,即DF,取到数后就成了IDF。通过函数图像(曲线)可知,一个词出现在越多的文档中,其IDF越低,即得到了越多的惩罚,反之出现在越少的文档中,则会得到奖励。

当$k$很小时,IDF值很大,也就是说如果一个词只出现在了少数几个文档中,那么他们就会有很高的权重。当$k$逐渐增大时,IDF下降得很快,直到越过中间的转折点后,IDF就变得相当小,此时该词对于相似度而言就不甚重要了。对于about这样的词,$k$可能是接近于$M$的,它的IDF值接近于$0$。

引入IDF后,文档的向量公式变为:

$$d = (y_1, \cdots, y_N,y_i = c(W_i, d) * IDF(W_i)$$

这时再计算的话,d3的相似度就高于d2了,这样就解决了问题2。然而新的问题又出现了,看下图,d5的相似度好像有点过高了,如何解决呢:

VSM after TFIDF

Text Retrieval and Search Engines(1)

Posted on 2017-07-04 | In Text Retrieval , Information Retrieval

此文内容整理自Coursera课程文本检索与搜索引擎(Text Retrieval and Search Engines)。

课程结构

Course Schedule

术语表

  • Text Retrieval(TR):文本检索
  • Information Retrieval(IR):信息检索
  • Natural Language Processing(NLP):自然语言处理
  • Information Need:信息需求
  • Document:文档
  • Query:查询
  • Relevance:相关度
  • Similarity:相似度
  • Ranking Function:排序函数
  • Vector Space Model(VSM):向量空间模型
  • Term:关键词(文档中的基本概念),可以是词、短语或ngram等
  • Bag of Words(BOW):词袋
  • Bit Vector:位向量
  • Dot Product:点积

1、文本检索基本概念

第一部分将涵盖上图中1-5部分的内容。

1.1 自然语言内容的分析

这无疑是处理任何文本数据的第一步,本节包含三个小主题:

  • 什么是NLP?
  • NLP领域研究的现状
  • NLP与文本检索

1.1.1 什么是NLP?

来看一个NLP的简单例子:

An example of NLP

如果想让计算机理解这个句子,需要哪些步骤呢?类似于人类的理解过程,首先需要知道它包含哪些词,以及各个词的词性。这个过程称为词法分析(Lexical analysis)或词性标注(Part-of-speech tagging)。

接下来需要了解句子的语法结构,即这些词如何构成更复杂的语法结构。如A和dog构成名词短语,on、the及playground构成介词短语等等。这个过程称为语法分析(Syntactic analysis)。

了解了句子的词法结构和语法结构,计算机仍不足以了解句子的意义。这时需要的是语义分析(Semantic analysis)。对计算机来说,需要将词和短语这样的成分对应到某些symbol,同时还要有symbol之间的关系,比如上图中的Chasing就是这样一种关系。更进一步,在关系之上,我们还可以进行推理(Inference),比如我们有一条规则:如果某实体被狗追,那么该实体会害怕。在此规则下,我们可以推理出一个结论:the boy is scared。

另外还可以考虑,一个人为何说出这样一句话?ta的意图是什么?一种可能是,ta在提醒另一个人把狗牵回来。这个过程称为Pragmatic analysis,即分析“语言行为“本身。

计算机要理解一个如此简单的句子都需要很繁琐的过程。人类理解起来要容易得多,这是因为人的大脑早已有了庞大的”知识“库,而计算机则需要从头学起。

直觉上,人类学习语言并非如洛克的”白板论”那样,一个人对于语言的理解应当有相当的部分来自于遗传。总之,对于可怜的计算机而言,NLP是很难的。

1.1.2 NLP是很难的

”自然语言“当然是为人类的有效沟通而设计,其结果是:我们会大量的”常识“内容,并假设听者或读者是能够理解的;语言中存在大量的歧义(ambiguity),我们假设听者或读者能够仔细理解之。

当一个人缺乏常识,与ta沟通起来会感觉困难。对NLP来说,以Siri之类的应用为例,我们的感觉不是与它很难沟通,而是完全无法沟通。当一个人说的话有歧义,人类也会觉得理解起来有困难,拿不准其准确含义,遑论计算机了。所以,常识的缺乏和歧义使得NLP格外困难。

歧义的常见情况有:

  • 词的歧义:不同词性;多义词;
  • 语法结构的歧义:修饰语与被修饰语的不同结合;介词短语附着(PP Attachment),”A man saw a boy with a telescope;
  • 首语重复(Anaphora)解析:John persuaded Bill to buy a TV for himself;
  • 预先假定(Presupposition):”He has quit smoking”暗示他曾吸过烟。

1.1.3 NLP研究现状

State of the Art NLP

词性标注准确率较高;语法解析层面,部分解析(Partial Parsing,即句子的一部分,如短语级别)达到90%以上。

语义解析的进展则相当不好。不过在某些特定应用上取得了一些进展,如实体识别、关系提取、情感分析。

推理和语言行为方面的表现则是更差。

值得一提的是,尽管说词性标注和部分解析的准确率已经达到较高的程度,但这些评测都是基于特定的测试数据集,此类测试集常常是新闻类数据,这会导致一定的偏差。因此相应的算法应用到不同领域中可能未必有同样好的效果。

1.1.4 NLP与文本检索

文本检索通常涉及大量而广泛的文本,如果希望其中的NLP技术是健壮和高效的,那么目前来看只能采用浅层的NLP。文本的词袋(Bag of Words)表示是最简单的一种,它无疑丢弃了文本的大量信息,但对于大部分(不是全部)搜索任务而言却是够用的。

某些文本检索技术可以自然地解决NLP问题,如语义消歧。

但是,对于复杂的搜索任务,更深层的NLP技术仍是必需的,比如知识图谱(Knowledge Graph)。

1.2 文本访问

一个文本信息系统该如何让用户访问到他们关心的(或相关的,relevant)数据?这里主要考虑两种模式。

  • Pull模式(搜索引擎):由用户发起。用户在系统中根据特定的需求开始查询,并浏览相应的结果。此时的需求往往是临时性的,比如查询某个术语、某个作者或一类商品的信息。这种情形下,系统很难预知用户的需求,因此Pull模式较为适合。
  • Push模式(推荐系统):由系统发起。如果用户有某种较固定的需求,而且系统对用户比较了解,那么系统可以主动向用户push信息。比如Pocket app在用户使用一段时间后,可以向用户推荐其感兴趣的文章。

在pull模式下,也存在两种不同的方式:

  • Querying:用户对自己的需求比较清楚,知道该如何查询。比如当我们知道书名或作者名时,可以直接查询。
  • Browsing:用户对需求不甚清楚,希望先在系统中漫游一番。当我们遇到某书店的打折信息,满200减100,但暂时并没有特定要买的书,这时往往从分类或主题开始浏览。

尽管说Browsing属于pull模式,但仔细想想,当用户不太清楚想要什么时,不正是推荐系统发挥作用的地方吗?

1.3 TR中的问题

本节包含三个小主题:

  • 什么是文本检索?
  • 文本检索 vs. 数据库检索
  • 文档选择(Selection) vs. 文档排序(Ranking)

1.3.1 什么是文本检索?

对于使用过搜索引擎的人来说,这甚至算不上是一个问题:)

系统已收集大量(具体的量级视具体问题而定)文档。用户发起查询,表达自己的信息需求(Information Need)。系统返回相关文档给用户。这就是high level的文本检索过程。

文本检索也被称为信息检索(Information Retrieval,IR),但实际上IR的范围更广,因为其数据可能是非文本的。文本检索在业界被称为“搜索技术”。

1.3.2 文本检索 vs. 数据库检索

这里将两者简称为TR和DR,并从不同的角度来看:

  1. 信息:TR是非结构化的、模糊的;DR是结构化的、具有良好语义的;
  2. 查询:TR是模糊的、不完整的;DR是具有良好语义的、完整的;
  3. 返回结果:TR是相关的文档,DR是匹配的记录;
  4. TR是基于经验的,不能以数学的方式精确判断一直方法的好坏,因此需要借助于用户的介入以评测方法的表现。比如通过用户对于查询结果的后续操作来判断其好坏。

下图是TR的正式定义:

Formal formulation of TR

R(q)是一次用户查询的相关文档构成的集合,但一般情况下,它是不可知的,同时也依赖于具体的用户。在此前提下,我们的任务是计算它的近似值。

1.3.3 文档选择 vs. 文档排序

上述任务的两种策略是:

  • 文档选择:通过某个函数或二元分类器来确定一个文档是否属于目标集合。对于C中的每一个文档,它的结果只能是属于或不属于。这里的结果是绝对相关度(absolute relevance)。
  • 文档排序:选择某个相关度度量函数,对每个文档判断它在多大程度上与当前用户查询是相关的。这里的结果是相对相关度(relative relevance)。

文档选择必须要严格确定出,一个文档是否是相关的;而文档排序则只需要给出相对的相关对,由用户来决定阈值。现实中,后者也确实更可取的方法。

文档选择法存在固有的问题。其分类器很难达到特别准确的程度,要么过于严格而返回过少的文档,要么过于宽松而返回过多的文档。另一方面,即使它是准确的,所返回的”相关文档“的相关度理应是不同的,而分类器没办法确定出来。

文档排序法的依据来自于概率排序原理(Probability ranking principle),即在如下两个假设下,按文档对于查询的相关度降序排列的列表是最佳策略:

  • 文档对于用户的价值(utility)相互之间是不相关的
  • 用户会顺序浏览结果

实际上,这两个假设都不一定为真。比如,如果两个文档内容接近,那么用户看过一个后,对于第二个就没有太大兴趣了;用户会跳过部分文档。这两种情况在使用Google之类的搜索引擎时都会遇到。

1.4 文本检索方法

文本检索的定义可见于1.3.2中的图片。简言之,我们需要找到一个合适的排序函数(ranking function)。当前常见的检索模型有:

  • 基于相似度(similarity)的模型:Vector space model
  • 概率模型:经典概率模型;Language model;Divergence-from-randomness模型
  • Probabilistic inference model
  • Axiomatic model

本课程主要涉及向量空间模型(VSM)和语言模型(Language model)。有趣的是,尽管上述诸方法的思路颇不相同,但其最终的模型形式却是很相似的。

那么,哪一种模型是最好的?答案是,在优化之后,下面几种模型的表现同样好:

  • Pivoted length normalization
  • BM25
  • Query likelihood
  • PL2

BM25是其中最流行。这些模型涉及到的重要概念有:词袋表示、TF、DF和文档长度。

1.5 向量空间模型

VSM是基于相似度的一种模型。所谓基于相似度,是指它以文档和查询之间的相似度来度量相关度。

为计算相似度,我们把文档和查询都表示为向量空间中的向量,如下图所示:

Vector space model

文档$d_1$表示为Library和Presidential两个关键词(term),$d_2$表示为Programming和Library两个term(很可能,这里的Library是指编程中的”库“),而查询$q$看起来与$d_2$最相似,那么按VSM模型,与该查询相关度最高的文档是$d_2$。

下面给出VSM更正式的定义。VSM是一个框架:

  • 将文档和查询表示为term vector
    • Term:关键词(文档中的基本概念),可以是词、短语或ngram
    • 每个term定义为一个维度
    • N个term就定义了一个N维空间
    • 查询向量:$q = (x_1, \dots, x_N), x_i \in R$,这里的$x_i$表示查询在相应维度上的权重(weight)
    • 文档向量:$d = (y_1, \dots, y_N), y_i \in R$,这里的$y_i$表示文档在相应维度上的权重(weight)
  • 相关度$relevance(q, d)$转化为$similarity(q, d) = f(q, d)$

之所以说VSM是一个框架,是因为这里实际上没有给出任何与具体实现相关的细节。要找到这里的$f$我们还需要考虑:

  • 如何定义或选择关键词?
    • 它们需要是正交的(orthogonal)
  • 如何为查询和文档向量设置合适的权重?
  • 如何度量相似度?

1.6 VSM的最简单实现

VSM的最简单实现是位向量(Bit Vector),即用一个布尔值表示一个term是否出现在了文档中。如果term$w_i$未出现,那么$y_i = 0$,否则$y_i = 1$。而查询也以同样的方式表示。

这种方式的特点之一是,它忽略了一个term在文档中出现的具体次数。另外,当文档集较大(一般都是如此)时,向量维度变得较高,从而使得文档和查询的向量变得很稀疏,即出现大量的0。

这样,文档与查询的相似度可表示为两者向量的点积(Dot Product):

$$Sim(q, d) = q.d = \sum_{i=1}^{N}x_i y_i$$

Vector space model

在这个例子中,$V$表示文档集中所有term构成的”词汇表“。然后我们列出查询与文档的位向量,然后计算其点积。从结果来看,d2的相似度高于d1。看起来还蛮合理的,这就是我们”最简单的VSM“,它可以总结为:BOW + Bit Vector + Dot Product,编程实现足够简单,只要一个类似于jieba之类的分词工具即可。

那么这里点积的结果作何解释呢?点积的计算结果恰好表示了,同时出现在文档和查询中的term的数量。虽然它有时比较合理,但也会产生一些问题。比如,它只计数共同出现的term数量,数量相同的就没法区分了,也就是说对所有term一视同仁,这与我们的直觉不符,因为某些term应该是更重要的,而像the、about这样的term则不能对相似度提供什么帮助。

后续的课程会介绍不这么简单的VSM:)

历史:要讲述一个怎样的故事?

Posted on 2017-06-28 | In History

序言(葛剑雄)

本书每一章都以一个具体的历史事件或人物开始,引出相应地理论、概念或方法。

尽管对不熟悉西方历史背景的中国读者来说,这些内容显得陌生。

“历史是一个过程、一种论辩,是由关于过去的真实故事所构成的。”

历史上的故事有很多,我们会挑哪些出来讲?以哪种方式来回想?讲述的效果如何?凡此种种,都带给我们一个问题——历史是为了什么,或为了谁?

过去的历史被编纂出来,“历史服务于一个目的:给人们以认同感。在这个意义上,它就像记忆一样,但它是谁的记忆?有哪些事情需要记忆?

原始证据与”二手“资料

“历史学家能否理解和接近过去的生活?他们写下的故事是否是’真实的故事’?历史的意义会是什么?”

“为何要研究历史,历史何以重要”的三个理由。(认识到以不同方式行事的可能性:避免想当然,比如对于同性恋的看法。)

前言

历史学科的三种著作:实践入门指南;哲学考察;研究方法的辩论文。

“书中所写,代表了我在历史是什么、如何研究历史、历史为了什么等方面的看法”。

本书三部分:描述在过去历史是什么。

(自过去至今历史是什么;如何用手头的资料进行(处理、解释)历史工作;历史与真相)

故事:吉扬·德让谋杀案。

一、关于谋杀和历史的问题

1301年的一起谋杀案。多明我会居士;纯洁派(异端)。谋杀的过程记录在1308年的宗教裁判簿中。

这就是历史:很久以前发生的一个真实故事,如今被重新讲述。重新讲述,意味着在过去与现在之间建立起了一个不对等的联系(如何不对等?)。(是不是只要建立了这种联系就可以了呢?)

书写历史的过程(历史编纂)——这个“建立联系”的过程——疑问丛生。

在许多方面,历史始于问题也终于问题;历史永远不会真正地结束,历史是一个过程。(这里的“历史”符合“历史编纂”的过程,后者确实永不会结束。)

历史的两种含义

  • 过去本身(忘记历史,就意味着背叛)
  • 历史学家就过去所写的内容(TODO)

历史编纂

  • 书写历史的过程
  • 对这一过程的研究

本书:

  • 历史编纂:书写历史的过程
  • 历史:历史编纂的最终成果(其实没有“最终”一说)

历史与过去之间存在着本质的差别。

回到故事

回到故事,上述故事是如何被记载下来的?1308年,吉扬四次出现在名为达布利斯的宗教法官面前。而吉扬最初是被其另一个兄弟热罗牵连进来,热罗主动找到宗教法官,指认了许多与纯洁派有染的人。热罗、吉扬及其他至少十五人的供词,都被记录在宗教裁判簿中。这些登记簿有一部分留存至今,所以他们在14世纪初的谈话仍能为我们所知。

这一登记簿由以为现代历史学家编辑、印刷出来。本书作者采用了其中的某些资料,然后本书的读者才知道了吉扬·德让的故事。

那么是什么引起了这位现代历史学家和本书作者的关注呢?

  1. 谋杀案,有头有尾的故事。
  1. 故事中的人不是国王、王子或圣徒,他们是寻常百姓,因此我们也许会很欣喜地发现自己对他们竟然知之甚详。

过去是一个异邦

哈特利:”过去是一个异邦,在那里他们的行为方式全然不同。“
道格拉斯·亚当斯:”过去的确是一个异邦,他们的行为方式就像我们一样。“

两种说法都有道理。有些事情有共鸣(送信件、离开家乡去旅行、对迫害的恐惧)。有些则不是(了解宗教,不了解纯洁派、异端的概念、宗教审判的程序等)。

更多要素

14世纪时,如果你是识字的(litteratus),意味着你能读写拉丁文,并知道怎样解释经文。仅掌握本国语言不算是识字的,不管是英语还是法语。

历史:被选择的故事

吉扬·德让谋杀案显然不是1301年发生在法国南部的唯一事件,但历史学家无法讲述来自过去的每一个故事,而只能是其中的一部分。现存资料多有残缺,甚或未留下任何资料。但即使只就我们拥有的证据而言,仍然有许多可说之事。

历史学家需要判断哪些事情是可以说或应该说的。所以,历史不过是那些引起历史学家注意的事情构成的,他们进而决定为其读者复述这些事情。

历史学家选择他们的真实故事的依据,已随时间推移而发生变化。

(故事:故是过去之意,故历史本身乃故事:)

历史:故事的解释

吉扬·德让谋杀案,就其在历史上的影响来看,只算是一幅小插图。如果在故事发生几百年之后的历史学家选择呈现这个故事,而不多说些什么,是很不寻常的。

我们还需要解释过去。找出故事更宏大的背景,就是为了不仅仅说出”发生了什么“,而且要说出它意外着什么。

对于故事,我们可以选择感兴趣的那些;对于故事的背景,也是类似的。仅就这起谋杀案而言,我们可以考虑(以下可见对于宗教审判与异端各种可能角度的比较思考):

  • 宗教审判和异端。纯洁派信仰者的行为与信仰、审判的程序及其变化
  • 把故事放到犯罪史中考察。中世纪还有另一些谋杀案,比如1170年的托马斯·贝克特;或聚焦下层社会的犯罪行为;
  • 故事发生地在法国南部的”朗格多克“,该地区一度在情感上与加泰罗尼亚而不是巴黎更加亲密,后来教皇因异端下令讨伐该地区,这些讨伐导致了法国北部对南部的政治控制。纯洁派的抵御是与法国政治史紧密联系在一起的。
  • 还可以忽略故事的叙述,关注其它细节。如识字问题;登记簿有关桥梁的记录告诉了我们一些地理知识;或者是农业或建筑方面的东西。

吉扬的供词周围有一个完整的世界,这个对他来说是理所当然的世界以撩人的碎屑和片段展现在我们面前。

(平民历史的重要性。过去的理所当然,如今看起来饶有趣味。)

历史:猜测与犯”错“

记录的证据呈现在我们面前,但人们不可能知道每一个细节。历史学家通过合理的猜测填补其中的空白。

猜测暗示着历史编纂过程具有某种程度的不确定性。在更广泛的意义上,历史学家总是把事情弄”错“,因为:

  • 我们永远无法使之完全”正确“
  • 相互之间无法达成一致
  • 需要以自己的方式弄”错“

不过,在弄错的同时,历史学家总是试图使之”正确“。在这一点上,历史学家有时喜欢将自己的工作与文学区别开来。但历史也伴随着想象。

历史:是一种论辩

如果过去没有缺漏,现有的证据总是清晰可信,那么历史学家就无事可做,我们也将失去互相论辩的机会。历史首先是一种论辩,不同历史学家之间、过去与现在之间、实际发生与即将发生之间。论辩是重要的,它们创造了改变事物的可能性。

历史:真实的故事

本书使用用”真实的故事“这个说法来谈论历史。(真实的;故事;解释;)

(历史即故往之事。真实的,言下之意是,过去作为客观真实之存在;故事,即已过去之片段解释感兴趣之事。)

过去就像生活一样无序、混乱、复杂,历史就是要弄清这种混乱的意义所在,从漩涡中发现或创造模式、意义和故事。

小结

历史是一个过程、论辩,由过去的真实故事构成。

历史使我们有机会反思自己与过去之间的关系,审视我们挑出来讲述的过去故事的种类、我们回想起那些故事的方式以及讲述那些故事的效果。

当过去重新进入现在,它就成了一个强有力的所在。思考历史,部分是要思考历史是为了什么——或为了谁。此时,我们需要理解在过去历史是什么。(见下一章)

二、(走出)政治之塔

故事:巴比伦国王那波尼德斯搜寻一座太阳神庙。

那波尼德斯热衷于寻找太阳神庙,因为这使他有机会与自己的高贵传统建立联系,而这种联系隐含着权力与权威。他对这一发现的理解方式和将其记录下来的动机,不一定与我们自己对历史的兴趣一致。

(此国王做法近乎历史学家,形成自己的一种解释)

历史的历史

探寻它的根源何在、从何而来、如何演变,以及在不同的时间和地点被用于何种目的。

无疑,历史作为一门学科随着时间推移在发生变化,而这种变化还在继续着。

某种意义上,一切历史都希望说出自己当前时代的某些事情。

一切历史都是当代史。(贝内德托·克罗齐)

古希腊的两位历史学家

希罗多德写下了希腊语波斯之间发生战争的原因。希罗多德拒绝了波斯人的传说,选择依靠”事实“而不是虚构的看法。这种做法使他看起来更像是一位20世纪的历史学家。事实上,他有时被称为”历史之父“。

但希罗多德并非总是如此”现代“,他的历史仍有许多令人难以置信的传说,比如骑在海豚尾巴上的阿里翁、特尔斐的神谕。希罗多德总是乐于偏离对政治事件的记述,告诉我们当地人的习俗、不同地区的神秘而奇妙的动物,以及任何吸引他的令人难以置信的故事。因此,他有时又被称为”谎言之父“。

此外,希罗多德利用过去来提供关于环境和性格的说明,以备当时之用。他这样做是因为在他看来时间是循环的:历史一圈圈地旋转,同样的主题和问题一次次地出现。他的《历史》中发生的事件背后往往隐藏着循环的命运之轮。

当基督教产生了第一批历史学家后,这种时间观念发生了颇有争议的变化。基督教信仰认为,世界在两个固定的点——造物与天启——之间无情地移动。这个框架就历史意味着什么和人们如何着手探讨历史,提出了完全不同的观念。

另外,早期基督徒把历史当做对过去的辩驳式描述来写,他们试图说服基督徒和异教徒,基督教比异教信仰更古老、更理性、更道德也更有效,如尤西比乌斯的《教会史》。之后,奥古斯丁的《上帝之城》对神学和历史进行了一次大规模的糅合,他的学生奥罗修斯写了一个更通俗的版本《反世俗的历史》。

通过抄写对自己有利的原始文献,通过坚持《圣经》的历史准确性,通过将自己教派的历史与宏大的线性时间叙事相结合,尤西比乌斯和奥罗修斯开始创造权威性的历史。他们的工作也得到了另一要素——修辞观念——的支持。这种修辞观念的要点在于,照此写就的历史应该具有说服力、易于被接受。

可以说,在彼时的历史学家看来,”修辞“是历史编纂方法的合理组成部分。

随着中世纪的延续,修辞仍然保留在历史编纂中,但另一些要素开始出现了。12世纪时,马尔梅斯伯里的威廉写了大量的历史著作。他的写作方法具有显著的现代特征:搜寻资料和文献,与人们交谈以调查最近发生之事。他苛刻而多疑,面对手头的资料,运用猜测以进行解释。(苛刻、多疑、合理猜测的艺术是现代历史学家的三种美德)

在12世纪和13世纪,开始有更多的人开始创作历史,历史的主题逐渐拓展,如世界史、国家史、武士史。撰写历史仍然是为了特殊的目的(奉承一位赞助人、褒扬一座城市等),但这些目的也在变得更为宽泛多样。风格和方法也多样化了。

进入文艺复兴时期,意大利相信自己以一种前所未有的方式重新发现和恢复了古典智慧的荣耀。这在很多方面影响了历史编纂。从过去吸取哲学教训的观念再次受到青睐,西塞罗式的修辞术是历史学家最基本的风格。历史著作的数量迅速增长。

”文艺复兴“是后人的术语,但时人确信他们的“现代时期”在本质上不同于已经过去的年代。历史学家开始证明佛罗伦萨是古罗马的直接继承者,意大利公民是古典思想的真正继承者。这种撰写历史的新动机使关于过去的观念发生了地震般的转变。历史学家不再把当前时代看作是人类七个世代中的倒数第二个(如基督教历史学家那样),他们谈论的是三个时期:古代、中世纪和现代。中世纪是一个黑暗时代,普遍的看法是,在4世纪到14世纪之间没有发生任何非常重要的事情。

经过16世纪,修辞再次成了支配性的灵感之神,风格再次征服了内容。历史不仅要写得漂亮,而且应仅限于那些与它的“尊严”相称的事件与人物,他们对“日常生活”不大有兴趣。

16世纪的宗教改革导致基督教内部分裂之后,修辞开始再次与宗教辩论结盟。新教与天主教的历史学家们相互攻伐。这种历史编纂之争从未停止过,但“历史”显然是服务于它的从业者的。

对于历史的怀疑与批评在那个时代就开始出现了,这些怀疑不仅指向当时的历史学家,也开始指向古代的历史学家和历史著作。菲利普·锡德尼讽刺地写道:“历史学家……身上装满了被老鼠咬过的古老记录,授权自己……凌驾于历史之上,他们最大的权威就建立在显然是道听途说的基础上。”历史陷入了某种危机。

法国历史学家让·博丹的《理解历史的简易方法》中,有一章阐明了历史读者应该如何怀疑过去的历史学家,怀疑他们的目的、方法和偏见。博丹把“真相”放回了议事日程。到16世纪末,历史又再次着眼于过去的“真实故事”。

从上面的回顾可以看到,“历史”对于不同的人总是意味着不同的事情。

本章并非在描述人们在撰写历史方面变得更好、更聪明的“进步”故事。这样的理解会错过关键所在。所有这些历史学家都尽力去理解被他们视为可能的过去。我们会——从我们当前的立场——看到某些尝试比另一些更加准确。但这是根据我们对何为“真实”的看法得出的。过去的人们会有不同的看法。

历史:是一种记忆?

有人说撰写历史是一种自然和必要的活动:历史之于社会,正如记忆之于个人。历史当然是非常有力的,但回头看看过去的那些历史学家们的故事,我们会理解到,人们撰写历史是由于他们自己时代的特定环境和需要。萨瑟恩指出,11世纪和17世纪的交替时期之所以出现历史编纂的热潮,是因为彼时正在经历特殊的骚乱与动荡。在这里,历史服务于一个目的:给人们以认同感。在这个意义上,它就像记忆一样。问题是,它是谁的记忆?有哪些事情要记忆?

本章所有的历史学家都倾向于选择记忆某类领域的事情:伟人、教会、政府、政治。这种模式部分是由希腊人提出的:不是希罗多德,而是他的继承者修昔底德。他认为,历史与政治和国家有关,而与其它任何事情无涉。有人评论道,修昔底德把自己关在了政治史之塔中,还想把我们所有人都束缚在那里。我们该如何逃离那座塔呢?

三、事实是怎样的?

1885年,90岁的兰克在他柏林的书房里,创造自己最后的历史著作。通过向助手口述,他对自己历史学家的一生做了简单的描述。他提到了阅读沃尔特·司各特爵士历史小说的经历:

书中对秃头查理和路易十一的处理方式和其它内容一起让我很不愉快,它们似乎……与历史证据完全相反。我研究了……当时的记载……确信司各特所描绘的秃头查理或路易十一从不曾存在过。这种比较使我相信,历史资料本身比浪漫的虚构更加美丽,而且无论如何要更加有趣。我彻底厌倦了虚构,下定决心在自己的著作中避免任何捏造和想象,严格终于事实。

兰克经常被称为现代历史编纂之父,他呼吁历史学家写出“科学的”和“客观的”历史,其历史哲学被浓缩在一句广为引用的名言中:

仅仅说出事实是怎样的。

本章将叙述16世纪到20世纪之间历史编纂的某些发展。期间许多也许不会把自己看作历史学家的学者,为今天的“历史”贡献了特定的要素。

(真相的问题
如何利用历史文献的问题
过去与现在之间的“区别”问题)

问题:什么是真相

“历史”在16世纪遭遇了怀疑主义者的围攻,他们认为历史是不准确和无用的。他们所谴责的“历史”大部分是运用了修辞技巧的历史,由既要提供精炼的叙述,又要从过去的政治事件中提出惩戒性“教训”的双重期望所驱动。

除了让·博丹,还有另一些历史的捍卫者。

捍卫历史“真相”的最初驱动力来自宗教冲突。(对,从最无处不在的偏见——信仰中发展出了用于获取客观真相的手段)新教和天主教都用历史来支持他们相互对立的对于权威性的诉求。相关学者的方法比较简单:大量搜集可用于防御敌人攻击的证据。

更复杂的是分析古文物学家提供的文献。与历史学家相比,古文物学家没有重要的故事要讲,只有强烈的热爱要表达。但正是这些古文物学家创造除了经由保留下来的文献和资料研究过去的手段。

问题:如何使用文献。

1439年,洛伦佐·瓦拉针对也许是基督诞生以来一千四百年间最著名的文献,撰写了一篇也许是最著名的文献分析。这份文献就是《康斯坦丁赠礼》,它旨在记录4世纪时叫这个名字的罗马皇帝赠与基督教会的礼物与权利。整个中世纪,《赠礼》是教会最有效的一件武器。瓦拉则证明它是一件伪造品。

至少从12世纪开始,就有人对《赠礼》提出质疑,瓦拉采用了新的方式。他聚焦于文献的语言。通过分析其使用的拉丁文风格和所提供的细节,他断言这是一件伪造品。瓦拉注意到文献中的拉丁文根本不像4世纪的“古典”拉丁语。

将文献学应用用历史文献,提供了两种探究过去的新思想:

  • 人们可根据其内部特征鉴定一份文献,判断历史记录中什么是“真相”
  • 语言(因而还有文化)在不同的历史时期是变化的;人们谈话和生活的方式随时间流逝而变动。

问题:过去如何不同于现在

瓦拉把语言和文化再次引入了历史。历史包含比政治“事件”更多的内容,这一观念第一次逃离了修昔底德的政治史之塔。

这些观念及其寓意并不完全出自瓦拉,也没有直接引起历史实践的革命。瓦拉不是一位“历史学家”,发展这些主题的那些人也不是。他们毋宁说是文献学家、古钱币学家、地志学家等。在16世纪和17世纪,这些古文物学家的追求在整个欧洲越来越流行,甚至在19世纪,业余学者还会追忆这些古文物学家。如今历史学家使用的许多文献汇编,都是这些维多利亚时代团体的产物。

古文物学家与历史学家的不同之处在于,前者试图拼凑一幅图画,而后者则是讲述一个故事。

博杜安(1520-1573)是一位想要弄清罗马法律从过去到当代如何演变的学者,他看到了将历史研究与法学相结合的可能性,试图“清楚历史中的神话”。博杜安提出,历史学家应该像一名律师那样:在相互冲突的记述之间进行取舍,力图建立事件发生的准确顺序,以冷静、客观的怀疑态度对待“证物”(文献)。我们不妨把他所说的“律师”看作是”侦探“。

所以文艺复兴之后,历史作为一种创作,得到了新的工作和研究方法。如果是以前的历史学家是在创造”真实的故事“,而本章的历史学家则以”真实的故事“为目标。正是从瓦拉到博杜安的时期,形成了使用资料的方法和原则,力图确定历史”真相“可以通过证据来证明。

历史学家总是在”真相“和”讲故事“的两极之间来回摆动。

启蒙运动

18世纪,一个与通常所称的”启蒙运动“联系在一起的世纪,历史的”真实故事“与哲学问题发生了关联。历史的这个新目的影响了历史学家对过去时代和历史文献的看法。伏尔泰评论道:

让细节见鬼去吧!后人会把它们全都抛开。它们是侵蚀宏伟著作的一种寄生虫。

伏尔泰对历史细节有明确的排斥。需要注意到,18世纪有一种非常不同的驱动力,一种让历史与启蒙思想家所关心的主题——理性、自然和人类——产生关联的愿望。诸如伏尔泰、休谟、维柯、孔多塞等作者,是在通过对过去的研究来探讨”大问题“——有关人类存在的性质和周围世界的运行。他们的兴趣为再次逃离修昔底德之塔提供了可能。

对于通晓哲学的历史学家来说,仅仅涉及事实积累和政治事件是不够的。世界——无论是过去还是现在——首先是复杂多样的。启蒙运动中的历史学家不仅对统治精英的决定感兴趣,也对地理、气候、经济、社会结构和不同人们的性格感兴趣。如果科学家能够指出自然世界中的让人难以置信的相互联系,历史学家也应该尝试以类似的复杂方式去理解过去。

(与历史编纂的演变和对过去的看法有关的主题)

一、”过去“并非如此简单。植物学和地质学的发展使各种各样的思想家得出结论:世界要比《旧约》所承认的古老得多。上帝六天造物的记述即使是”真实的“,也只是在象征意义上而已。时间本身的延伸必然会挑战过去的假设。上帝在历史中扮演的角色不得不重新确定。

二、对某些作者来说,上帝甚至完全可以忽略不计。另一些人则把上帝的旨意想象为”神圣的天意“——指引人类历史进程的终极原因。对于抛弃了”天意“观念的历史学家来说,他们仍然需要一种因果关系理论。两种互相竞争的模式出现在他们面前:偶然性和伟人。

三、启蒙运动还提出了另一个信念:人性具有永恒的普遍性。大卫·休谟写道:

所有时代和所有地方的人是完全一样的,历史在这一点上没有说出任何新鲜的或奇特的事情。它的主要用途不过是发现永恒而普遍的人性准则。

四、从德国启蒙运动后期阶段开始,历史学家越来越相信,恰当理解历史要做两件互相联系的事情:

  1. 非常详细地研究档案资料
  2. 形成因果关系理论,将地理位置、社会体系、经济力量、文化观念、技术进步的影响与个人意志之间的复杂关系融合起来

历史正在从政治学和法学转向经济学和今天所称的社会学。在这种冲击下,修昔底德之塔的确变成了废墟。

五、兰克:“科学“的历史

18世纪许多最著名的作家创作出”哲学式的“历史,它们与事实本身无涉,而与他们试图阐明的某些重大问题有关。另一些历史学家也从西塞罗式的历史中汲取灵感,为读者大众创作出”美丽故事“。

而兰克在暗示不同的东西。他要对文献进行详细的分析,不让富于幻想的灵感”歪曲“结果,服从审查和验证的”科学“观念,从而能够”仅仅说出事实是怎样的“。那么他改变了什么呢?

首先,如果说吉本(其《罗马帝国衰亡史》被认为是第一步”现代“历史著作)标志着历史作为一种使命(因历史本身而选择研究历史)的开端,那么兰克确立了一种作为职业的历史。兰克的一大遗产是历史学家的工作研讨班,这种模式仍在指引大多数年轻的历史学家熟悉这个行当。

其次是一再出现的格言:”仅仅说出事实是怎样的“。这个短小而平淡的句子激发了关于历史实践和历史哲学的许多论著。这是历史学家逃离”真实故事“的范式,让历史仅与”真实“相关的一种尝试。

兰克之后,任何类型的历史学家心中首要的观念就是”真相“,它可以通过忠实于资料而着手进行探究或最终企及。

(之后的历史编纂越来越细分,如今很少有历史学家简单地称自己为历史学家:他们是”社会史学家“、”科学史学家“、”女性史学家“等等。)

历史的职业化

19和20世纪历史学日益制度化,历史成为工业革命后逐步”职业化“的大量学科中的一个。职业化的结果之一是,出现了历史应该服务于民族国家需要、创作”民族“历史的期望。职业化并未将历史学家从其独特文化的需要和偏见中解救出来,也许还强化了这种需要和偏见。

值得注意的是,历史学家为职业地位付出了某些代价。首先,一般读者与专业历史学家之间存在者越来越多的隔阂。对于每一个读者来说,许多有趣的、重要的内容被隐藏在了令人不快的大片专业注释当中。其次,成为”专业人员“有时会让历史学家假装超然于现在和过去,对其作出客观的判断。但要注意,”专业的“并不意味着”公正的“,它主要表示”有报酬的“。最后,职业化还会导致分裂。这种分裂也许是不可避免的,但这的确意味着”历史“绝不会只是一个真实的故事。

四、声音与沉默

诺里奇档案馆的火灾

本章与后面两章,将阐明历史学家怎样展开研究历史的工作。我们将利用原始数据,从历史中探索出一个真实的故事。

档案馆中重要的东西:赖以运作的分类系统。历史学家的工作从档案开始——但只能在档案管理员对那些资料分类、整理之后。

历史学家常常提到原始证据。原始数据与”二手“资料的界限可能很难划分,而且”二手“资料也是它们自己时代的”原始“证据。

至少从15世纪开始,诺里奇的公民就注意将与自己历史有关的文献安全地保管下来。因为旧文献是权力的表现,尤其是那些与土地所有权和法律权利有关的文献。

档案馆不仅是仓库,它们也是系统化的信息库,由专业人士照料着。这一点在两方面显得颇为重要:

  1. 过去的资料不是以一致的格式保留下来的,需要有人整理并有序地存放。
  2. 管理员编写出”查档指南“,通常也附有内容摘要,使查阅者(如历史学家)能快速地查找文献

什么是”资料“?

早些时候的资料多是叙述性文献:编年记事、回忆录、政府记录、过去的史书。到了19世纪和20世纪,资料开始包含更多的种类,如遗嘱、书信、买卖记录和其它财会项目、税收文件、法庭记录等。

事实上,资料可以是任何为我们留下过去痕迹的东西。

伯德特太太补助金文献(一份市政府记录)

历史学始于资料,有两个重要步骤:

  1. 将历史学家推向一系列特定资料的线索。(历史学家在看到证据之前要做出选择,所以也可以说,历史学开始的途径之一是资料)
  2. 历史学家本身:他们的兴趣、观念、环境与经历。

我们看到伯德特太太将得到一份年金,但它还缺乏一种语境以赋予其意义或重要性,所以它还能称为”历史“。这里,历史学家需要决定他(她)要寻找何种意义,并弄清资料本身能够提供的支持是什么。对同一份《议会记事簿》,我们可以从不同方面来探讨,如对雅茅斯市政府的调查,也可以讨论社会、宗教、政治等等。

还有其它的问题有待解决:

  • 我们手头的资料是否是伪造品?
  • 资料中的”偏见“,这一点需要认真对待。寻找”偏见“,似乎暗示着可以找到一种”无偏见“的立场。如果”偏见“意味着每个人的特有风格,那么”偏见“的存在是必然的,也就是是不存在”无偏见“的文献。除了个人风格,文献也可能反映出“时代”风格。需要注意的是,这些“偏见”不是要“抛弃”的;相反,它们是可资利用的内容。
  • 不仅仅考虑资料所说出的,还要考虑它未说出的。关于议会给予伯德特太太年金的决定,是轻易作出的,还是经过了数小时的争论?伯德特太太是否在场?议会为何决定给她一份年金?

资料并不是真地“自己会说话”。我们阅读资料时问题会逐一浮现,如:谁是伯德特?他为何要去新英格兰?伯德特太太和她的孩子后来怎样了?要回答它们,我们需要寻找关于伯德特一家的其它资料。此时,我们决定了要探寻的特定路线——从起点开始,将资料所提供的和未提供的以及我们所关注地,一一联结起来。

历史学家依赖彼此的著作,与依赖自己对历史资料的调查一样多。

有时历史学家恰好是这样做的:辛苦而单调地搜寻每一种能够找到的文献,寻找对他(她)关注之事的记载。

大多数历史学家不仅利用原始档案,也会利用已出版的资料。

文献很少打算欺骗历史学家,但它们时刻都会愚弄那些粗心的人。

在一个特定的时刻,资料陷入了沉默,历史学家必须开始做些猜测——对文件进行解释。

沿着一条令人满意的道路继续前进的代价,就是也许会阻塞其它可能的道路。

资料时一个起点,但历史学家在此之前和之后都要在场,并使用技巧,做出选择。为什么是这份文献而不是另一份?为什么是这些契据而不是那些?为什么要看契据而不是审判记录?为什么要研究政府报告而不是日记?要探讨哪些问题?采用哪些途径?

资料不会自己说话,它也从来没这样做过。

以完全真实为目标的历史永远无法实现(只能是一个真实的故事),因为无数的事情仍然无法得知。这一问题使得“过去”成为一个研究领域而不是一个不证自明的真实。我们可以说:档案必须被烧毁(当然是在象征意义上),历史才得以发生。我们必须拥有资料——我们也必须拥有沉默。

五、千里之行

重建伯德特的某些历史,让我们走出了第一步,现在我们要去向何方呢?

我们试图在漫长旅程中的开放空间和在伟大旅程中寻找意义、探求论据。伯德特至少是两个更宏大的故事中的一部分,即英国内战和美洲殖民。

研究历史需要几种类型的猜测。我们已经看到试图在现存证据中“填补空白”的过程。本章将探讨的是一个更深层的过程:怎样将大量的材料综合起来,以及用宏大故事所呈现的轮廓去构造什么。

创造一个故事,不止是构造一个孤立的故事,我们还需要确定所描述的事件的原因和结果,处理其它历史学家已经说过的内容,并指出这个故事意味着什么。

人们关注地证据的类型,无疑会影响被讲述的故事。以英国内战为例,如果主要关注叙述性的记载、王室的文献和议会的文件,呈现的故事就是政治性的:故事包含了从1642年国王和议会之间爆发战争到1660年查理二世夺回王位发生的重要事件。

在这个“政治”故事中,变化的原因是什么,它又意味着什么?一个看起来较为合理且被广为接受的观点是,变化是通过人的能干与否实现的(如无能的查理一世与起初有能力的克伦威尔),并受制于某种偶然性(战争意外失利),还受到意识形态的影响(君主制对共和制)。

在其最原始的状态下,政治史依然坚持着19世纪晚期的模式:叙述“伟大的事件”,评判“伟人”(也包含负面意义上的人,如墨索里尼与希特勒)。这一模式同时也否认了某些人可以称为“伟大”。那么,评判伟大与否的依据与标准是什么却不甚清楚。

还有些理论关注地是那些不那么伟大的人所做的决定,其出发点是,导致事件发生的是掌握权力的个人所做的或好或坏的决定。

过去发生的事情无疑收到人们所做决定的影响——有时还是决定性的。但人们想要做什么与这些想法产生的实际结果,常常不是一回事。

社会史学家与政治史学家关注的证据往往不同,尤其是地方性的政府记录,在其中更有可能找到与普通百姓有关的信息。这种信息有些可用作经济分析。20世纪,经济变迁的图景引起了历史学家越来越多的兴趣,这主要是由于马克思的影响。(马克思主义的一个经典叙述)

事实上,今天所有的历史学家都是马克思主义者(marxists)。马克思思想中的一个关键要素已在历史学家的观念中根深蒂固,以至于已被视为理所当然了:社会和经济环境影响着人们对他们自己、他们的生活及其周围世界进行思考而采取行动的方式。马克思本人写道:

人类创造自己的历史,但不是随心所欲地创造。他们不是在自己选择的情境之下,而是直接在碰巧遇见、给定,以及从过去流传下来的情境之下创造历史。

人类学和社会学的影响,使社会史学家能够研究在人们日常生活中所察觉到的行为模式:他们的家庭结构、日常生活中的行为举止、对于周围社会空间的安排并赋予其意义的方式。对这些不同领域的考察会将历史学家引向不同的问题,如婚姻模式的变化、性别感受对社会行为的影响。

近年来,历史学家对文化的兴趣也越来越强烈了,这同样来自人类学观念的影响。人类学、社会学与社会学联结起来,此时的”文化“不仅仅是指音乐、戏剧、文学之类,也用来指称思想和理解的模式、语言形式、生活仪式以及思维方式。

无论学者被贴上“历史学家”、“经济学家”、“社会学家”还是“人类学家”的标签,他们都不过是在分析人们如何生存和互动。不同的方法会有不同的侧重点,但其共通之处有时要比他们愿意承认的多得多。历史学所能做出的一大贡献是推动人们去思考事物为何以及如何随时间变化。

历史中的“因果”

我们经常发现自己在谈论“原因”,有时则会谈到“起源”。要了解复杂的过程,它们是有用的常识性表达,却也隐含着危险。

如果要描述欧洲人在美洲的殖民过程,我们可以指出导致这一过程的种种因素,但必须要意识到在创造“一个”殖民故事的时候,我们是在综合成千上万的也许并不符合我们整体框架的个人叙述。综合总是意味着让某些事物缄默。综合是有用的和不可避免的,但它仍然只是“一个真实的故事”而非整个真实。近年来,历史学家对综合而成的“宏大叙事”产生了怀疑,因为这些故事往往会忽视任何特殊情形的复杂性。

在处理面对的问题时,我们对讲述伟大故事的人们产生了怀疑,因为我们希望更多地关注真实故事中的细节。

“结果”和起源同样复杂。对于历史来说,没有任何事物会终结,故事引发其它的故事。“起源”只是我们选择的这个故事的起始之处,它决定(也被决定)我们想要讲述的是何种类型的故事。

在试图确定是什么“导致”某事发生的时候,历史学家可以采用多种不同的理论,站在各种各样的立场。多数人会承认,除了在最简单的层面上,任何事情都有多重的原因。由于某个原因而发生的事情,又称为其后发生事情的原因,历史学家试图从这些复杂的事件中归纳出模式。过去无疑有许多模式有待发现,但它们多大程度上是已存在的模式,多大程度上是历史学家提炼出来的模式?

不存在,也永远不会存在,对故事的唯一一种解释。期待这样一种解释,也许会错失过去的意义。任何历史都是对过去极度的复杂性试图说些什么。历史学家有一种沉重的责任:决不要声称自己的叙述是讲述故事的唯一方式。但读者也有自己的责任:不要因为它们并不完美而轻忽历史,而要把它们当作真实的故事去处理,它们只能如此。

历史如马克思所说,是由人们在自己无法选择的环境中创造的,但他们在自己的生活中影响着所处的环境。

大多数发生的事情都是人们人们试图实现特定目标的结果,但他们永不具备足以预见其结果的洞察力。人们出于与当下相关之因,行与当下相关之事。他们的所作所为激起波浪,向外扩展,又与无数其他人激起的波浪互相作用。在这些互相碰撞的波浪构成的模式中,历史就在某处发生了。(历史是一种“在别处”)

关于拖延症与意志力

Posted on 2017-06-28

误区

  1. 同时做太多事情
  2. 过于相信自己的意志力
  3. 或期待一种完美的状态,在此状态下,甚至不需要意志力,自己”应该“知道想做什么(而且是100%地知道)

Hexo的安装与配置

Posted on 2017-06-27

可能是npm的问题,也可能是Hexo的问题,总之:

  • Error: Cannot find module ‘./build/Release/DTraceProviderBindings’频繁出现
  • 将网站从一个目录移动到另一个目录也颇需要一番周折

可参考的两篇文章:

  • mac osx 下 hexo DTraceProviderBindings 错误

  • The note of how to rebuild hexo+next blogs when switch to another PC or reinstall system

PS:不熟悉Node.js,每次安装都莫名担心会失败。。。

PPS:测试git commit效果。

PPPS:测试Github Pages更新。

Programming

Posted on 2017-06-23 | In Programming

Languages I am living with:

  • Python
  • Scala
  • C#

Languages I am falling in love with:

  • Racket/Scheme
  • OCaml
  • Julia
  • Rust

Syntax Highlits

Python

1
print("Hello, World!")

Scala

1
2
3
object HelloWorld extends App {
println("Hello, World!")
}

MathJax

Inline

Euler’s identity: $e^{i \pi} + 1 = 0$.

Block (Euler’s formula)

$$e^{i \pi} = cos x + i sin x$$

1…45
Anders Cui

Anders Cui

47 posts
13 categories
30 tags
© June 2017 - 2021 Anders Cui
Powered by Hexo
Theme - NexT.Mist