Ch1 机器学习基础

时间:2020-08-01 21:58:13   收藏:0   阅读:112

机器学习的四个分支

  1. 监督学习

    训练含有很多特征的数据集,不过数据集中的样本都有一个标签或目标。

    监督学习是目前最常见的机器学习类型。给定一组样本(通常由人工标注),它可以学会将 输入数据映射到已知目标。

    虽然监督学习主要包括分类和回归,但还有更多的奇特变体,主要包括如下几种:

    • 序列生成(sequence generation)。给定一张图像,预测描述图像的文字。序列生成有时 可以被重新表示为一系列分类问题,比如反复预测序列中的单词或标记。
    • 语法树预测(syntax tree prediction)。给定一个句子,预测其分解生成的语法树。
    • 目标检测(object detection)。给定一张图像,在图中特定目标的周围画一个边界框。这 个问题也可以表示为分类问题(给定多个候选边界框,对每个框内的目标进行分类)或 分类与回归联合问题(用向量回归来预测边界框的坐标)。
    • 图像分割(image segmentation)。给定一张图像,在特定物体上画一个像素级的掩模(mask)。
  2. 无监督学习

    训练含有很多特征的数据集,然后学习出这个数据集上有用的结构性质。在深度学习中,我们通常要学习生成数据集的整个概率分布,显式地,比如密度估计,或是隐式地,比如合成或去噪。还有一些其他的类型的无监督学习任务,例如聚类,将数据集分成相似样本的集合。

    无监督学习是指在没有目标的情况下寻找输入数据的有趣变换,其目的在于数据可视化、 数据压缩、数据去噪或更好地理解数据中的相关性。无监督学习是数据分析的必备技能,在解 决监督学习问题之前,为了更好地了解数据集,它通常是一个必要步骤。降维(dimensionality reduction)和聚类(clustering)都是众所周知的无监督学习方法。

  3. 自监督学习

    自监督学习是监督学习的一个特例,它与众不同,值得单独归为一类。自监督学习是没有 人工标注的标签的监督学习,你可以将它看作没有人类参与的监督学习。标签仍然存在(因为 总要有什么东西来监督学习过程),但它们是从输入数据中生成的,通常是使用启发式算法生 成的。

    监督学习、自监督学习和无监督学习之间的区别有时很模糊, 这三个类别更像是没有明确界限的连续体。

  4. 强化学习

    在强化学习中,智能体(agent)接收有关其环境的信息,并学会选择使某种奖励最大化的行动。 例如,神经网络会“观察”视频游戏的屏幕并输出游戏操作,目的是尽可能得高分,这种神经 网络可以通过强化学习来训练。

分类和回归术语表

技术分享图片

评估机器学习模型

训练集、验证集和测试集

技术分享图片

技术分享图片

评估模型的注意事项

数据预处理、特征工程、特征学习

神经网络的数据预处理

  1. 向量化
  2. 值标准化
  3. 处理缺失值

特征工程

过拟合与欠拟合

技术分享图片

防止神经网络过拟合的常用方法包括:

获取更多的训练数据

减小网格容量

防止过拟合的最简单的方法就是减小模型大小,即减少模型中可学习参数的个数(这由层 数和每层的单元个数决定)。在深度学习中,模型中可学习参数的个数通常被称为模型的容量

添加权重正则化

奥卡姆剃刀(Occam’s razor)原理:如果一件事情有两种解释,那么最可能正 确的解释就是最简单的那个,即假设更少的那个。这个原理也适用于神经网络学到的模型:给定一些训练数据和一种网络架构,很多组权重值(即很多模型)都可以解释这些数据。简单模型比复杂模型更不容易过拟合。

这里的简单模型(simple model)是指参数值分布的熵更小的模型(或参数更少的模型,比 如上一节的例子)。因此,一种常见的降低过拟合的方法就是强制让模型权重只能取较小的值, 从而限制模型的复杂度,这使得权重值的分布更加规则(regular)。这种方法叫作权重正则化 (weight regularization),其实现方法是向网络损失函数中添加与较大权重值相关的成本(cost)。 这个成本有两种形式。

在 Keras 中,添加权重正则化的方法是向层传递权重正则化项实例(weight regularizer instance)作为关键字参数。

添加dropout正则化

对某一层使用dropout,就是在训练过程中随机将该层的一些输出特征舍 弃(设置为0)。假设在训练过程中,某一层对给定输入样本的返回值应该是向量 [0.2, 0.5, 1.3, 0.8, 1.1]。使用dropout 后,这个向量会有几个随机的元素变成0,比如 [0, 0.5, 1.3, 0, 1.1]。dropout 比率(dropout rate)是被设为0 的特征所占的比例,通常在0.2~0.5 范围内。测试时没有单元被舍弃,而该层的输出值需要按dropout 比率缩小,因为这时比训练时 有更多的单元被激活,需要加以平衡。

在 Keras 中,你可以通过 Dropout 层向网络中引入dropout,dropout 将被应用于前面一层 的输出。

机器学习的通用工作流程

  1. 定义问题、收集数据集
  2. 选择衡量成功的指标
  3. 确定评估方法
  4. 准备数据
  5. 开发比基准更好的模型
  6. 扩大模型规模:开发过拟合的模型
  7. 模型正则化与调节超参数

原文:https://www.cnblogs.com/Weber-security/p/13415947.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!