监督学习
监督学习主要包括分类和回归任务,首先讲一讲回归,再讲一讲分类中的提升算法。
一、回归
1.回归分析(regression analysis)
用于确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。
- 回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;
- 按照因变量的多少,可分为简单回归分析和多重回归分析;
- 按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。
- 如果在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。如果回归分析中包括两个或两个以上的自变量,且自变量之间存在线性相关,则称为多重线性回归分析。
2.线性回归
给出了训练样本𝒙𝒊,𝒚𝒊(𝒊=𝟏,…,𝒏) , 我们就可以从训练样本出发,建立一个线性回归方程,使得对训练样本数据而言,该线性回归方程预测的结果与样本标注结果之间的差值和最小。
线性回归模型:𝑦𝑖=𝑎𝑥𝑖+𝑏 (1≤𝑖≤𝑛)
- 记在当前参数下第𝑖个训练样本𝑥𝑖的预测值为 y h a t i y_{hat}i yhati
- 𝑥𝑖的标注值(实际值)𝑦𝑖与预测值 y h a t i y_{hat}i yhati之差记为 ( y i − y h a t i ) 2 (yi−y_{hat}i)^2 (yi−yhati)2
- 训练集中𝑛个样本所产生误差总和为:
L
(
a
,
b
)
=
(
y
i
−
a
∗
x
i
−
b
)
2
L(a,b)= (yi−a*xi−b)^2
L(a,b)=(yi−a∗xi−b)2
目标:寻找一组𝑎和𝑏,使得误差总和𝐿(𝑎,𝑏)值最小。在线性回归中,解决如此目标的方法叫最小二乘法。
3.参数求取
一般而言,要使函数具有最小值,可对𝐿(𝑎,𝑏) 参数𝑎和𝑏分别求导,令其导数值为零,再求取参数𝑎和𝑏的取值。
求导后可求出参数a和b的值,分别为
b
=
y
h
a
t
–
a
∗
x
h
a
t
b=y_{hat} –a*x_{hat}
b=yhat–a∗xhat ,
a
=
∑
i
=
1
n
x
i
y
i
−
n
x
h
a
t
y
h
a
t
∑
i
=
1
n
x
i
x
i
−
n
x
h
a
t
2
a=\frac{\sum_{i=1}^n x_iy_i-nx_{hat}y_{hat}}{\sum_{i=1}^n x_ix_i-nx_{hat}^2}\quad
a=∑i=1nxixi−nxhat2∑i=1nxiyi−nxhatyhat
二、提升算法(Boosting)
1.自适应提升(adaptive boosting)
- 对于一个复杂的分类任务,可以将其分解为若干子任务,然后将若干子任务完成方法综合,最终完成该复杂任务。
- 将在分类学习中,提升方法通过反复修改训练数据的权值分布,构建一系列基本分类器(弱分类器(weak classifiers)),并将这些基本分类器线性组合,构成一个强分类器(strong classifier)。
- 众人拾柴火焰高
2.计算学习理论
可计算:图灵可停机
概率近似正确(probably approximately correct,PAC)
- “近似”是在取值上,只要和真实值的偏差小于一个足够小的值就认为”近似正确”;
机器学习中经验风险太小也不是一件好事(过学习从而推广能力下降),所以只要设定一个阈值,只要选取出的假设h的泛化误差E(h)不超过这个值(即近似正确)就认为是”正确”的了,而不是去追求完全的”正确”。 - ”可能”是在概率上,即只要”近似正确”的概率足够大就认为”可能近似正确”。
- 在概率近似正确背景下,有“强可学习模型”和弱“可学习模型”。
强可学习 (strongly learnable) | 学习模型能够以较高精度对绝大多数样本完成识别分类任务 |
弱可学习 (weakly learnable) | 学习模型仅能完成若干部分样本识别与分类,其精度略高于随机猜测 |
强可学习和弱可学习是等价的,也就是说,如果已经发现了“弱学习算法”,可将其提升(boosting)为“强学习算法”。Ada Boosting算法就是这样的方法。具体而言,Ada Boosting将一系列弱分类器组合起来,构成一个强分类器。
3. Ada Boosting
核心问题:
- 在每个弱分类器学习过程中,如何改变训练数据的权重:提高在上一轮中分类错误样本的权重。
- 如何将一系列弱分类器组合成强分类器:通过加权多数表决方法来提高分类误差小的弱分类器的权重,让其在最终分类中起到更大作用。同时减少分类误差大的弱分类器的权重,让其在最终分类中仅起到较小作用。
算法描述:
- 给定包含𝑁个标注数据的训练集合Γ, Γ={(𝑥1,𝑦1),…,(𝑥𝑁,𝑦𝑁)}。
- Ada Boosting算法将从这些标注数据出发,训练得到一系列弱分类器,并将这些弱分类器线性组合得到一个强分类器。
- 初始化每个训练样本的权重 𝐷1=( w 11 , … , w 1 i , … , w 1 N w_{11},…,w_{1i},…,w_{1N} w11,…,w1i,…,w1N),其中 w 1 i = 1 N ( 1 ≤ i ≤ N ) w_{1i}=\frac {1}{N}\quad(1 ≤i≤N) w1i=N1(1≤i≤N)
- 第m个弱分类器训练:对𝑚=1,2,…,𝑀
- 使用具有分布权重𝐷𝑚的训练数据来学习得到第𝑚个基分类器(弱分类器)𝐺𝑚:(𝑥):𝑋→{−1,1}
- 计算𝐺𝑚(𝑥)在训练数据集上的分类误差 e r r m = ∑ i = 1 n w m i I ( G m ( x i ) ≠ y i ) err_m=\sum_{i=1}^n w_{mi}I(G_m(xi)≠yi) errm=∑i=1nwmiI(Gm(xi)=yi), 这里:𝐼(∙)=1,如果𝐺𝑚(𝑥𝑖)≠𝑦𝑖;否则为0
- 计算弱分类器𝐺𝑚(𝑥)的权重 : α m = 0.5 ∗ l n [ ( 1 − e r r m ) e r r m ] \alpha_m=0.5*ln[{\frac{(1−err_m)}{err_m}\quad}] αm=0.5∗ln[errm(1−errm)]
- 更新训练样本数据的分布权重: D m + 1 = w m + 1 , i = w m , i z m ∗ e − α m y i G m ( x i ) D_{m+1}=w_{m+1,i}=\frac{w_{m,i}}{z_m}\quad *e^{-\alpha_my_iG_m(x_i)} Dm+1=wm+1,i=zmwm,i∗e−αmyiGm(xi), 其中𝑍𝑚是归一化因子以使得𝐷𝑚+1为概率分布, Z m = ∑ i = 1 N w m , i e − α m y i G m ( x i ) Z_m=\sum_{i=1}^Nw_{m,i}e^{-\alpha_my_iG_m(x_i)} Zm=∑i=1Nwm,ie−αmyiGm(xi)
- 弱分类器组合成强分类器
以线性加权形式来组合弱分类器𝑓(𝑥): f ( x ) = ∑ i = 1 M α m G m ( x ) f(x)=\sum_{i=1}^M\alpha_mG_m(x) f(x)=∑i=1MαmGm(x)
得到强分类器𝐺(𝑥): G ( x ) = s i g n ( f ( x ) ) = s i g n ( ∑ i = 1 M α m G m ( x ) ) G(x)=sign(f(x))=sign(\sum_{i=1}^M\alpha_mG_m(x)) G(x)=sign(f(x))=sign(∑i=1MαmGm(x))
4.回归与分类的区别:
两者均是学习输入变量和输出变量之间潜在关系模型,基于学习所得模型将输入变量映射到输出变量。𝑓: 𝑥 → 𝑦,𝑥∈𝐴,𝑦∈𝐵
- 在回归分析中,学习得到一个函数将输入变量映射到连续输出空间,如价格和温度等,即值域是连续空间。
- 在分类模型中,学习得到一个函数将输入变量映射到离散输出空间,如人脸和汽车等,即值域是离散空间。