Prefix
重新翻看《统计学习方法》,收获颇丰
1. 统计学习方法概论
1.1 统计学习
统计学习的特点
Herbert A.Simon defined Learning:
“如果一个系统能够通过执行某个过程改进它的性能,这就是学习”
统计学习的对象:Data
统计学习的目的:预测与分析
统计学习的方法
- Supervised Learning
- Unsupervised Learning
- Reinforcement Learning
[!IMPORTANT]
从给定的、有限的、用于学习的训练数据(training data)集合出发,假设data是iid.的;
假设要学习的model属于某个function的set,叫做hypothesis space;
应用某个evaluation criterion,从hypothesis space中选择optimal model,使其对training data & test data在给定的evaluation criterion下,具有optimal prediction;
optimal model的选择由algorithm实现。
[!NOTE]
统计学习得的步骤
- 得到一个limited training data set
- 确定包含所有可能的model的hypothesis space,即leaning model set
- 确定选择model的criterion,即policy
- 实现求解optimal model的algorithm,即algorithm
- 通过learning选择optimal model
- 利用optimal model对新的data进行prediction & analysis
1.2 统计学习的分类
1.2.1 基本分类
Supervised Learning, Unsupervised Learning, Reinforcement Learning, and semi-supervised Learning, Active Learning
1. Supervised Learning
(1)Input space, feature space, output Space
[!NOTE]
- Input Space
- Output Space
输入与输出的集合,可以是有限的/整个欧氏空间,可以是相同/不同的空间
一般来说,output space远小于input space
[!NOTE]
- Instance:every single input
通常由feature vector表示,all vector称为feature space
feature space的每一维,对应一个特征
input space和feature space可以相同/不同,不同时需要将input映射到feature space,model实际上都是定义在feature space上的
[!CAUTION]
- 输入变量$X$,输入变量的取值$x$
- 输出变量$Y$,输出变量的取值$y$
变量可以是标量/向量,一般都为列向量
$x^{(i)}$表示第$i$个特征
$x^{(i)}, x_i$不同,后者一般表示多个输入变量中的第$i$个变量,即
表示训练集,由输入/特征向量和输出对组成,每一对称为sample
$X,Y$有不同的类型
- 都连续:回归问题
- 输出有限:分类问题
- 均为变量序列:标注问题
(2)联合概率分布
$X,Y$遵循联合概率分布$P(X,Y)$,表示分布密度函数。
在Learning过程中,假设这个函数是存在的,但实际上并不知道。
所有的data都是按照这个分布,iid.的
(3)假设空间
supervised learning的目的就是,学习一个从input到output的映射,通过模型来表示。
所有模型组成了hypothesis space,用于确定learning的范围
这些模型可以是概率/非概率模型,分别由条件概率$P(Y|X)$或者决策函数(decision function)$Y=f(X)$表示。对于具体的取值,写为$P(y|x),y=f(x)$
(4)问题的形式化
$x_i\in\mathcal{X}\subseteq\mathbb{R}^n$为输入的观测值,称为输入或者实例
$y_i\in\mathcal{Y}$是输出的观测值
学习
得到条件概率模型$\hat{P}(Y|X)$,或者决策函数$Y=\hat{f}(X)$
预测
对于给定的输入$x_{N+1}$,由模型$y_{N+1}=\arg\max_y\hat{P}(y|x_{N+1})$,或者$y_{N+1}=\hat{f}(x_{N+1})$给出相应的输出$y_{N+1}$
2. Unsupervised Learning
从无标注的数据中学习预测模型
- 输入空间$\mathcal{X}$
- 隐式结构空间$\mathcal{Z}$
学习模型为$z=g(x)$,条件概率分布$P(z|x), P(x|z)$
训练数据$U=\{x_1,x_2,\dots,x_N\}$
学习
得到的模型为$z=\hat{g}(x)$,或者$\hat{P}(z|x), \hat{P}(x|z)$
预测
- 聚类/降维:$z_{N+1}=\hat{g}(x_{N+1})$,或者$z_{N+1}=\arg\max_{z}\hat{P}(z|x_{N+1})$,给出输出$z_{N+1}$
- 概率估计:由模型$\hat{P}(x|z)$给出输出的概率$\hat{P}(x_{N+1}|z_{N+1})$
3. Reinforcement Learning
4. Unsupervised Learning & Active Learning
(1) Unsupervised Learning
利用标注数据(少量)、未标注数据(大量),学习预测模型
利用未标准数据的信息,辅助标注数据
(2)Active Learning
机器不断地主动给出实例,让人进行标注
监督学习是用给定的、随机的标注数据,强调“被动”
主动学习是找出对学习帮助最大的实例,并让人进行标注,代价更小
这两种Learning都更加接近Supervised
1.2.2 按模型分类
1. 概率模型、非概率模型
Probabilistic Model
Non-Probabilistic Model
Deterministic Model
分类 | Supervised | Unsupervised | Example | |||
---|---|---|---|---|---|---|
Probabilistic Model | $P(y | x)$ | $P(z | x),P(x | z)$ | 决策树、朴素贝叶斯、隐马尔可夫、条件随机场、概率潜在语义分析、高斯混合 |
Non-Probabilistic Model | $y=f(x)$ | $z=g(x)$ | 感知机、支持向量机、knn、AdaBoost、k均值、潜在语义分析、Neural Network | |||
Deterministic Model |
Logistic Regression可以看作是Probabilistic,也可以看作是Non-Probabilistic
Probabilistic和Non-Probabilistic可以相互转化
$P(y|x),y=f(x),\text{ and }P(z|x),z=g(x)$
即条件概率分布最大化后得到函数,函数归一化后得到条件概率分布
[!IMPORTANT]
Probabilistic、Non-Probabilistic的区别在于模型的内在结构,而不是输入和输出之间的映射
Probabilistic一定可以表示为联合概率分布,其中的变量表示输入、输出、隐变量和参数
BUT,Non-Probabilistic不一定存在联合概率分布
[!NOTE]
For example
Probabilistic graphical model是典型的probabilistic model,是联合概率分布由有向图/无向图表示的概率模型,而联合概率分布可以根据图的结构,分解为因子的乘积
贝叶斯、马尔可夫随机场、条件随机场都是Probabilistic graphical model
No matter how complex the model is,都可以用最基本的加法、乘法,做概率推理
- 加法:$P(x)=\sum_y P(x,y)$
- 乘法:$P(x,y)=P(x)p(y|x)$
2. 线性模型与非线性模型
主要用于Non-Probabilistic的分类,根据$y=f(x),z=g(x)$的函数类型,分为linner model,non-linear model
- linear:感知机、线性支持向量机、knn、k均值、潜在语义分析
- non-linear:核函数支持向量机、AdaBoost、神经网络
3. 参数化模型与非参数化模型
Parametric model:假设model的参数维度固定,model可以用有限维度的参数完全描述
感知机、朴素贝叶斯、Logistic Regression、k均值、高斯混合模型
仅适合简单问题
Non-Parametric model:参数维度不固定,甚至infinity,根据data的增加而增加
决策树、支持向量机、AdaBoost、knn、潜在语义分析、概率潜在语义分析、潜在狄利克雷分配
1.2.3 按算法分类
- online learning
- batch learning