CNN的Python实现——第一章:机器学习基础


第一章:机器学习简介

1.1 引言

比如挑西瓜,怎么能挑出好西瓜呢?我们常常以一些属性(如根蒂、敲声、纹理、触感等等)来评判一个西瓜好坏。一般认为根蒂凹陷、敲声混响、触感硬滑和纹理清晰的瓜是好瓜。这些挑选西瓜的经验是人们掌握的知识,是在无数次挑选西瓜后总结出来的。

其实,机器学习的目的就是想让计算机和人们一样,能区分西瓜的好坏。那么如何让其掌握学习这些知识,是核心内容。

1.2 基本术语

  • 机器学习的本质是让计算机通过数据来拟合隐藏在数据背后的模型。(注意是拟合,不是推导)
  • 我们把每个西瓜的数据称为一条样本,样本数据包含两部分:特征属性(如根蒂、敲声、纹理、触感等等)、西瓜好坏的标签,表示为 ( x , y ) (x,y) (x,y)
  • 若标签取值离散,则为分类问题;如 y = 好   o r   坏 y=好 \ or \ 坏 y= or ,是二分类; y y y 取多个值,是多分类;若 y y y 取值连续值,则为回归问题。
  • 机器学习的本质就是学习 x x x y y y映射 f : y = f ( x , w ) f:y=f(x,w) f:y=f(x,w),其中 w w w 是模型参数;在神经网络模型中, w w w 是所有权重参数,有的映射不包含参数 w w w ,比如最近邻和朴素贝叶斯。
  • 预测标签 y ^ = f ( x , w ) \hat y = f(x,w) y^=f(x,w) ,用预测标签 y ^ \hat y y^ 和真实标签 y y y 作比较,可以评判模型好坏
  • 模型预测新样本的能力称为 泛化性能
  • 评判一个模型泛化性能采用的样本集为测试集

1.3 重要概念

  1. 相关属性和无关属性
    怎么知道属性是相关属性还是无关属性呢?这是在无数次挑选西瓜时总结出来的知识,属于领域知识。在一个具体的机器学习任务中,必须充分利用领域知识,挑选出相关属性,剔除无关属性。如果没有领域知识,则只能采用大量属性,这会极大地增加机器学习的难度并且降低机器学习的效果。

  2. 有效学习
    模型对新样本的泛化性能必须大于随机猜测,才能说明模型进行了有效学习。
    那么西瓜准确率能达到100%吗?这是一个终极难题,如果真有可能达到100%,判断西瓜好坏不再是机器学习问题了,因为我们已经有了这个确定模型,直接根据模型判断即可,没有必要采用机器学习了。所以,判断这个是一个终极难题,不能肯定也不能否定。

  3. 从数据中学习
    机器仅能从数据中获得分类的能力,根据指令一步一步地对样本进行分类,人类不能显式编程告诉它。举个数据排序的例子,人类开发了很多排序算法,如冒泡、快排等,如果把这些排序算法进行显式编程,计算机获得了排序能力,而且准确率100% ,但这不是机器学习。如果只是提供给计算机很多元序和有序的数据对,计算机仅根据这些数据对进行学习,获得了排序能力,则是机器学习,但准确率一般达不到100% 。学习到的排序知识存储在模型参数 w w w 中。

  4. 映射
    对于不同的机器学习方法,映射 f f f 的函数形式是不同的

  5. 机器学习中的优化难题
    机器学习中求最优参数 不仅仅 是数学中的参数优化问题。

  • 模型 f f f 的泛化性能眼训练数据集密切相关。
  • 模型 f f f 的函数形式虽然是统一规范的,但不同的机器学习方法采用不同的函数形式,如神经网络和支持向量机就不同,这导致学习效果也不同。如何选择好的函数形式, 一直是机器学习领域最核心和最富创新性的课题。
  • 过拟合风险。一般采用正则化来缓解过拟合。过拟合的通常解释是: 因为模型的学习容量随着参数的精心调整和训练时间的增加而越来越大,训练集的规模却是固定的,导致模型把训练集学习得过分好,其中的一些噪声也学为样本的固有模式,因此泛化到新样本时就容易出错。
  1. 过拟合实例
    多项式数据拟合。
  • 假设数据点巾, y ) 的真实模型是二次曲线;由于噪声,每个采样点都会偏离理想值
  • 使误差为0,拟合曲线严格通过每个数据点,即 N N N 点的数据拟合曲线必须是 N − 1 N-1 N1 次。
  • 高次函数拟合容易出现数值计算不稳定、曲线振荡等情况,对于真实模型是二次曲线的数据拟合任务,高次函数的泛化性能会远低于低次函数。
  • 为了缓解曲线振荡,对方程系数(即参数 w w w )进行约束,使系数的绝对值尽可能小,这就是正则化。
  • 与过拟合相对的是欠拟合,欠拟合指模型的学习容量过低,不能学习到训练样本的一般性质。欠拟合很容易克服,只需增大模型容量即可。这里所说的学习容量,就是拟合曲线的次数。
  1. 训练集、验证集和测试集
  • 验证集:在训练过程中,用于选取拟合效果最优的曲线作为最终模型
  • 需要另一个测试集评估该最优模型的泛化性能
  • 训练集寻找最优参数 w w w ,验证集决定最优曲线方程次数,测试集评估模型的泛化性能。
  1. 超参数和参数
  • 超参数的数目通常不多,在10 以内; 参数的数目可能很多,如卷积神经网络中有近千万个参数(权重)。
  • 曲线拟合中,方程的次数就是超参数, 多项式的系数就是参数;
  • 调参方式不同,超参数取值一般是人工设定的,参数值是根据参数优化算法自动寻优的;
  • 超参数的取值对模型泛化性能有重大的影响,验证集就是用来决定最优超参数取值的
  1. 如何提高模型泛化性能
  • 其一是提高模型的学习容量,把训练误差降低到满意的程度,同时增大正则化强度,降低过拟合风险。
  • 其二是构造更好的数据集,这包括增大样本数量,调整样本以更加全面地覆盖样本分布空间,利用领域知识提取更好的特征。
  1. 模型输出
    模型的输出,如果是回归问题,则直接输出实数。在多分类任务中,输出一般是向量,向量的维数等于类别数,元素值是实数。元素值表示对应类别的得分,得分越大表示该样本与对应的类别越相似,故最大元素值对应的类别就是最终预测的类别。二分类是多分类的特例,只需输出一个实数值,并与0 比较,大于0 预测为正类,小于0预测为负类。

