ch05机器学习基础笔记

5.1 机器学习的基本任务

  • 监督学习
    • 分类
    • 回归
    • 目标检测
    • 识别
  • 无监督学习
    • 聚类
    • 降维
  • 半监督学习
    • 自编码
    • 推荐
    • 生成式对抗
  • 强化学习
    • 分类
    • 回归
      在这里插入图片描述

5.2 机器学习的一般流程

  1. 定义问题
  2. 明确目标
  3. 收集数据
  4. 数据探索与预处理
  5. 选择模型及损失函数
  6. 评估及优化模型
    在这里插入图片描述

5.3 过拟合与欠拟合

  1. 权重正则化
  2. Dropout正则化
  3. Batch Normalization
  4. 权重初始化

5.4 选择合适的激活函数

  • sigmoid
    表达式: f ( x ) = 1 1 + e − x f(x)=\frac {1} {1+e^{-x}} f(x)=1+ex1
    导数:
  • tanh
    f ( x ) = 1 − e − 2 x 1 + e − 2 x f(x)=\frac {1-e^{-2x}} {1+e^{-2x}} f(x)=1+e2x1e2x

【注意】书中89页下边tanh公式写少写了个负号。

  • relu
  • LeakyReLU
  • softmax

5.5 选择合适的损失函数

训练模型的过程实际就是优化损失函数的过程。

  1. 分类问题——交叉熵(Cross Entropy)
    交叉熵反应的是两个概率分布之间的距离。
    交叉熵损失又称对数似然损失。

  2. 回归问题——均方误差(Mean Sequared error, Mse)

5.6 选择合适优化器

5.6.1 传统梯度优化的不足

  • 对超参数学习率比较敏感。
  • 容易卡在鞍点上。

5.6.2 动量算法

动量(Momentum)算法:每下降一步由前面下降方向的一个累积和当前点的梯度方向 组合而成。
NAG算法:按照前面一小步位置 的超前梯度来做梯度合并。

5.6.3 AdaGrad 算法

能自动调整模型参数的学习率。

5.6.4 RMSProp 算法

超参数\rho$ 用来控制移动平均的长度范围。

5.6.5 Adam 算法

带有动量项的 RMSProp 算法

5.7 GPU加速

5.7.1 单GPU加速

  • torch.cuda.is_available() GPU是否可用。
  • torch.cuda.device_count() 获得能够使用的GPU的数量
  • to(device) .cuda() 从内存转到GPU

5.7.2 多GPU加速

  • 单机多GPU DataParallel
  • 多机多GPU DistributedParallel

5.7.3 使用GPU注意事项

  1. GPU数量尽量为偶数
  2. 数据量小时多GPU未必更快。
  3. 内存不够大,可设置pin_memory为false。

参考

《Python深度学习基于Pytorch》

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值