第4章 训练模型

来源:ApacheCN《Sklearn 与 TensorFlow 机器学习实用指南》翻译项目

译者:@C-PIG

校对:@PeterHo @飞龙

在之前的描述中,我们通常把机器学习模型和训练算法当作黑箱子来处理。如果你实践过前几章的一些示例,你惊奇的发现你可以优化回归系统,改进数字图像的分类器,你甚至可以零基础搭建一个垃圾邮件的分类器,但是你却对它们内部的工作流程一无所知。事实上,许多场合你都不需要知道这些黑箱子的内部有什么,干了什么。

然而,如果你对其内部的工作流程有一定了解的话,当面对一个机器学习任务时候,这些理论可以帮助你快速的找到恰当的机器学习模型,合适的训练算法,以及一个好的假设集。同时,了解黑箱子内部的构成,有助于你更好地调试参数以及更有效的误差分析。本章讨论的大部分话题对于机器学习模型的理解,构建,以及神经网络(详细参考本书的第二部分)的训练都是非常重要的。

首先我们将以一个简单的线性回归模型为例,讨论两种不同的训练方法来得到模型的最优解:

  • 直接使用封闭方程进行求根运算,得到模型在当前训练集上的最优参数(即在训练集上使损失函数达到最小值的模型参数)

  • 使用迭代优化方法:梯度下降(GD),在训练集上,它可以逐渐调整模型参数以获得最小的损失函数,最终,参数会收敛到和第一种方法相同的的值。同时,我们也会介绍一些梯度下降的变体形式:批量梯度下降(Batch GD)、小批量梯度下降(Mini-batch GD)、随机梯度下降(Stochastic GD),在第二部分的神经网络部分,我们会多次使用它们。

接下来,我们将研究一个更复杂的模型:多项式回归,它可以拟合非线性数据集,由于它比线性模型拥有更多的参数,于是它更容易出现模型的过拟合。因此,我们将介绍如何通过学习曲线去判断模型是否出现了过拟合,并介绍几种正则化方法以减少模型出现过拟合的风险。

最后,我们将介绍两个常用于分类的模型:Logistic回归和Softmax回归

阅读全文

《Scikit-Learn与TensorFlow机器学习实用指南》第4章 训练模型相关推荐

  1. 【翻译】Sklearn 与 TensorFlow 机器学习实用指南 —— 第11章 训练深层神经网络(中)...

    梯度裁剪 减少梯度爆炸问题的一种常用技术是在反向传播过程中简单地剪切梯度,使它们不超过某个阈值(这对于递归神经网络是非常有用的:参见第 14 章). 这就是所谓的梯度裁剪.一般来说,人们更喜欢批量标准 ...

  2. 《Scikit-Learn与TensorFlow机器学习实用指南》第9章 启动并运行TensorFlow

    第9章 启动并运行TensorFlow 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@akonwang @WilsonQu 校对:@ ...

  3. Sklearn 与 TensorFlow 机器学习实用指南(补档)

    协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远 ApacheCN - 机器学习交流群 629470233 ApacheCN 学习资源 利用 P ...

  4. 《Sklearn 与 TensorFlow 机器学习实用指南》 第6章 决策树

    来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@Lisanaaa @y3534365 校对:@飞龙 和支持向量机一样, 决策树是一种多 ...

  5. 《Scikit-Learn与TensorFlow机器学习实用指南》第14章 循环神经网络

    第14章 循环神经网络 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@akonwang @alexcheen @飞龙 校对:@飞龙 ...

  6. 《Scikit-Learn与TensorFlow机器学习实用指南》第16章 强化学习

    第16章 强化学习 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@friedhelm739 校对:@飞龙 强化学习(RL)如今是机器 ...

  7. 《Scikit-Learn与TensorFlow机器学习实用指南》第10章 人工神经网络介绍

    第10章 人工神经网络介绍 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@akonwang @friedhelm739 校对:@飞龙 ...

  8. 《Scikit-Learn与TensorFlow机器学习实用指南》第11章 训练深层神经网络

    第11章 训练深层神经网络 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@akonwang @飞龙 校对:@飞龙 @Zeyu Zho ...

  9. 《Scikit-Learn与TensorFlow机器学习实用指南》第5章 支持向量机

    第5章 支持向量机 来源:ApacheCN<Sklearn 与 TensorFlow 机器学习实用指南>翻译项目 译者:@QiaoXie 校对:@飞龙 支持向量机(SVM)是个非常强大并且 ...

最新文章

  1. C++ sizeof 操作符的用法总结
  2. java orm 工具_GitHub - donnie4w/jdao: jdao是一个java的轻量级orm工具包
  3. oracle connect by用法
  4. 035_jQuery Ajax的ajaxSetup方法
  5. 看看如何解决“SQL Server只能使用Windows身份登录,不能使用sa等Sql server身份进行登录”的问题...
  6. 构造函数必须没有代码
  7. 遗传算法 优化 工具箱 matlab pareto front,matlab遗传算法三目标优化,出来的pareto前沿图只是二维图...
  8. 收藏 | 9 个技巧让你的 PyTorch 模型训练变得飞快!
  9. Android 系统性能优化(82)---Android性能优化:手把手带你全面实现内存优化
  10. 怎么在php分页上结束分页,很经典的分页程序,该如何处理
  11. C++ DLL导出接口
  12. codeblocks 终端设置
  13. android theme错误,关于android:您需要在此活动中使用Theme.AppCompat主题(或后代)。 更改为Theme.AppCompat会导致其他错误...
  14. 全新V10抢单系统唯品会/京东/淘宝自动抢单区块系统源码
  15. Why you should not shrink your data files
  16. 拷贝出师表到另一个文件,恢复顺序
  17. React Native中的视频编码
  18. python浪漫微信_教你用python做一个哄女友的微信自动回复机器人
  19. 2008-09赛季NBA直播表(cctv5 广东体育)
  20. 多粒度和多尺度的区别

热门文章

  1. (10)FPGA面试题多位信号同步问题
  2. 1007.422通信问题
  3. STM32移植LWIP
  4. 【C语言】大程序(.c和.h)头文件和源文件
  5. 串口发送和接受字符串,AD转换多通道读取
  6. 【JAVA SE】第十一章 正则表达式、包装类和BigDecimal
  7. i++和++i作为参数时的编译器处理方式分析
  8. git--常用小命令
  9. sqlsugar的sum的用法
  10. SQL Server Profiler 常见问题总结