专栏首页用户2133719的专栏《PRML》读书笔记之一:多项式曲线拟合

《PRML》读书笔记之一:多项式曲线拟合

1 导言

模式识别简单来说就是使用计算机算法自动发现数据中隐藏的规律,并利用这些规律来处理数据,比如对数据进行分类。下面会以手写数字识别为例,介绍模式识别中的常见术语。

如下图所示,每个数字对应到一个 28*28 像素的图片,其可以被转化为一个 784 维的实数向量X 。手写数字识别的目标是训练机器输入向量 X ,输出其对应的数字。传统的手写规则或启发式方法难以应对手写数字的多变性,我们可以通过机器学习的方法来解决这一问题。

对于大部分的实际问题,原始的输入变量需要被预处理为不同形式的变量,以方便模式识别算法的求解。对于手写数字识别来说,输入的原始图像会被缩放为固定大小的图像,并保证数字的位置处于图像中心。这种预处理阶段有时也被称为特征提取(feature extraction)。需要注意的是新的测试数据需要使用与训练数据相同的方式进行预处理。预处理也可以用来加速计算,但同时可能会丢失部分信息,需要进行权衡。

上述案例中,训练集数据包括了输入向量及其对应的目标向量,基于这种训练集的学习被称为监督学习(supervised learning)。在监督学习中,诸如手写数字识别这种为输入向量分配一个有限数量的离散类别的问题,被称为分类问题(classification)。而如果输出包含了一个或多个连续变量,则该问题被称为回归问题(regression),例如预测化学反应过程中的反应物浓度、问题、压力的变化。

在另一类模式识别问题中,训练集数据只包含输入向量,不包含目标向量,这种学习被称为无监督学习(unsupervised learning)。无监督学习的目标多种多样,如发现数据中的相似样本集合,这种问题被称为聚类(clustering);如决定输入空间内的数据分布,这种问题被称为密度估计(density estimation);如将数据从高维空间映射至二维或三维空间,用于数据可视化,这种问题被称为降维(dimensionality reduction)。

还有一种学习被称为强化学习(reinforcement learning),其目标是在给定环境中找到适合的动作来最大化奖励。一般来说,该问题会包含一个状态与动作的序列,算法通过不断地与环境交互来进行学习。本书不会涉及过多强化学习的内容。

虽然每种任务都包含其独有的工具与技术,但其原理上存在着共通性。本章节将介绍模式识别领域最重要的三个工具:概率论决策论以及信息论

2 案例:多项式曲线拟合

我们还可以探索不同数据集大小下的模型表现。如下图所示,对于一个给定的模型,随着数据集大小的增加,过拟合问题逐渐减轻。一种启发式的选择数据集大小的方法是其数量不应该少于模型中可调整参数数量的 5 倍或 10 倍。然而,之后的章节我们会知道参数数量并不是度量模型复杂度的最佳方式。

本文分享自微信公众号 - 口仆(roito33),作者:口仆

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

原始发表时间:2020-01-12

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 自然语言处理中的预训练模型(上)

    本文是最近比较火的一篇关于预训练模型的综述 「Pre-trained Models for Natural Language Processing: A Sur...

    口仆
  • BERT 原理解析

    本文是对 BERT 原始论文(BERT: Pre-training of Deep Bidirectional Transformers for Languag...

    口仆
  • CS229 课程笔记之一:线性回归

    线性回归是一种监督学习算法,即给定一个训练集,去学习一个假设函数,用来尽量精确地预测每个样本对应的输出。从输出变量的离散程度来看,监督学习算法可以分为两类。线性...

    口仆
  • laravel中进行模块开发

        命令:  php artisan make :module 后面写模块名称  (示例中使用Admin)

    Sindsun
  • [DeeplearningAI 笔记]第二章 1.1-1.3 偏差/方差/欠拟合/过拟合/训练集/验证集/测试集

    "欠拟合":训练集中错误率相对比较高,但是验证集的错误率和训练集中错误率差别不大.偏差很大.

    DrawSky
  • zabbix导入数据库报错1046 (3D000) : No database selected

    张琳兮
  • Java中volatile关键字的含义

    在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。

    Java后端工程师
  • 解读java中volatile关键字的含义

    在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处理的时候就可以万事大吉。 Java语言是支...

    用户1257215
  • volatile关键字

    java中volatile关键字的含义 在java线程并发处理中,有一个关键字volatile的使用目前存在很大的混淆,以为使用这个关键字,在进行多线程并发处...

    xiangzhihong
  • 模型、算法和训练的关系,及迁移学习 | AI基础

    模型是什么?通常形容AI语境下的模型一词时,比较多的情况会类比数学领域的函数。不过个人感觉,那样比较容易跑偏,不如我们先姑且将它理解成是“一个程序”吧。

    叶锦鲤

扫码关注云+社区

领取腾讯云代金券