Python深度学习之机器学习基础

Python深度学习之机器学习基础

一、前言

本文记录 弗朗索瓦·肖莱的《Python深度学习》第四章 机器学习基础有关笔记。

二、笔记

2.1机器学习的四个分支

  • 监督学习

    序列生成(sequence generation)
    语法树预测(syntax tree prediction)
    目标检测(object detection)
    图像分割(image segmentation)

  • 无监督学习

    降维(dimensionality)和聚类(clustering)都是无监督学习方法。

  • 自监督学习

    自编码器(autoencoder)

  • 强化学习

2.2评估机器学习模型

(1)训练集、验证集、测试集
(2)经典的评估方法

  • 留出验证(hold-out validation)
    Python深度学习之机器学习基础_第1张图片
    在这里插入图片描述
  • K折验证(K-fold validation)
    Python深度学习之机器学习基础_第2张图片
    Python深度学习之机器学习基础_第3张图片
    Python深度学习之机器学习基础_第4张图片
  • 带有打乱数据的重复K 折验证(iterated K-fold validation with shuffling)

Python深度学习之机器学习基础_第5张图片

2.3评估模型的注意事项

Python深度学习之机器学习基础_第6张图片

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

  • 向量化
  • 标准化
  • 处理缺失值
  • 特征提取

Python深度学习之机器学习基础_第7张图片
Python深度学习之机器学习基础_第8张图片
Python深度学习之机器学习基础_第9张图片

2.5过度拟合 与欠拟合

机器学习的根本问题是优化和泛化之间的对立。
优化(optimization是指调节模型以在训练数据上得到最佳性能(即机器学习中的学习)。

泛化(generalization是指训练好的模型在前所未见的数据上的性能好坏。机器学习的目的当然是得到良好的泛化,但你无法控制泛化,只能基于训练数据调节模型。

训练开始时,优化和泛化是相关的:训练数据上的损失越小,测试数据上的损失也越小。这时的模型是欠拟合(underfit)的,即仍有改进的空间,网络还没有对训练数据中所有相关模式建模。但在训练数据上迭代一定次数之后,泛化不再提高,验证指标先是不变,然后开始变差,
即模型开始过拟合。这时模型开始学习仅和训练数据有关的模式,但这种模式对新数据来说是错误的或无关紧要的。
为了防止模型从训练数据中学到错误或无关紧要的模式,最优解决方法是获取更多的训练数据。模型的训练数据越多,泛化能力自然也越好。如果无法获取更多数据,次优解决方法是调节模型允许存储的信息量,或对模型允许存储的信息加以约束。如果一个网络只能记住几个模式,那么优化过程会迫使模型集中学习最重要的模式,这样更可能得到良好的泛化。
这种降低过拟合的方法叫作正则化(regularization)。

  • 减小网络大小
  • 添加权重正则化
    L1正则化
    L2正则化
  • dropout 正则化

2.6机器学习的通用工作流程

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

你可能感兴趣的:(深度学习基础,深度学习,机器学习,python)