机器学习基础

作者: 水之心 | 来源:发表于2018-08-23 23:17 被阅读1次

预备知识

\mathcal{I} 表示输入数据 x 的数据空间, 被称为输入空间 (input space). \phi 是一个映射, 令 \mathcal{F} = \mathcal{I}^{**} 表示特征空间 (feature space).

  • 数据实例 x 可以任意对象, 如文本, 序列, 图像, 字符串等;
  • 对于给定的数据实例 x, \phi(x) 是一个向量, 被称为特征向量.

内积运算 K: \mathcal{I \times I} → \mathbb{R} 定义为 \mathcal{I} 上的核函数 为 , 即
∀ x_i, x_j \in \mathcal{I}, \; K(x_i,x_j) = ⟨\phi(x_i),\phi(x_j)⟩

D= \{x_i\}_{i=1}^n \subset \mathcal{I} 为输入空间中包含 n 个对象的数据集, 则将 D 中的点对间的核函数 (亦称为相似度函数, 或核) 表示为一个 n \times n核矩阵, 定义为
\mathbf{K} = \begin{pmatrix} K(x_1,x_1) & K(x_1,x_2) & \cdots & K(x_1,x_n) \\ K(x_2,x_1) & K(x_2,x_2) & \cdots & K(x_2,x_n) \\ \vdots & \vdots & \ddots & \vdots\\ K(x_n,x_1) & K(x_n,x_2) & \cdots & K(x_n,x_n) \\ \end{pmatrix}

核方法避免了显式地将输入空间中的每个点 x 变换到特征空间中的映射点 \phi(x), 而是直接通过核矩阵来获取. 这样,所有的相关分析均可转移到对核矩阵的研究上来. 当然, 核矩阵也可以看作对应 n 个输入点的完全图的带权邻接矩阵.

对于输入空间中的任一 x \in \mathcal{I}, 都被映射到如下函数 (被称为再生核映射):
\phi(x) = K(x,\cdot)
其中 \cdot 代表 \mathcal{I} 中任一参数. 这意味着输入空间中的每一个对象 x 都映射到一个特征点 \phi(x), 该特征点事实上是一个函数 K(x,\cdot), 代表了该点与输入空间 \mathcal{I} 中其他点的相似度.


\begin{aligned} \mathcal{F} &= \operatorname{span} \{K(x,⋅): x \in \mathcal{I}\}\\ &= \{ \mathbf{f} = f(\cdot) = \displaystyle\sum_{i=1}^m α_iK(x_i,⋅):m \in \mathbb{N}, α_i \in ℝ, \{x_1,x_2,\cdots,x_m \} ⊆ \mathcal{I} \} \end{aligned}
代表能够由特征点的任意子集的线性组合得到的所有函数点或点的集合.

对于 \mathbf{f,g} \in \mathcal{F} 为特征空间中任意两点:
\mathbf{f} = \displaystyle\sum_{i=1}^{m_a} α_iK(x_i, ⋅), \mathbf{g} = \displaystyle\sum_{j=1}^{m_b} β_iK(x_j, ⋅)
定义这两个点的内积为
⟨\mathbf{f,g}⟩ = \displaystyle\sum_{i=1}^{m_a}\sum_{j=1}^{m_b}α_iβ_jK(x_i,x_j)

易证 \mathcal{F} 是希尔伯特空间, \mathcal{F} 具有再生性质 (reproducing property), 即可以通过取 \mathbf{f}\phi(x) 的内积来计算一个函数 f(⋅) 在一个点 x\in \mathcal{I} 上的值:
⟨f(⋅),\phi(x)⟩ = \displaystyle\sum_{j=1}^{m_a} α_i K(x_i,x) = f(x)
由此, \mathcal{F} 也被称为再生希尔伯特空间.

再生核映射 \phi 将输入空间映射到一个可能是无限维的特征空间中, 然而, 给定一个数据集 D = \{x_i\}_{i=1}^n, 可以只计算 D 中的点核, 从而得到一个有限维的映射, 即定义经验核映射 \phi 如下:
\phi(x) = \mathbf{K}^{-\frac{1}{2}}[K(x_1,x); K(x_2,x); \cdots; K(x_n,x)] \in \mathbb{R}^n

故而
\phi(x_i)^T\phi(x_i) = \mathbf{K}_i^T\mathbf{K}^{-1}\mathbf{K}_j
其中 \mathbf{K}_i 代表核矩阵 \mathbf{K} 的第 i 列.


α = [α_1;α_2;\cdots;α_b] 为参数向量, 基函数向量为 \phi(x) = [\phi_1(x);\phi_2(x);\cdots;\phi_b(x)]

