机器学习第一篇:开篇

张俊红
张俊红
张俊红
39
文章
0
评论
2020-12-0313:12:00 评论 74 2327字
摘要

统计学习的作用是对数据进行预测与分析,特别是对未知数据进行预测与分析,而对数据的预测与分析是通过构建概率统计模型来实现的。所以统计学习的目的是学习什么样的模型和如何学习模型,来让模型对数据进行准确的预测与分析。

1、接下来的关于机器学习的专题内容都会借鉴李航老师的《统计学习方法》。

2、李航老师的书籍中把机器学习称为统计机器学习,我们在文章中简称为统计学习。

01|统计学习概览:

1、统计学习的概念

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

2、统计学习的对象

统计学习的对象是数据,它从数据出发,提取数据的特征抽象出数据的模型发现数据中的知识,然后对数据进行分析与预测。

作为统计学习的对象,数据的形式是多样的,包括存在于计算机中的各种数字、文字、图像、音频等格式的数据。

3、统计学习的目的

统计学习的作用是对数据进行预测与分析,特别是对未知数据进行预测与分析,而对数据的预测与分析是通过构建概率统计模型来实现的。所以统计学习的目的是学习什么样的模型和如何学习模型,来让模型对数据进行准确的预测与分析。

根据输入(X)与输出(Y)类型的不同,我们给予预测任务不同的名称:

1)当输入变量与输出变量均为连续变量的预测问题的预测问题称为回归问题。

2)当输出变量为有限个离散变量的预测问题称为分类问题。

3)当输入变量与输出均为变量序列的预测问题称为标注问题。

4、统计学习的方法

统计学习的方法包括模型的假设空间、模型选择的准则以及模型学习的方法,称其为统计学习的三要素,简称模型、策略和算法。

02|统计学习三要素:

1、模型

在前面我们知道统计学习是通过建立模型来对未来的数据进行更好的预测,在监督学习中模型一般是条件概率分布或者是普通函数这两种。

条件概率分布P(Y|X)模型是通过训练集求出P(X),然后在P(X)已知的情况下去求Y发生的概率。

普通函数Y=F(X)模型是通过训练集求出函数F(X)的参数,这样F(X)函数就可以确定,然后给定任意一个X都可以通过函数直接求出Y。

我们把通过条件概率去求Y的这种模型称为概率模型,而通过函数去求Y的这种模型称为非概率模型。

2、策略

同一个数据集可能训练出多个模型即多个函数(如下图所示,同样的数据集训练出三种不同的函数),我们首选肯定是那个预测能力较好的模型,我们应该按照什么样的准则去选择呢,这就是统计学习中的策略。

机器学习第一篇:开篇

图2.1—来源于网络

1)损失函数和风险函数

前面说过我们应该首选那个预测能力较好的模型,那么该怎么判断预测能力的好坏呢?引入损失函数,用这个指标来度量模型预测能力的好坏。风险函数是用来度量平均意义下的模型预测能力的好坏。

损失函数是用来表示预测值F(X)和实际值Y的差距大小的函数,常见的损失函数有0-1损失函数、平方损失函数、绝对损失函数、对数损失函数(或对数似然损失函数)。这里提一个疑问:不同损失函数之间的区别是什么,什么算法下该用什么损失函数去衡量呢

风险函数是平均意义下的模型预测能力的好坏,所以损失函数的期望就是风险函数,也称期望损失。

2)经验风险与期望风险

模型F(X)关于训练集的平均损失(损失函数表示的是训练集中的某一个值的预测差距,而经验风险是用来表示整个训练集中所有值的预测差距)称为经验风险或经验损失,记作Remp。

期望风险是模型关于联合分布(即P(Y|X))的期望损失。但是联合分布我们又不知道,所以无法求得。这里引用大数定理,当样本容量足够大时,经验风险趋于期望风险,所以可以用经验风险来代替期望风险。

3)经验风险最小化和结构风险最小化

上面说过经验风险是用来表示整个训练集中所有预测值的预测差距,而经验风险最小化就是表示预测差距最小,而模型好坏的标准也是用预测好坏来评判的,所以我们认为经验风险最小化(预测差距最小)所对应的模型就是最优模型。

当样本容量很小时,经验风险最小化的效果就未必很好,会产生所谓的"过拟合"现象。而结构风险最小化就是为了防止过拟合而提出来的策略,结构风险最小化等价于正则化,其值为经验风险加上表示模型复杂度的正则化项或罚项。结构风险越小表示模型越简单,越不容易发生过拟合,就是我们想要的最优模型。

所以,监督学习问题就成了经验风险和结构风险函数最优化问题,而这两函数就成了目标优化函数。

3、算法

通过前面的策略,我们知道了监督学习问题就是经验风险和结构风险最优化问题,即求解这两个目标函数的最优解,我们把这个具体的最优解求解的过程称为算法。

03|模型评估与模型选择:

1、模型评估

用训练误差与测试误差这两个值来评判模型的好坏。

训练误差就是模型关于训练集的平均损失,就是我们前面说到的经验风险。

测试误差是模型关于测试集的平均损失,反映学习方法对未知数据集的预测能力,是我们需要重点关注的一个指标,通常将这种对未知数据的预测能力称为泛化能力。

2、模型选择

常用的模型选择的方法是正则化和交叉验证,正则化等同于结构风险最小化,前面已经说过,这里主要说一下交叉验证。

交叉验证的基本思路是重复地使用数据,把给定的数据进行切分,将切分的数据集组合为训练集与测试集,在这个数据集的基础上反复进行训练、测试以及模型选择。

交叉验证的分类:

  • 简单交叉验证

随机地将已知数据集分为两部分,一部分用作训练集,一部分用作测试集,然后用训练集在各种条件下(比如不同的参数个数)训练模型,从而得到不同的模型,在测试集上评价各个模型的测试误差,选出测试误差最小的模型。

  • S折交叉验证

随机地将已知数据切分成S个互不相交的大小相同的子集,然后利用S-1个子集的数据训练模型,利用余下的子集测试模型,重复这个操作S次,最后选出S次评测中平均测试误差最小的模型。

  • 留一交叉验证

S折交叉验证的特殊情形是S=N(N为给定数据集的容量),称为留一交叉验证,往往在数据缺乏的情况下使用。

End.爱数据网专栏作者:张俊红作者介绍:一个数据科学路上的学习者、实践者、传播者个人公众号:俊红的数据分析之路

  • 我的微信公众号
  • 微信扫一扫
  • weinxin
  • 我的微信公众号
  • 微信扫一扫
  • weinxin
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: