CH2-监督学习-1-概述
1. 监督学习
- 监督学习是机器学习最基础的一个分类之一。
- 假设一数据集
D
=
{
x
i
,
y
i
}
i
=
1
N
\mathcal{D}=\{x_i,y_i\}^N_{i=1}
D={xi,yi}i=1N
- x i x_i xi 为输入
- y i y_i yi 为对应的标签
- N N N 为数据集的大小
- 默认假设每一个 y i y_i yi 都由 x i x_i xi 决定,且二者符合映射 f ∗ f^* f∗,即: y i = f ∗ ( x i ) y_i=f^*(x_i) yi=f∗(xi)。
-
f
∗
f^*
f∗ 又称为
o
r
a
c
l
e
oracle
oracle,能完美确定任何样本的标签。
- 可通过假设给定的 y i y_i yi 和 x i x_i xi 是某个oracle 条件分布 y i ∼ p ∗ ( ⋅ ∣ x i ) y_i \sim p^*(\cdot \mid x_i) yi∼p∗(⋅∣xi) 的一个样本,来考虑噪声和不确定性。
- 最常见的模型为 y i = f ∗ ( x i ) + ϵ i y_i=f^*(x_i)+\epsilon_i yi=f∗(xi)+ϵi, ϵ i \epsilon_i ϵi 为随机噪声项
- 为了简单起见,我们现只考虑确定条件下的监督学习,即没有随机噪声。
-
y
i
y_i
yi 的取值:
- 当为连续取值,在 R \mathbb{R} R 中 —— 称其为 回归问题 。
- 当为离散值 —— 称其为 分类问题 。
- 通常情况下,oracle
f
∗
f^*
f∗ 为未知,除非信息包含在数据集中:
D
=
{
x
i
,
y
i
=
f
∗
(
x
i
)
}
i
=
1
N
\mathcal{D}=\{x_i,y_i=f^*(x_i)\}^N_{i=1}
D={xi,yi=f∗(xi)}i=1N。
- 因此监督学习的任务就是通过数据集 D \mathcal{D} D 来估计最优 oracle;
- “监督”的意思就是,在数据集 D \mathcal{D} D 中,正确的标签就是作为我们学习过程中由 f ∗ f^* f∗ 提供的监督形式。
- 假设空间 hypothesis space :
H
\mathcal{H}
H
- 取一组可以在电脑上表示的函数
- 从这一组中挑选一个最接近 f ∗ f^* f∗ 的 f f f , f f f 即为我们学习到的预测模型
- 而我们要找的这个函数组合,即为假设空间
- 如何确定
f
f
f ?
- 我们的目的为让 f f f 足够接近完美分类器/函数 oracle f ∗ f^* f∗ : R ( f ) = 1 N ∑ i = 1 N 1 f ( x i ) ≠ f ∗ ( x i ) ( 1 ) R(f)=\frac{1}{N}\sum^N_{i=1}\mathbb{1}_{f(x_i)\ne f^*(x_i)} (1) R(f)=N1i=1∑N1f(xi)=f∗(xi) (1)
- 其中 1 c \mathbb{1}_c 1c 为 indicator function 标识函数,只有当条件 c c c 为真时,值才为 1 1 1。
- 等式右边为 f f f 不能正确匹配它们的标签的比例;即为在训练数据集中 f f f 的准确度。
- 用统计语言来说, R ( f ) R(f) R(f) 被称为与预测因子 predictor f f f 有关的 风险。
- 更普遍来说,
f
f
f 和
f
∗
f^*
f∗ 的接近度可以由 损失函数
L
L
L 定义:
R
(
f
)
=
1
N
∑
i
=
1
N
L
(
f
(
x
i
)
,
f
∗
(
x
i
)
)
=
1
N
∑
i
=
1
N
L
(
f
(
x
i
)
,
y
i
)
(
2
)
R(f)=\frac{1}{N}\sum^N_{i=1}L(f(x_i), f^*(x_i))=\frac{1}{N}\sum^N_{i=1}L(f(x_i), y_i) (2)
R(f)=N1i=1∑NL(f(xi),f∗(xi))=N1i=1∑NL(f(xi),yi) (2)
- 我们希望 L ( y ′ , y ) L(y',y) L(y′,y) 随着 y y y 和 y ′ y' y′ 的靠近而减小。
- 在式 (1) 中, L ( y ′ , y ) = 1 y ≠ y ′ L(y',y)=1_{y\ne y'} L(y′,y)=1y=y′,又称为 zero-one loss,但在现实生活中较少被用到
- 当确定损失函数后,监督学习问题变成了优化问题
m
i
n
f
∈
H
R
(
f
)
(
3
)
\underset{f\in\mathcal{H}}{min} R(f) (3)
f∈HminR(f) (3)
- 当我们解决了这个优化问题,可能的最小值 f ^ ∈ H \hat{f}\in\mathcal{H} f^∈H 即为我们得到的预测模型。
- 通过最小化 R ( f ) R(f) R(f) 来得到 f ^ \hat{f} f^ —— training 训练, f ^ \hat{f} f^ 为训练的模型
2. 经验风险最小化 vs 群体风险最小化
-
Empirical Risk Minimization vs Population Risk Minimization
-
我们前面提到式(3)好像是将监督学习问题转换到了优化问题,但事实上并非如此(我一个大写的问号),式(3)不是我们真正想要解决的问题。
- 假设 f ^ \hat{f} f^ 使 zero-one loss 最小,我们简单的将训练集中的 x i x_i xi 和它对应的标签匹配,那么 f ^ = { y i x = x i f o r s o m e i = 1 , 2 , 3 , . . . , N a n y t h i n g o t h e r w i s e ( 4 ) \hat{f}=\begin{cases} y_i & x=x_i \,for\,some\, i=1,2,3,...,N \\ anything & otherwise\end{cases} (4) f^={yianythingx=xiforsomei=1,2,3,...,Notherwise (4)
- 显然, R ( f ^ ) = 0 R(\hat{f})=0 R(f^)=0,但是 f ^ \hat{f} f^ 不是我们想要的;
- 我们真正想要的是 f ^ \hat{f} f^ 能对新数据有良好效果,新数据不在原始训练集中,但与其分布相同。(这个就是经验风险最小化,也就是对现有数据拟合的很好)
-
群体风险最小化问题 —— 真正想解决的问题 : m i n f ∈ H R p o p ( f ) = E x ∼ μ L ( f ( x ) , f ∗ ( x ) ) ( 5 ) \underset{f\in\mathcal{H}}{min} R_{pop}(f)=\mathbb{E}_{x\sim\mu}L(f(x),f^*(x)) (5) f∈HminRpop(f)=Ex∼μL(f(x),f∗(x)) (5) 其中, μ \mu μ 为 { x i } i = 1 N \{x_i\}^N_{i=1} {xi}i=1N 的概率分布
-
经验风险最小化问题: m i n f ∈ H R e m p ( f ) = 1 N ∑ i = 1 N L ( f ( x i ) , f ∗ ( x i ) ) , x i ∼ i . i . d . μ ( 6 ) \underset{f\in\mathcal{H}}{min} R_{emp}(f)=\frac{1}{N}\sum^N_{i=1}L(f(x_i),f^*(x_i)), x_i\overset{i.i.d.}{\sim}\mu (6) f∈HminRemp(f)=N1i=1∑NL(f(xi),f∗(xi)), xi∼i.i.d.μ (6)
-
通常样本的分布 μ \mu μ 无法表示,所以会用式(6)代替式(5)。但要注意的是式(5)是我们真正想要的(generalization泛化)。
3. 监督学习的三个过程
- Three Paradigms —— 监督学习的范式
- Approximation 近似化
- 问题:我们的假设空间 H \mathcal{H} H 有多大?
- 解释为: H \mathcal{H} H 是否包含很接近oracle f ∗ f^* f∗ 的函数?
- 属于“近似理论”和“谐波分析”范畴
- Optimization 最优化
- 问题:如何找到或接近一个 f ∗ f^* f∗ 的近似值 f ^ \hat{f} f^ ?
- 为empirical risk minimization problem,问题包括大规模优化算法的设计、收敛性分析和有效实现
- Generalization 泛化/普遍化
- 问题: f ^ \hat{f} f^ 可以推广到未知数据吗?
- 这涉及到数据集的大小与假设空间 H \mathcal{H} H 的复杂性之间的基本相互作用。
- 图示:
- Approximation 研究了在假设空间 H \mathcal{H} H 中的最佳近似模型 f ~ \tilde{f} f~ 与 oracle f ∗ f^* f∗ 的距离;
- Optimization 研究了通过使用训练集 D \mathcal{D} D, 并从一些最初的猜测 f 0 f_0 f0开始的到达或接近 f ^ \hat{f} f^ 的过程;
- Generalization 由于数据集是有限的,所以在训练集上的优化得到的不是 f ~ \tilde{f} f~ 而是某些 f ^ \hat{f} f^ ,因此我们必须量化它们之间的距离,这就产生了泛化问题。 而实际上我们考虑的距离为 f ^ \hat{f} f^ 和 f ∗ f^* f∗ 之间的。
手写笔记