在统计学中, 通常把基于参数的线性模型称为参数模型, 把核模型称为非参数模型.
与参数相关的非线性模型, 称为非线性模型 (如层级模型).

  • 线性模型:

f_{α}(x) = \displaystyle\sum_{j=1}^b α_j \,\phi_j(x) = α^T\phi(x)

  • 层级模型:

f_{α}(x) = \displaystyle\sum_{j=1}^b α_j \,\phi(x;\beta_j) = α^T\phi(x;\beta)

其中, \phi(x;\beta_j) 是含有参数 \beta = [\beta_1;\beta_2; \cdots;\beta_b] 的基函数.

若基函数 \phi_i(x) = \phi(x,x_i) 内积运算, 则可将线性模型转换为核模型;把 \phi(x;\beta_j) 替换为核函数, 则是核模型; 把 \beta 当作超参数, 则是线性模型.


最小二乘学习法 (Least Squares)

模型假设: D ⊂ \mathbb{R}^d, 定义损失函数为
J_{LS}(\alpha) = \frac{1}{2} \displaystyle\sum_{i=1}^n (f_{\alpha}(x_i) - y_i)^2

学习目标:
\hat{\alpha}_{LS} = \underset{\alpha}{\arg\min} \; J_{LS}

如果使用线性模型的话, J_{LS} 可以转换为
J_{LS}(\alpha) = \frac{1}{2} ||\Phi\alpha - y||^2

这里 y=[y_1;y_2;\cdots;y_n], \Phi 被称为设计矩阵:
\Phi = \begin{pmatrix} \phi_1(x_1) & \cdots & \phi_b(x_1)\\ \vdots & \ddots & \vdots\\ \phi_1(x_n) & \cdots & \phi_b(x_n) \end{pmatrix}

∇_{\alpha} J_{LS} = \Phi^T\Phi\alpha - \Phi^T y = 0, 便得出最小二乘解
\Phi^T\Phi\alpha = \Phi^T y
亦即
\hat{α}_{LS} = \Phi^{\dagger}y

其中 \Phi^{\dagger} 表示 \Phi 的伪逆, 若 \Phi^T\Phi 可逆时, 有 \Phi^{\dagger} = (\Phi^T\Phi)^{-1} \Phi^T.

带有约束条件的最小二乘学习法

可微分的凸函数 f: \mathbb{R}^d → \mathbb{R}g: \mathbb{R}^d → \mathbb{R}^p 的约束条件的最小化问题

\begin{cases} \underset{t}{\min} &f(t)\\ \operatorname{s.t.}& g(t) \preceq 0 \end{cases}
的拉格朗日对偶问题, 可以使用拉格朗日乘子 λ = (λ_1,\cdots,λ_p)^T 和拉格朗日函数
L(t,λ) = f(t) + λ^Tg(t)
采用以下方式进行定义:
\begin{cases} \displaystyle\max_{λ} \inf_{t}& L(t,λ)\\ \operatorname{s.t.}& λ \succeq 0 \end{cases}
拉格朗日对偶问题的 t 的解, 与原问题的解是一致的.

下面探讨线性模型:
f_{\theta}(x) = θ^T\phi(x)
的带约束的最小二乘法.

部分空间约束

约束条件
P\theta = \theta

这里, P 满足 P^2=P, P^T=P\in ℝ^{b×b}, 表示 P 的值域 \mathcal{R}(P) 的正交投影矩阵. 约束条件 P\theta = \theta 使得参数 \theta 不会偏移值域 \mathcal{R}(P) 的范围外.

该问题的最小二乘解为
\hat{\theta} = (\Phi P)^{\dagger}y

l_2 约束

约束条件
||\theta||^2 \leq R
是以参数空间的圆点为圆心, 在一定半径范围的超球内进行求解的. 利用其拉格朗日对偶问题为
\begin{cases} \displaystyle\max_{λ} \min_{t}& J_{LS}(\theta) + \frac{λ}{2}(||\theta||^2 - R) \\ \operatorname{s.t.}& λ \succeq 0 \end{cases}
该问题的最小二乘解为
\hat{\theta} = (\Phi^T\Phi + λ I)^{-1}\Phi^Ty

矩阵 \Phi^T\Phi + λ I 提高了其正则性, 进而可以更稳定地进行逆矩阵的求解. 因此, l_2 约束的最小二乘法也称为 l_2 正则化的最小二乘法或称为岭回归.

将约束条件改为
\theta^TG\theta \leq R
称为一般 l_2 约束的最小二乘法. 当矩阵 G 为正定矩阵时, \theta^TG\theta \leq R 可以把数据限制在椭球内.
该问题的最小二乘解为
\hat{\theta} = (\Phi^T\Phi + λ G)^{-1}\Phi^Ty