1.4 图像分类

图像分类是指: 对于一幅给定的图像,模型需要判定它属于所给定的类别中的哪一个,如一幅图像属于集合{卡车,公交车,私家车,货车}中4 类的概率分别是多少。这个任务对人类看似很简单,却一直是计算机视觉的一个核心和难点问题。图像分类应用很广泛,计算机视觉的很多问题(如物体检测、图像分割)的基础都是图像分类。

  1. 计算机“看到”的图像是什么
    计算机“看”不到图像的内容,对它而言,图像是巨大的数值矩阵,矩阵元素表示像素的颜色信息。

  2. 图像分类的挑战
    图像分类对人类很简单,但对计算机而言,会面临诸多困难,主要有如下几点。
    在这里插入图片描述

  3. 语义鸿沟
    人们是依据图像的语义信息来进行图像判别的,这产生了人所理解的“语义相似”与计算机理解的“视觉相似”之间的“语义鸿沟。语义鸿沟就是由于计算机获取的图像信息与人类对图像理解的语义信息的不一致性而导致的低层信息和高层信息之间的距离。像素信息不包含任何语义信息,计算机难以从像素中提取语义信息,这是图像分类难度大的内在原因。

  4. 数据驱动方法
    不要直接告诉计算机该“怎么做”,而是给计算机大量的实例,让计算机自己学会“怎么做” 。

1.5 MNIST数据集简介

MNIST 来自美国国家标准与技术研究院训练集由250 个不同的人手写的数字构成,其中50% 是高中学生, 50% 来自人口普查局的工作人员;

测试集也是同样比例的手写数字。MNIST 数据集可在 http://yann.lecun.com/exdb/mnist/ 上进行下载,训练集包含60000 个样本,测试集包含10000 个样本。

MNIST 数据集中的每张图像都是灰度图像,由28 × 28 个像素点构成,每个像素点用一个灰度值表示,如图1.1 和图1.2 所示。每张图像的标签就是手写数字的类别标签(整数0~9 )。
在这里插入图片描述
在这里插入图片描述
其他知名数据库有CIFA R-10 、CIFA R-100 和ImageN et 等,特别是ImageNe t , 推动了深度学习的发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值