Skip to content

Commit

Permalink
fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
szcf-weiya committed Jan 17, 2019
1 parent d8acc0d commit d07f7fb
Show file tree
Hide file tree
Showing 2 changed files with 57 additions and 57 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
这些点可以被线性边界分离开。图中的蓝色线条是无穷种可能**分离超平面**中的两个。黄色的线条表示该问题的最小二乘解,通过在 $X$ 上对 $-1/1$ 响应变量 $Y$ 回归得到(带有截距);该直线由下式给出

$$
\{x:\hat\beta_0+\hat\beta_1x_1+\hat\beta_2x_2=0\}\tag{4.39}
\{x:\hat\beta_0+\hat\beta_1x_1+\hat\beta_2x_2=0\}\tag{4.39}\label{4.39}
$$


Expand All @@ -27,7 +27,7 @@ $$
!!! info "weiya 注:Ex. 4.2"
具体证明过程见[Issue 108: Ex. 4.2](https://github.com/szcf-weiya/ESL-CN/issues/108)

类似 (4.39) 的分类器计算输入特征的线性组合并且返回符号,在 1950s 末期称之为**感知器 (perceptrons)** (Rosenblatt,1958[^1]) 。感知器是 1980s 和 1990s 神经网络模型的基础。
类似 $\eqref{4.39}$ 的分类器计算输入特征的线性组合并且返回符号,在 1950s 末期称之为**感知器 (perceptrons)** (Rosenblatt,1958[^1]) 。感知器是 1980s 和 1990s 神经网络模型的基础。

在我们继续之前,稍微岔开去回顾一些向量代数的知识。图 4.15 描述了由等式 $f(x)=\beta_0+\beta^Tx=0$ 定义的超平面或仿射集$L$;因为我们是在 $R^2$ 空间中,所以这是一条直线。这里我们列出一些性质:

Expand All @@ -36,8 +36,8 @@ $$
3. 任意点 $x$ 到 $L$ 的符号距离为
$$
\begin{align}
{\beta^*}^T(x-x_0)&=\frac{1}{\Vert\beta\Vert}(\beta^Tx+\beta_0)\\
&=\frac{1}{\Vert f'(x)\Vert}f(x)\tag{4.40}
{\beta^*}^T(x-x_0)&=\frac{1}{\Vert\beta\Vert}(\beta^Tx+\beta_0)\notag\\
&=\frac{1}{\Vert f'(x)\Vert}f(x)\tag{4.40}\label{4.40}
\end{align}
$$
因此 $f(x)$ 与 $x$ 到由 $f(x)=0$ 定义的超平面符号距离成比例。
Expand All @@ -46,20 +46,20 @@ $$

> 图4.15. 超平面(仿射集)的线性代数
## 4.5.1 Rosenblatt的感知器学习算法
## 4.5.1 Rosenblatt 感知器学习算法

**感知器学习算法 (perceptron learning algorithm)** 试图通过最小化误分类的点到判别边界距离来寻找分离超平面。如果响应变量 $y_i=1$ 是误分类的,则 $x_i^T\beta+\beta_0 < 0$,对于误分类的响应变量 $y_i=-1 $是反过来的。目标是最小化

$$
D(\beta,\beta_0)=-\sum\limits_{i\in\cal M}y_i(x_i^T\beta+\beta_0),\tag{4.41}
D(\beta,\beta_0)=-\sum\limits_{i\in\cal M}y_i(x_i^T\beta+\beta_0),\tag{4.41}\label{4.41}
$$

其中 $\cal M$ 是误分类点的指标集。上式是非负的且与误分类的点到由 $\beta^Tx+\beta_0=0$ 定义的判别边界的距离成比例。梯度(假设 $\cal M$ 固定)由下式给出

$$
\begin{align}
\dfrac{\partial D(\beta,\beta_0)}{\partial \beta}&=-\sum\limits_{i\in \cal M}y_ix_i\tag{4.42}\\
\dfrac{\partial D(\beta,\beta_0)}{\partial \beta_0}&=-\sum\limits_{i\in \cal M}y_i\tag{4.43}
\dfrac{\partial D(\beta,\beta_0)}{\partial \beta}&=-\sum\limits_{i\in \cal M}y_ix_i\tag{4.42}\label{4.42}\\
\dfrac{\partial D(\beta,\beta_0)}{\partial \beta_0}&=-\sum\limits_{i\in \cal M}y_i\tag{4.43}\label{4.43}
\end{align}
$$

Expand All @@ -69,10 +69,10 @@ $$
\left(\begin{array}{}\beta\\\beta_0\end{array}\right)\leftarrow
\left(\begin{array}{}\beta\\\beta_0\end{array}\right)+
\rho\left(\begin{array}{}y_ix_i\\y_i\end{array}\right)
\tag{4.44}
\tag{4.44}\label{4.44}
$$

这里 $\beta$ 是学习速率,不失一般性这种情形下可以取1。如果类别是线性可分的,则可以证明在有限步后该算法收缩到一个分离超平面([练习 4.6](https://github.com/szcf-weiya/ESL-CN/issues/109))。图 4.14 显示了对一个简单问题的两个解,每个都是从不同的随机猜测开始的。
这里 $\rho$ 是学习速率,不失一般性这种情形下可以取1。如果类别是线性可分的,则可以证明在有限步后该算法收缩到一个分离超平面([练习 4.6](https://github.com/szcf-weiya/ESL-CN/issues/109))。图 4.14 显示了对一个简单问题的两个解,每个都是从不同的随机猜测开始的。

Ripley (1996)[^2] 总结了该算法有以下一些问题:

Expand All @@ -88,61 +88,61 @@ Ripley (1996)[^2] 总结了该算法有以下一些问题:

最优分离超平面将两个类别分离开且使得超平面到每一个类别最近点的距离最大 (Vapnik, 1996)[^3]。这样不仅得到分离超平面问题的唯一解,而且通过使得在训练集上两个类别的**边缘 (margin)** 最大,这使得在测试集上有更好的分类表现。

我们需要推广准则 (4.41)。考虑下面的优化问题
我们需要推广准则 $\eqref{4.41}$。考虑下面的优化问题

$$
\begin{align}
\begin{align*}
\underset{\beta,\beta_0,\Vert\beta\Vert=1}{\max}& M\\
\st& y_i(x_i^T\beta+\beta_0)\ge M,\;i=1,\ldots,N
\end{align}
\tag{4.45}
\end{align*}
\tag{4.45}\label{4.45}
$$

这一系列条件保证了所有点到由 $\beta$ 和 $\beta_0$ 定义的判别边界的符号距离至少为 $M$,我们寻找最大的 $M$ 和相关的参数。我们可以通过把条件替换为下面的形式来摆脱 $\Vert\beta\Vert=1$ 的限制

$$
\frac{1}{\Vert\beta\Vert}y_i(x_i^T\beta+\beta_0)\ge M\tag{4.46}
\frac{1}{\Vert\beta\Vert}y_i(x_i^T\beta+\beta_0)\ge M\tag{4.46}\label{4.46}
$$

(重新定义了 $\beta_0$)或者等价于

$$
y_i(x_i^T\beta+\beta_0)\ge M\Vert\beta\Vert\tag{4.47}
y_i(x_i^T\beta+\beta_0)\ge M\Vert\beta\Vert\tag{4.47}\label{4.47}
$$

因为对于任意满足这些不等式的 $\beta$ 和 $\beta_0$,任意正的放缩因子同样成立,我们可以任意令 $\Vert\beta\Vert=1/M$。因此 (4.45) 等价于

$$
\begin{align}
\begin{align*}
\underset{\beta,\beta_0}{\min}&\frac{1}{2}\Vert\beta\Vert^2\\
\st & y_i(x_i^T\beta+\beta_0)\ge \; i=1,\ldots,N
\end{align}
\tag{4.48}
\st & y_i(x_i^T\beta+\beta_0)\ge 1 \; i=1,\ldots,N
\end{align*}
\tag{4.48}\label{4.48}
$$

根据 (4.40),上面的约束条件定义了一个判别边界周围厚度为 $1/\Vert\beta\Vert$ 的**平板 (slab)** 或者**空白 (margin)**。因此我们选择 $\beta$ 和 $\beta_0$ 最大化厚度。这是一个凸优化问题(线性不等约束的二次准则)。Lagrange(原问题)函数关于 $\beta$ 和 $\beta_0$ 进行最小化是
根据 $\eqref{4.40}$,上面的约束条件定义了一个判别边界周围厚度为 $1/\Vert\beta\Vert$ 的**平板 (slab)** 或者**空白 (margin)**。因此我们选择 $\beta$ 和 $\beta_0$ 最大化厚度。这是一个凸优化问题(线性不等约束的二次准则)。Lagrange(原问题)函数关于 $\beta$ 和 $\beta_0$ 进行最小化是

$$
L_P=\frac{1}{2}\Vert\beta\Vert^2-\sum\limits_{i=1}^N\alpha_i[y_i(x_i^T\beta+\beta_0)-1]\tag{4.49}
L_P=\frac{1}{2}\Vert\beta\Vert^2-\sum\limits_{i=1}^N\alpha_i[y_i(x_i^T\beta+\beta_0)-1]\tag{4.49}\label{4.49}
$$

令微分为 0,则有

$$
\beta=\sum\limits_{i=1}^N\alpha_iy_ix_i\tag{4.50}
\beta=\sum\limits_{i=1}^N\alpha_iy_ix_i\tag{4.50}\label{4.50}
$$

$$
0=\sum\limits_{i=1}^N\alpha_iy_i\tag{4.51}
0=\sum\limits_{i=1}^N\alpha_iy_i\tag{4.51}\label{4.51}
$$

替换掉 (4.49) 中的这些项我们得到被称作 Wolfe 的对偶问题
替换掉 $\eqref{4.49}$ 中的这些项我们得到被称作 Wolfe 的对偶问题
$$
L_D=\sum\limits_{i=1}^N\alpha_i-\frac{1}{2}\sum\limits_{i=1}^N\sum\limits_{k=1}^N\alpha_i\alpha_ky_iy_kx_i^Tx_k\\
\qquad\qquad \qquad \qquad \qquad \st \; \alpha_i\ge 0\qquad \tag{4.52}
\qquad\qquad \qquad \qquad \qquad \st \; \alpha_i\ge 0\qquad \tag{4.52}\label{4.52}
$$

!!! note "weiya注:对偶问题"
!!! note "weiya 注:对偶问题"
对于无等值约束的优化问题

$$
Expand All @@ -157,29 +157,29 @@ $$
$$
\underset{x\in\IR^n}{\min}f(x)\; \st c(x)\ge 0
$$
Lagrangian函数为
Lagrangian 函数为
$$
{\cal L}(x,\lambda)=f(x)-\lambda^Tc(x)
$$
定义对偶目标函数$q:\IR^n\rightarrow \IR$:
定义对偶目标函数 $q:\IR^n\rightarrow \IR$:
$$
q(\lambda)\def\underset{x}{\inf}\cal L(x,\lambda)
$$
其定义域为
$$
\cal D\def\{\lambda\mid q(\lambda)>-\infty\}
$$
**若$f$$-c_i$均为凸函数**,则$\cal L(\cdot, \lambda)$也为凸函数,则可以很容易计算$q(\lambda)$。
**若 $f$$-c_i$ 均为凸函数**,则$\cal L(\cdot, \lambda)$也为凸函数,则可以很容易计算$q(\lambda)$。

参考资料: [Wright S, Nocedal J. Numerical optimization (Second Edition). Springer Science.](../references/opbook2.pdf)

通过在正象限内最大化 $L_D$ 得到解,这是一个简单的凸优化问题,可以使用标准的软件来求解。另外解必须满足 KKT(Karush-Kuhn-Tucker) 条件,它包括4.50),(4.51),(4.52) 以及
通过在正象限内最大化 $L_D$ 得到解,这是一个简单的凸优化问题,可以使用标准的软件来求解。另外解必须满足 KKT(Karush-Kuhn-Tucker) 条件,它包括 $\eqref{4.50}$,$\eqref{4.51}$,$\eqref{4.52}$ 以及

$$
\alpha_i[y_i(x_i^T\beta+\beta_0)-1]=0\;\forall i.\tag{4.53}
\alpha_i[y_i(x_i^T\beta+\beta_0)-1]=0\;\forall i.\tag{4.53}\label{4.53}
$$

!!! note "weiya注:KKT条件"
!!! note "weiya 注:KKT条件"
对于带约束的优化问题
![](../img/12/def12.1.png)
一阶必要条件为
Expand All @@ -191,7 +191,7 @@ $$
- 如果 $\alpha_i\gt 0$,则 $y_i(x_i^T+\beta_0)=1$,或者换句话说,$x_i$ 在 slab 的边界上;
- 如果 $y_i(x_i^T\beta+\beta_0)>1$,$x_i$ 不在平板的边界上,而且 $\alpha_i=0$。

(4.50) 我们可以看到解向量 $\beta$ 定义为**支撑点 (support points)** $x_i$ 的线性组合——这些点通过 $\alpha_i >0$ 定义在 slab 的边界上。图 4.16 显示了我们那个简单例子的最优分离超平面;这里有三个支撑点。同样地,$\beta_0$ 可以通过对任意支撑点求解 (4.53) 得到。
$\eqref{4.50}$ 我们可以看到解向量 $\beta$ 定义为**支撑点 (support points)** $x_i$ 的线性组合——这些点通过 $\alpha_i >0$ 定义在 slab 的边界上。图 4.16 显示了我们那个简单例子的最优分离超平面;这里有三个支撑点。同样地,$\beta_0$ 可以通过对任意支撑点求解 $\eqref{4.53}$ 得到。

![](../img/04/fig4.16.png)

Expand All @@ -200,7 +200,7 @@ $$
最优分离超平面得到函数 $\hat f(x)=x^T\hat\beta+\hat\beta_0$ 来对新的观测分类

$$
\hat G(x)=\sign \hat f(x)\tag{4.54}
\hat G(x)=\sign \hat f(x)\tag{4.54}\label{4.54}
$$

尽管没有训练观测点会落在空白边缘里面(由构造可知),但这对于测试观测点不一定正确。直觉上,若训练数据边缘空白较大,会使得在测试数据集上良好的分离。
Expand Down
Loading

0 comments on commit d07f7fb

Please sign in to comment.