专栏首页张俊红机器学习开篇

机器学习开篇

总第76篇

声明: 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为给定数据集的容量),称为留一交叉验证,往往在数据缺乏的情况下使用。

本文分享自微信公众号 - 张俊红(zhangjunhong0428),作者:张俊红

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-08-05

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 机器学习中的损失函数

    在机器学习中,同一个数据集可能训练出多个模型即多个函数(如下图所示,同样的数据集训练出三种不同的函数),那么我们在众多函数中该选择哪个函数呢?首选肯定是那个预测...

    张俊红
  • python数据分析学习笔记—python基础知识

    python数据分析学习笔记系列——基础知识篇 总第44篇 ▼ ? 基本概念 1、数 在Python中有4种类型的数——整数、长整数、浮点数和复数。一般我们默认...

    张俊红
  • 有效前沿—让你的投资收益最大化

    大家在不管是在理财或者是在干其他事情的过程中,应该都经常听到的一句话就是高收益意味着高风险,低风险意味着低收益。但有的时候高风险不一定是高收益的,低收益也不一定...

    张俊红
  • Deep Learning Tutorial 李宏毅(一)深度学习介绍

    大纲 深度学习介绍 深度学习训练的技巧 神经网络的变体 展望 深度学习介绍 深度学习介绍 深度学习属于机器学习的一种。介绍深度学习之前,我们先大致了解一下机器学...

    用户1631856
  • 10倍分辨率,5分钟预测:谷歌深度学习短时降水预报超越传统方法

    天气总是会或轻或重地影响人们的日常生活,而天气预报的准确性会极大影响人们应对天气的方式。天气预报可以告知人们是否应当选取一条不同的上班路线、是否应该重新安排周末...

    机器之心
  • 对vc++类和对象的逆向研究

    经过反编译动态调试,vcpp的类实际上就是struct,跟delphi不同,它没有类头,而且所有的函数都直接放在函数表里头,跟普通的函数一样混在一起。而成员变量...

    战神伽罗
  • “您已成为微粒贷体验用户,可获得3万到30万额度”

    今天的推文开头有些特别 一哥想先让大家看一封  ▎读者发来的「自白信」 ▎ 大家好,我是小强,正处在创业转折点的小强。如果要用一个词形容我最近的状态...

    用户6966869
  • YOLO 算法最全综述:从 YOLOv1 到 YOLOv5

    YOLO系列是基于深度学习的回归方法,本文详细介绍了从YOLOv1至最新YOLOv5五种方法的主要思路、改进策略以及优缺点。

    公众号机器学习与生成对抗网络
  • YOLO算法最全综述:从YOLOv1到YOLOv5

    来源丨https://zhuanlan.zhihu.com/p/136382095

    Datawhale
  • 机器学习101:我们天天都在说的机器学习,究竟该怎么入门?

    为了使大家对机器学习有一个基本的认识,在这篇文章中,我们将对以下四个主题做简要的介绍: 什么是机器学习? 机器学习模型的训练。 模型参数的优化。 神经网络。 即...

    AI科技大本营

扫码关注云+社区

领取腾讯云代金券