程序员的数学程序员机器学习与数据挖掘

统计学习方法笔记:1.统计学习方法概论

2018-12-19  本文已影响6人  howie6879

这是我参加mlhub123组织的书籍共读计划的读书笔记,活动见mlhub第一期读书计划

第一章主要对全书内容做了一个内容的概括:

统计学习

什么是统计学习

统计学习是关于计算机基于数据构建概率统计模型并运用模型对数据进行预测与分析的一门学科,统计学习也称为统计机器学习

统计学习的特点

什么是机器学习

如果一个程序可以在任务T上,随着经验E的增加,效果P也可以随之增加,则称这个程序可以从经验中学习。 --- 卡内基美隆大学的Tom Michael Mitchell教授

如果以垃圾邮件为例,一个程序指的是用到的机器学习算法,比如:朴素贝叶斯、逻辑回归;任务T指的是区分垃圾邮件的任务;经验E为已经区分过是否为垃圾邮件的历史邮件;效果P为机器学习算法在区分是否为垃圾邮件任务上的准确率

统计学习的目的

统计学习用于对数据进行预测与分析,特别是对未知新数据进行预测与分析

统计学习的方法

监督学习

基本概念

人们根据输入、输出变量的不同类型,对预测任务给予不同的名称:

问题的形式化

监督学习利用训练数据集学习一个模型,再用模型对测试样本集进行预测 (prediction):

image

输入训练集 -> 生成模型 -> 预测,由于训练集是人工给出的,所以称之为监督学习

统计学习三要素

统计学习方法由三要素构成,可以简单地表示为:方法 = 模型 + 策略 + 算法

模型

在监督学习过程中,模型就是所要学习的条件概率分布或决策函数。模型的假设空间(hypothesis space)包含所有可能的条件概率分布或决策函数

例如,假设决策函数是输入变量的线性函数,那么模型的假设空间就是所有这些线性函数构成的函数集合,假设空间中的模型一般有无穷多个

策略

知道模型的交涉空间后,现在的目的就是选择出最优的一个模型出来,而这就是统计学习的目标,这里引入两个概念:

损失函数和风险函数

监督学习问题是在假设空间中选取模型f作为决策函数,对于给定的输入X,由f(X)给出相应的输出Y,这个输出的预测值f(X)与真实值Y可能一致也可能不一致,用一个损失函数(loss function)或代价函数(cost function)来度量预测错误的程度,损失函数是f(X)和Y的非负实值函数,记作L(Y,f(X))

统计学习中常用的损失函数有如下几种:

有了上面概念的铺垫,又可以引入下面两个概念:

当样本数量足够的情况下,经验风险是趋近于期望风险的,但是现实中样本数量是有限的,,所以用经验风险估计期望风险常常并不理想,要对经验风险进行一定的矫正

这就关系到监督学习的两个基本策略:经验风险最小化和结构风险最小化

经验风险最小化与结构风险最小化

在假设空间、损失函数以及训练数据集确定的情况下,经验风险函数式(1.10)就可以确定,经验风险最小化(empirical risk minimization,ERM)的策略认为,经验风险最小的模型是最优的模型

image

当样本数量过小,可能会出现过拟合问题,结构风险最小化(structural risk minimization,SRM)是为了防止过拟合而提出来的策略

结构风险最小化等价于正则化(regularization):

image

加上结构风险最小化的策略,此时的最优模型就是下面的最优化问题求解:

image

这样,监督学习问题就变成了经验风险或结构风险函数的最优化问题(1.11)和(1.13),这时经验或结构风险函数是最优化的目标函数

算法

统计学习基于训练数据集,根据学习策略,从假设空间中选择最优模型,最后需要考虑用什么样的计算方法求解最优模型,这时,统计学习问题归结为最优化问题,统计学习的算法成为求解最优化问题的算法:

模型评估与模型选择

训练误差与测试误差

对于我们利用学习方法通过训练给出的模型,我们希望这个模型能较好的具有以下两点能力:

前面说过,损失函数能够度量模型预测的好坏,所以基于损失函数的模型的训练误差(training error)和模型的测试误差(test error)就自然成为学习方法评估的标准:

image

过拟合与模型选择

我们认为在假设空间存在一个真的模型,那么我们选择的模型的目标就是尽量接近这个真模型,假设空间很可能含有不同复杂度的模型,所以此时我们的目标就变成了寻找一个复杂度合适的模型,这里引出一个概念,过拟合(over fitting) - 所选模型的复杂度则比真模型更高

接下来我们的问题就转接成了需找一个模型复杂度适当的模型,前面一节我们介绍了训练误差与测试误差,那么训练误差与测试误差和模型的复杂度有没有什么关系呢,看下图:

image

可以看到,训练误差和模型复杂度的关系是:随着模型复杂度的增加,训练误差逐渐递减,趋向于0(此时可能过拟合),但是测试误差会有个最小值(此时才是最合适的复杂度)

那么我们的学习目的就出来了:选择复杂度适当的模型,以达到使测试误差最小

现在目的就很明确了,就是需要一个途径比较测试误差,选出最值小的,从而选出我们的模型:

正则化与交叉验证

正则化

在统计学习三要素那一节讲过结构风险最小化策略,此策略的目的就是防止过拟合,正则化是结构风险最小化策略的实现,是在经验风险上加一个正则化项(regularizer)或罚项(penalty term):

image

正则化的作用是选择经验风险与模型复杂度同时较小的模型

交叉验证

交叉验证的基本想法是重复地使用数据,把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在此基础上反复地进行训练、测试以及模型选择,交叉验证有如下三种方式:

泛化能力

学习方法的泛化能力(generalization ability)是指由该方法学习到的模型对未知数据的预测能力,是学习方法本质上重要的性质

泛化误差

泛化误差的定义

对于一个学到的模型,其对未知数的预测就是泛化误差(generalization error),其实就是策略那节讲的风险函数:

image

泛化误差反映了学习方法的泛化能力,如果一种方法学习的模型比另一种方法学习的模型具有更小的泛化误差,那么这种方法就更有效

泛化误差上界

学习方法的泛化能力分析往往是通过研究泛化误差的概率上界进行的,简称为泛化误 差上界(generalization error bound)

泛化误差上界性质如下:

生成模型与判别模型

监督学习方法可以分为:

所学到的模型分别称为:

分类问题

在监督学习中,当输出变量Y取有限个离散值时,预测问题便成为分类问题,监督学习从数据中学习一个分类模型或分类决策函数,称为分类器(classifier)

许多统计学习方法可以用于分类:

评价分类器性能的指标一般是分类准确率(accuracy):对于给定的测试数据集,分类器正确分类的样本数与总样本数之比,也就是损失函数是0-1损失时测试数据集上的准确率,见图1.17

对于二类分类问题常用的评价指标是精确率(precision)与召回率(recall),因为是二分类,所以一共有四中预测情况:

image

标注问题

标注问题的目标在于学习一个模型, 使它能够对观测序列给出标记序列作为预测

许多统计学习方法可以用于标注:

评价标注模型的指标与评价分类模型的指标一样,常用的有标注准确率、精确率和召回率,其定义与分类模型相同

回归问题

回归用于预测输入变量(自变量)和输出变量(因变量)之间的关系,特别是当输入变量的值发生变化时,输出变量的值随之发生的变化,回归问题按照输入变量的个数,分为一元回归和多元回归;按照输入变量和输出变量之间关系的类型即模型的类型,分为线性回归和非线性回归

说明

一些参考链接:

上一篇下一篇

猜你喜欢

热点阅读