【知乎同步:https://zhuanlan.zhihu.com/p/305028771】
监督学习是指从标注数据中学习预测模型的机器学习问题。本质是学习输入到输出的映射的统计规律
监督学习中,输入与输出所有可能取值的集合分别称为输入空间(input space)与输出空间(output space)
每个具体的输入是一个实例(instance),通常由特征向量(feature vector)表示。所有特征向量存在的空间称为特征空间(feature space)。模型是定义在特征空间上的
监督学习从训练数据(training data)集合中学习模型,对测试数据(test data)进行预测,输入与输出对又称为样本(sample)或样本点。
变量符号表示:
输入输出变量为连续变量的预测问题称回归问题;输出变量为有限离散变量的预测问题称为分类问题;输入输出变量均为变量序列的预测问题称为标注问题。
统计学习假设数据存在一定的统计规律, X X X和 Y Y Y具有联合概率分布 P ( X , Y ) P(X,Y) P(X,Y)就是监督学习关于数据的基本假设。 P ( X , Y ) P(X,Y) P(X,Y)表示分布函数,或分布密度函数。
监督学习的模型可以是概率模型或非概率模型,分别由条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)或决策函数 Y = f ( X ) Y=f(X) Y=f(X)表示,预测写作 P ( y ∣ x ) P(y|x) P(y∣x)或 y = f ( x ) y=f(x) y=f(x)。
训练得到的模型表示为条件概率分布 P ^ ( Y ∣ X ) \hat{P}(Y|X) P^(Y∣X)或决策函数 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X),描述输入和输出随机变量间的映射关系。对于输入 x N + 1 x_{N+1} xN+1,由模型 y N + 1 = arg m a x y P ^ ( y ∣ x N + 1 ) y_{N+1}=\mathop{\arg max}_{y} \hat{P}(y|x_{N+1}) yN+1=argmaxyP^(y∣xN+1)或 y N + 1 = f ^ ( x N + 1 ) y_{N+1}=\hat{f}(x_{N+1}) yN+1=f^(xN+1)给出输出 y N + 1 y_{N+1} yN+1。
无监督学习是指从无标注数据中学习预测模型的机器学习问题。无监督学习的本质是学习数据中的统计规律或潜在结构。实现对数据的聚类、降维或概率估计。
X \mathcal{X} X是输入空间, Z \mathcal{Z} Z是隐式结构空间。要学习的模型可表示为函数 z = g ( x ) z=g(x) z=g(x)、条件概率分布 P ( z ∣ x ) P(z|x) P(z∣x)、或条件概率分布 P ( x ∣ z ) P(x|z) P(x∣z)形式。旨在从假设空间中选出在给定评价标准条件下的最优模型。
强化学习是指智能系统在与环境的连续互动中学习最优行为策略的机器学习问题。本质是学习最优的序贯决策。
每个时间步 t t t,智能系统从环境中观测一个状态 s t s_t st和一个奖励 r t r_t rt,采取一个动作 a t a_t at。环境根据动作得到下个时间步 t + 1 t+1 t+1的状态 s t + 1 s_{t+1} st+1和奖励 r t + 1 r_{t+1} rt+1。
系统的目标是长期累积奖励最大化,通过不断试错(trial and error),学习最优策略,策略表示为给定状态下采取的动作
马尔可夫决策过程具有马尔可夫性,下一个状态只依赖于前一个状态与动作,由状态转移概率函数 P ( s ′ ∣ s , a ) P(s^{'}|s,a) P(s′∣s,a)表示;下一个奖励依赖于前一个状态与动作,由奖励函数 r ( s , a ) r(s,a) r(s,a)表示
策略 π \pi π:定义为给定状态下动作的函数 a = f ( s ) a=f(s) a=f(s)或条件概率分布 P ( a ∣ s ) P(a|s) P(a∣s)。给定一个策略 π \pi π,智能系统与环境互动的行为就已确定
价值函数(value function)或状态价值函数(state value function) 定义为策略 π \pi π从某一个状态 s s s开始的长期累计奖励的数学期望
v π ( s ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + . . . ∣ s t = s ] v_{\pi}(s)=E_{\pi}[r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+...|s_t=s] vπ(s)=Eπ[rt+1+γrt+2+γ2rt+3+...∣st=s]
q π ( s , a ) = E π [ r t + 1 + γ r t + 2 + γ 2 r t + 3 + . . . ∣ s t = s , a t = a ] q_\pi(s,a)=E_\pi[r_{t+1}+\gamma r_{t+2}+\gamma^2 r_{t+3}+...|s_t=s,a_t=a] qπ(s,a)=Eπ[rt+1+γrt+2+γ2rt+3+...∣st=s,at=a]
强化学习的目标是在所有可能的策略中选出价值函数最大的策略 π ∗ \pi^* π∗
强化学习的方法有基于策略(policy-based)、基于价值(value-based),二者属于无模型(model-free)方法
有模型(model-based)方法试图直接学习马尔可夫决策过程的模型,包括转移概率函数 P ( s ′ ∣ s , a ) P(s^{'}|s,a) P(s′∣s,a)和奖励函数 r ( s , a ) r(s,a) r(s,a),通过模型对环境的反馈进行预测,求出价值函数最大的策略 π ∗ \pi^* π∗。
无模型、基于策略的方法不直接学习模型,而试图求解最优策略 π ∗ \pi^* π∗,表示为 a = f ∗ ( s ) a=f^*(s) a=f∗(s)或条件概率分布 P ∗ ( a ∣ s ) P^*(a|s) P∗(a∣s)。学习通常从一个具体决策开始,搜索更优的策略。
无模型、基于价值的方法不直接学习模型,而试图求解最优价值函数,特别是最优动作价值函数 q ∗ ( s , a ) q^*(s,a) q∗(s,a),间接学习最优策略。学习通常从一个具体价值函数开始,通过搜索更优的价值函数进行。
半监督学习(semi-supervised learning)是指利用标注数据和未标注数据学习预测模型的机器学习问题。
主动学习(active learning)是指机器不断主动给出实例让教师进行标注,然后利用标注数据学习预测模型的机器学习问题。相比下通常的监督学习可以看做”被动学习“。
统计学习模型可以分为概率模型(probabilistic model)和非概率模型(non-probabilistic model)或确定性模型(deterministic model)。
监督学习中,概率模型取 P ( y ∣ x ) P(y|x) P(y∣x),非概率模型取 y = f ( x ) y=f(x) y=f(x)
无监督学习中,概率模型取 P ( z ∣ x ) P(z|x) P(z∣x)或 P ( x ∣ z ) P(x|z) P(x∣z),非概率形式取 z = g ( x ) z=g(x) z=g(x)
监督学习中,概率模型是生成模型,非概率模型是判别模型
概率模型:决策树、朴素贝叶斯、隐马尔可夫模型、条件随机场、概率潜在语义分析、潜在狄利克雷分配、高斯混合模型;非概率模型:感知机、支持向量机、k近邻、AdaBoost、k均值、潜在语义分析、神经网络。逻辑斯谛回归可以看做概率模型,也可以看做非概率模型
条件概率分布 P ( y ∣ x ) P(y|x) P(y∣x)和函数 y = f ( x ) y=f(x) y=f(x)可以相互转化,条件概率分布最大化后得到函数,函数归一化后得到条件概率分布。
概率模型和非概率模型的区别在于模型的内在结构,概率模型一定可以表示为联合概率分布的形式。
概率模型的代码是概率图模型(probabilistic graphical model)
贝叶斯学习(Bayesian learning),也称贝叶斯推理(Bayasian inference),主要思路是在概率模型的学习和推理中,利用贝叶斯定理,计算给定条件下的模型的条件概率,即后验概率,并应用该原理进行模型估计和数据预测。如朴素贝叶斯、潜在狄利克雷分配学习
D D D表示数据, θ \theta θ表示模型参数。根据先验概率 P ( θ ) P(\theta) P(θ)和似然函数 P ( D ∣ θ ) P(D|\theta) P(D∣θ),可计算后验概率:
KaTeX parse error: Got function '\newline' with no arguments as argument to '\begin{array}' at position 1: \̲n̲e̲w̲l̲i̲n̲e̲
L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Y−f(X))2
R e x p ( f ) = E p [ L ( Y , f ( X ) ) ] = ∫ X × Y L ( y , f ( x ) ) P ( x , y ) d x d y R_{exp}(f)=E_p[L(Y,f(X))]=\int_{\mathcal{X}\times\mathcal{Y}}L(y,f(x))P(x,y)dxdy Rexp(f)=Ep[L(Y,f(X))]=∫X×YL(y,f(x))P(x,y)dxdy
R e m p ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) R_{emp}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i)) Remp(f)=N1i=1∑NL(yi,f(xi))
期望风险 R e x p ( f ) R_{exp}(f) Rexp(f)是模型关于联合分布的期望损失,经验风险 R e m p ( f ) R_{emp}(f) Remp(f)是模型关于训练样本集的平均损失。根据大数定律,样本容量N趋于无穷时,经验风险 R e m p ( f ) R_{emp}(f) Remp(f)趋于期望风险 R e x p ( f ) R_{exp}(f) Rexp(f)
现实中训练样本数目有限,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定校正,监督学习的两个基本策略即经验风险最小化和结构风险最小化。
经验风险最小化(empirical risk minimization,ERM)的策略认为经验风险最小的模型是最优的模型,即求解最优化问题:
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) \min_{f\in \mathcal{F}}\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i)) f∈FminN1i=1∑NL(yi,f(xi))
样本容量够大时,经验风险最小化能有很好的学习效果。如极大似然估计(maximum likelihood estimation)是经验风险最小化的一个例子,当模型是条件概率分布、损失函数是对数损失函数时。经验风险最小化就等价于极大似然估计。
样本容量很小时,会产生过拟合(over-fitting)现象。
结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略。等价于正则化(regularization)。
结构风险在经验风险上增加了正则化项(regularizer)或罚项(penalty term), J ( f ) J(f) J(f)为模型的复杂度,表示了对复杂模型的惩罚。 λ ≥ 0 \lambda \ge 0 λ≥0是系数,权衡经验风险和模型复杂度
R s r m ( f ) = 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) R_{srm}(f)=\frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))+\lambda J(f) Rsrm(f)=N1i=1∑NL(yi,f(xi))+λJ(f)
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min_{f\in\mathcal{F}} \frac{1}{N}\sum_{i=1}^{N}L(y_i,f(x_i))+\lambda J(f) f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
给定损失函数时,基于损失函数的模型训练误差(training error)和测试误差(test error)即学习方法评估的标准。学习和评估采样的损失函数未必一致,最好一致。
训练误差是模型 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X)关于训练数据集的平均损失, N N N是训练样本容量
R e m p ( f ^ ) = 1 N ∑ i = 1 N L ( y i , f ^ ( x i ) ) R_{emp}(\hat{f})=\frac{1}{N}\sum_{i=1}^{N}L(y_i,\hat{f}(x_i)) Remp(f^)=N1i=1∑NL(yi,f^(xi))
测试误差是模型 Y = f ^ ( X ) Y=\hat{f}(X) Y=f^(X)关于测试数据集的平均损失, N ′ N' N′是测试样本容量
e t e s t = 1 N ′ ∑ i = 1 N ′ L ( y i , f ^ ( x i ) ) e_{test}=\frac{1}{N'}\sum_{i=1}^{N'}L(y_i,\hat{f}(x_i)) etest=N′1i=1∑N′L(yi,f^(xi))
当损失函数是0-1损失时,测试误差即测试数据集上的误差率(error rate),其中 I I I是指示函数(indicator function),True为1,False为0
e t e s t = 1 N ′ ∑ i = 1 N ′ I ( y i ≠ f ^ ( x i ) ) e_{test}=\frac{1}{N'}\sum_{i=1}^{N'}I(y_i \neq \hat{f}(x_i)) etest=N′1i=1∑N′I(yi=f^(xi))
对应的准确率(accuracy)为
r t e s t = 1 N ′ ∑ i = 1 N ′ I ( y i = f ^ ( x i ) ) r_{test}=\frac{1}{N'}\sum_{i=1}^{N'}I(y_i = \hat{f}(x_i)) rtest=N′1i=1∑N′I(yi=f^(xi))
对未知数据的预测能力称为泛化能力(generalization ability)
对于假设空间中不同复杂度(如不同参数个数)的模型,我们期望所选择的模型要逼近真模型,具体地:所选择的模型与真模型的参数个数相同、参数向量相近
过拟合(over-fitting),指模型包含参数过多,导致模型在已知数据上预测很好,而对未知数据预测很差的现象。
选择复杂度适当的模型,使测试误差最小。两种常用的模型选择方法有:正则化和交叉验证
min f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \min_{f\in \mathcal{F}}\frac{1}{N}\sum_{i=1}^{N} L(y_i,f(x_i))+\lambda J(f) f∈FminN1i=1∑NL(yi,f(xi))+λJ(f)
正则化符合奥卡姆剃刀(Occam’s razor)原理,即能够很好地解释已知数据并十分简单的才是最好的模型。
从贝叶斯估计角度看,正则化项对应模型的先验概率,即假设简单模型有较大的先验概率。
正则化项一般是模型复杂度的单调增函数,如参数向量的范数, ∥ w ∥ \|w\| ∥w∥为参数向量 w w w的 L 2 L_2 L2范数, ∥ w ∥ 1 \|w\|_1 ∥w∥1为 L 1 L_1 L1范数。
L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ 2 ∥ w ∥ 2 L ( w ) = 1 N ∑ i = 1 N ( f ( x i ; w ) − y i ) 2 + λ ∥ w ∥ 1 L(w)=\frac{1}{N}\sum_{i=1}^{N}(f(x_i;w)-y_i)^2+\frac{\lambda}{2}\|w\|^2\\ L(w)=\frac{1}{N}\sum_{i=1}^{N}(f(x_i;w)-y_i)^2+\lambda\|w\|_1 L(w)=N1i=1∑N(f(xi;w)−yi)2+2λ∥w∥2L(w)=N1i=1∑N(f(xi;w)−yi)2+λ∥w∥1
交叉验证(cross validation):重复使用数据组合训练集、测试集,在此基础上反复进行训练、测试以及模型选择。
KaTeX parse error: No such environment: align at position 8: \begin{̲a̲l̲i̲g̲n̲}̲ R_{exp}(\h…
【定理1.1(泛化误差上界)】
对二类分类问题,当假设空间是有限个函数的集合 F = { f 1 , f 2 , . . . , f d } \mathcal{F}=\{f_1,f_2,...,f_d\} F={f1,f2,...,fd}时,对任意一个函数 f ∈ F f\in \mathcal{F} f∈F,至少以概率 1 − δ , 0 < δ < 1 1-\delta,0<\delta<1 1−δ,0<δ<1,以下不等式成立:
R ( f ) ≤ R ^ ( f ) + ε ( d , N , δ ) R(f)\le \hat{R}(f)+\varepsilon(d,N,\delta) R(f)≤R^(f)+ε(d,N,δ)
其中:
ε ( d , N , δ ) = 1 2 N ( log d + log 1 δ ) \varepsilon(d,N,\delta)=\sqrt{\frac{1}{2N}(\log d+\log \frac{1}{\delta})} ε(d,N,δ)=2N1(logd+logδ1)
监督学习方法可以分为生成方法(generative approach)和判别方法(discriminative approach),所学到的模型称为生成模型(generative model)和判别模型(discriminative model)
生成方法由数据学习联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),然后求出条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作为预测的模型,即生成模型。如:朴素贝叶斯法、隐马尔可夫模型。
P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X)=\frac{P(X,Y)}{P(X)} P(Y∣X)=P(X)P(X,Y)
判别方法由数据直接学习决策决策函数 f ( X ) f(X) f(X)或条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)作为预测的模型,即判别模型。如:k近邻法、感知机、决策树、逻辑斯谛回归模型、最大熵模型、支持向量机、提升方法和条件随机场等。
生成方法的特点:可以还原出联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),判别方法不能;学习收敛速度更快,当样本容量增加时,学到的模型更快收敛于真实模型;存在隐变量时,仍可以使用,而判别方法不能。判别方法的特点:直接学习条件概率分布 P ( Y ∣ X ) P(Y|X) P(Y∣X)或决策函数 f ( X ) f(X) f(X),准确率往往更高;可以对数据进行各种程度的抽象、定义特征和使用,简化学习问题。
监督学习的应用主要三个方面:分类问题、标注问题、回归问题。
输出变量 Y Y Y为有限个离散值时,预测问题称为分类问题。学习到的分类模型或分类决策函数,称为分类器(classifier)。分类器对新的输入进行输出的预测,称为分类(classification)。可能的输出称为类别(class)。类别有多个时,称为多类分类问题。
分类器性能评价指标一般为分类准确率。
对二分类问题,常用评价指标是精确率(precision)和召回率(recall),根据实际类别和预测结果分为4类
TP:将正类预测为正类
FN:将正类预测为负类
FP:将负类预测为正类
TN:将负类预测为负类
精确率: P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
召回率: R = T P T P + F N R=\frac{TP}{TP+FN} R=TP+FNTP
F 1 F_1 F1值为精确率和召回率的调和平均值: 2 F 1 = 1 P + 1 R = 2 T P 2 T P + F P + F N \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R}=\frac{2TP}{2TP+FP+FN} F12=P1+R1=2TP+FP+FN2TP