稀疏学习

模型假设:

模型假设: D ⊂ \mathbb{R}^d, 定义损失函数为
J_{LS}(\theta) = \frac{1}{2} ||\Phi\theta - y||^2

学习目标:
\hat{\theta}_{LS} = \underset{\alpha}{\arg\min} \; J_{LS}
约束条件为
||\theta||_1 \leq R

对于 l_1 范数的处理, c_j > 0
|\theta_j| \leq \frac{\theta_j^2}{2c_j} + \frac{c_j}{2}
即使用可微分的二次函数来控制 l_1 范数
原问题可化为
\hat{\theta} = \underset{\theta}{\arg\min} \tilde{J}(\theta)
其中
\tilde{J}(\theta) = J_{LS}(\theta) + \frac{λ}{2} \theta^T \circledS^{\dagger} \theta + C

\circledS 是对角元为 \tilde{\theta_1}, \cdots, \tilde{\theta_b} 的对角矩阵, C = \sum_{j=1}^b \frac{\tilde{\theta_j}}{2} 是不依赖于 \theta 的常数.

对于有参数的线性模型 f_{\theta} = \theta^T\phi(x)
该问题的最小二乘解为
\hat{\theta} = (\Phi^T\Phi + λ \circledS^{-1})^{-1}\Phi^Ty

使用随机梯度下降法求解

对于有参数的线性模型 f_{\theta} = \theta^T\phi(x), 使用随机选择的样本 (x,y) 按下式对其参数进行更新:
\theta ← \theta - ε \phi(x)(f_{\theta}(x)-y)
为了得到随机梯度下降法的稀疏解, 建议在多次进行梯度下降的过程中, 对各个参数值 \theta_j 进行如下的值域处理
∀ j =1, \cdots, b,\;\;\theta ←\begin{cases} \max(0,\theta_j - λε) & (\theta_j > 0)\\ \max(0,\theta_j + λε) & (\theta_j \leq 0) \end{cases}

l_p 约束的最小二乘法

∀p \geq 0, 约束条件是
||\theta||_p = (\displaystyle\sum_{j=1}^b |\theta_j|^p)^{\frac{1}{p}} \leq R

  • p=∞, ||\theta||_{∞} = \max_j{|\theta_j|}
  • p=0, 有

||\theta||_0 = \displaystyle\sum_{j=1}^b δ(\theta_j \neq 0)

其中
δ(\theta_j \neq 0) = \begin{cases} 1 & (\theta_j \neq 0)\\ 0 &(\theta_j = 0) \end{cases}
也就是说, l_0 范数表示的是非零的向量的元素个数.

详细见弹性网回归学习法.

鲁棒学习

在统计学和机器学习领域, 对异常值也能保持稳定、可靠的性质, 称为鲁棒性.

当训练样本中混入了异常值时往往希望采用先除去这些异常值再进行学习的方法 (异常检验), 或者采用保留异常值, 但结果不易受异常值影响的方法 (鲁棒学习方法).

l_1 损失最小化学习

最小二乘学习中, 对训练样本的合理性, 一般使用 l_2 损失 J_{LS}(\theta) 来测定.
J_{LS}(\theta) = \frac{1}{2} \displaystyle\sum_{i=1}^n r_i^2
这里 r_i = f_{\theta}(x_i) - y_i 为残差. 但是 l_2 损失对异常值很敏感, 故而可以使用 l_1 损失对残差的增幅加以抑制
J_{LA} = \displaystyle\sum_{j=1}^n |r_j|
这里 LA 是 Least Absolute 的缩写.

Huber 损失最小化学习

Huber 损失
\rho_{\operatorname{Huber}}(r) = \begin{cases} \frac{r^2}{2} & (|r| \leq \eta)\\ \eta |r| - \frac{\eta^2}{2} & (|r| > \eta) \end{cases}

  • 如果残差的绝对值 |r| 小于阈值 \eta 的话 (即正常值), 上式就变成了 l_2 损失;
  • 如果残差的绝对值 |r| 大于阈值 \eta 的话 (即异常值), 上式就变成了 l_1 损失, 但是, 为了使与 l_2 平滑地连接, 在 l_1 损失中减去了常数 \frac{\eta^2}{2}

这样的学习方法就是 Huber 损失最小化学习.

\underset{\theta}{\min} J(\theta) = \displaystyle\sum_{i=1}^n \rho_{\operatorname{Huber}}(r_i)

机器学习基础 机器学习基础
机器学习基础 机器学习基础 机器学习基础 机器学习基础 机器学习基础 机器学习基础 机器学习基础

相关文章

网友评论

    本文标题:机器学习基础

    本文链接:https://www.haomeiwen.com/subject/rusviftx.html