统计学习/机器学习笔记-概论

统计学习/机器学习笔记-概论


1.统计学习的分类

统计学习/机器学习笔记-概论_第1张图片

2. 统计学习常用的损失函数

损失函数或代价函数来度量预测错误的程度。损失函数: L ( Y , f ( X ) ) L(Y,f(X)) L(Y,f(X))

  • 0-1损失函数
    L ( Y , f ( X ) ) = { 1 , Y ≠ f ( X ) 0 , Y = f ( X ) L(Y,f(X))=\left\{\begin{aligned}1&,Y\neq f(X)\\ 0 & , Y=f(X)\end{aligned}\right. L(Y,f(X))={10,Y=f(X),Y=f(X)
  • 平方损失函数
    L ( Y , f ( X ) ) = ( Y − f ( X ) ) 2 L(Y,f(X))=(Y-f(X))^2 L(Y,f(X))=(Yf(X))2
  • 绝对损失函数
    L ( Y , f ( X ) ) = ∣ Y − f ( X ) ∣ L(Y,f(X))=|Y-f(X)| L(Y,f(X))=Yf(X)
  • 对数损失函数
    L ( Y , f ( X ) ) = − l o g P ( Y ∣ X ) L(Y,f(X))=-logP(Y|X) L(Y,f(X))=logP(YX)

经验风险/经验损失:用经验损失代表期望损失 R e x p ( f ) = E [ L ( Y , f ( X ) ) ] = ∫ χ × Y x 2 d x d y R_{exp}(f) = E[L(Y,f(X))]=\int_{\chi \times \mathcal{Y}} x^2 {\rm d}x{\rm d}y Rexp(f)=E[L(Y,f(X))]=χ×Yx2dxdy
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=1NL(yi,f(xi))

当样本容量足够大地收时候,经验风险最小化能保证有很好地学习效果,但是当样本容量很小时,经验风险最小化的效果不是很好,容易出现“过拟合的现象”。所以采用结构风险最小化。结构风险 = 经验风险 + 正则项。
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=1NL(yi,f(xi))+λJ(f)
其中, J ( f ) J(f) J(f)为模型的复杂度,模型 f f f越复杂,复杂度 J ( f ) J(f) J(f)就越大
学习模型就是在假设空间中选择使结构风险或者经验风险最小的模型 f ( X ) f(X) f(X)

3.模型的评估和选择

3.1 模型评估

  • 训练误差
    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=1NL(yi,f^(xi))
    其中, Y = f ^ ( X ) Y = \hat f(X) Y=f^(X)是训练好的模型,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=N1i=1NL(yi,f^(xi))
    其中,N是测试样本容量
    注意事项
    • 训练误差和测试误差是来进行模型评估
    • 上面的结构风险和经验风险是用来学习模型的

3.2 模型选择的常用方法

当假设空间含有不同复杂度(例如,不同的参数个数时这里注意在个别情况参数的个数和模型的复杂度成正比,但是大多没有这个关系(三角函数两个参数,但是依旧很复杂))的模型时,就要面临模型选择的问题。训练模型是指找到合适的参数,选择模型是指找到一个合适的复杂度的模型。

  • 正则化
    模型选择的典型方法是正则化。结构风险最小化的实现
    arg min ⁡ f ∈ F 1 N ∑ i = 1 N L ( y i , f ( x i ) ) + λ J ( f ) \argmin_{f \in \mathcal{F}}\frac{1}{N}\sum_{i=1}^{N} L(y_i,f(x_i)) +\lambda J(f) fFargminN1i=1NL(yi,f(xi))+λJ(f)
    在回归问题中,正则化可以是参数向量的二范数也可以是一范数,从贝叶斯的角度来看,正则化可以看成先验概率,模型复杂的先验概率大。这就是改变模型的参数(值和个数)来使正则化最小,相当于经验风险和模型参数的一个调和
  • 交叉验证 (经验风险最小化,相当于人工挑选模型,上面正则化直接将模型选择融合到目标函数中了
    • 样本充足的情况
      随机将数据分成三组,分别为训练集验证集测试集。寻训练集用来训练模型,验证集用来模型选择,测试集用来对学习方法的评估。但是实际中往往样本不够充足,所以用以下交叉验证的方法。
    • 简单的交叉验证
      将给出的数据分为两部分,一部分作为训练集,一部分作为测试集(30%为测试集,70%为训练集);然后利用训练集在各种条件下(例如不同参数个数下)训练模型,从而得到不同的模型;在测试集上评价各个模型的测试误差,选出测试误差最小的模型。
    • S折交叉验证(应用最多)
      将给出的数据切分为S个互不相交,大小相同的子集;然后利用S-1个自己的数据训练模型,利用余下的子集测试模型;将这一过程对可能的S中选择重复进行,最后选出S次测评中平均测试误差最小的模型
    • 留一交叉验证
      S折交叉验证的特殊情形使 S = N S= N S=N,称为留一交叉验证,往往在数据缺乏的情况下使用,N是数据容量。

4.泛化误差的上界

现实中采用最多的办法是通过测试误差来评价学习方法的泛化能力,测试集有限,所以得到的凭借结果是不可靠的,所以采用数学理论来对学习方法的泛化性进行分析。

  • 定理(泛化误差上界):对二分类问题,当假设空间是有限个函数集合 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} fF,至少以概率 1 − δ , 0 < δ < 1 1-\delta,0<\delta<1 1δ,0<δ<1,以下不等式成立:
    R ( f ) ≤ R ^ ( f ) + ϵ ( d , N , δ ) R(f)\leq\hat R(f)+\epsilon(d,N,\delta) R(f)R^(f)+ϵ(d,N,δ)
    其中,第一项是训练误差,训练误差越小,泛化误差越小。第二项 ϵ ( d , N , δ ) \epsilon(d,N,\delta) ϵ(d,N,δ) N N N的单调递减函数,当 N N N趋近与无穷时趋于0,是 d d d的单调增函数,是 δ \delta δ的单调减函数。

5. 统计学习方法的一般步骤

  • 得到一个有限的训练数据集合
  • 确定包含所有可能的模型的假设空间,即学习模型的集合(不同参数和不同复杂度的)
  • 确定模型选择的准则,即学习策略(本文中的损失函数的选择和风险类型的选择(经验/结构)
  • 实现求解最优化模型的算法,即学习算法。(确定参数
  • 通过学习方法选择最优模型(当模型有多个复杂度时,通过正则化和交叉验证等方法选择最合适的模型
  • 利用学习的最优模型对新数据进行预测和分析

6.生成模型和判别模型

6.1生成模型

  • 生成模型原理
    生成方法原理上由数据学习联合概率分布, P ( X , Y ) P(X,Y) P(X,Y),然后求出条件概率 P ( Y ∣ X ) P(Y|X) P(YX)作为预测模型,即生成模型
    P ( Y ∣ X ) = P ( X , Y ) P ( X ) P(Y|X) = \frac{P(X,Y)}{P(X)} P(YX)=P(X)P(X,Y)
    这样的方法之所以成为生成方法,是因为模型表示了给定输入 X X X产生输出 Y Y Y的生成关系(这里是需要给定的样本本身,来求出联和概率(估计)最后生成一个有预测能力的判别模型)。

  • 生成模型特点
    生成方法可以还原出联合概率分布 P ( X , Y ) P(X,Y) P(X,Y),而判别方法则不能;生成方法的学习收敛速度更快,即当样本容量增加的时候,学到的模型可以更快地收敛于真实模型

6.2 判别模型

  • 判别模型原理
    判别方法由数据直接学习决策函数 f ( X ) f(X) f(X)或者条件概率分布 P ( Y ∣ X ) P(Y|X) P(YX)作为预测模型,即判别模型(注意这里所说的直接学习一个函数,别没有先搞一个联合概率模型,在生成一个由预测能力的模型)判别方法关心的是对给定输入 X X X,应该预测什么样的输出Y。
    典型的判别方法有:

    • k近邻
    • 感知机
    • 逻辑斯蒂回归模型
    • 最大熵模型
    • 支持向量机
    • 提升方法
    • 条件随机场
  • 判别模型特点
    判别方法直接学习的是条件概率 P ( Y ∣ X ) P(Y|X) P(YX)或者决策函数 f ( X ) f(X) f(X),直接面对预测,往往学习准确率更高

6.3 模式识别
老师上课讲模式识别的思路是分生成模型判别模型两类来讲的,生成模型主要是讲的贝叶斯决策,利用贝叶斯公式
P ( W ∣ X ) = P ( X ∣ W ) P ( W ) P ( X ) P(W|X)= \frac{P(X|W)P(W)}{P(X)} P(WX)=P(X)P(XW)P(W)
其中 W W W代表某一类的类别,这里最重要的就是利用样本数据来估计类条件概率密度函数 P ( X ∣ W ) P(X|W) P(XW)。估计类条件概率密度有参数方法非参数方法还有半参数方法,估计出来以后就可以进行分类。
对于判别模型则是知道模型的形式,但是不知道参数,我们直接利用数据学习出模型的参数,最后进行判别。而不用求类条件概率密度。

7.监督学习的应用

监督学习应用主要在三个方面:分类问题标注问题回归问题,以下简述分类问题和回归问题。
7.1 分类问题
在监督模型中,当输出变量 Y Y Y取有限个离散值时,预测问题便成为分类问题,这时候 X X X可以是离散的,也可以是连续的。当二分类时,Y可以与取两个值,当多分类时,Y可以输出的是一个向量 Y = { 1 , 0 , 0 } Y=\{1,0,0\} Y={1,0,0},代表第一类。

  • 评价指标:
    TP - 将正类预测为正类
    FN - 将正类预测为负类
    FP - 将负类预测为正类
    TN - 将负类预测为负类
    准确率定义:分母就是正类分成正类和将负类分成正类,故称准确率
    P = T P T P + F P P = \frac{TP}{TP+FP} P=TP+FPTP
    召回率定义:分母是正类分成正类和正类分成负类(和上面相反)
    P = T P T P + F N P = \frac{TP}{TP+FN} P=TP+FNTP
    F 1 F_1 F1
    2 F 1 = 1 P + 1 R \frac{2}{F_1}=\frac{1}{P}+\frac{1}{R} F12=P1+R1
    召回率和准确率高的时候 F 1 F_1 F1也会高

7.2 回归问题
之前分类时知道,回归问题的输入变量和输出变量都是连续的。回归模型正是表示从输入变量搭配输出变量之间的映射函数。回归问题等价于函数拟合:选择一条函数曲线使其很好地拟合已知数据且很好地预测未知数据。
回归学习最常用地损失函数是平方损失函数,在此情况下回归问题可以由著名地最小二乘法求解。

参考文献:统计学习方法/李航著

你可能感兴趣的:(机器学习算法,机器学习)