第9章 最优化——用梯度下降法寻找最小值

这一章将讨论以下内容:

  • 优化二次损失函数,使用数学方法寻找最小值进行分析;
  • 从零开始使用梯度下降法(GD)编码实现二次损失函数的优化过程;
  • 从零开始编码梯度下降优化算法,解决线性回归问题;
  • 在Spark 2.0中使用正规方程法解决线性回归问题。

理解最优化的工作原理是机器学习相关职业取得成功的基础。我们选择梯度下降方法(GD)进行端到端的研究,演示最优化技术的内部工作原理。我们将使用3个攻略阐述这个概念,这些攻略将和开发人员一起从零开始编写一个完全开发代码,以解决现实的实际问题。第四个攻略使用Spark和正规方程寻找GD的替代方案,以解决回归问题。

现在开始吧!机器是如何学习的?机器真的会从错误中吸取教训吗?当机器使用最优化技术寻找解决方案时到底在想什么?

从高层次上来看,机器采用下面5种技术中的某一种进行学习。

  • 基于误差的学习:在域空间寻找一组参数值(权重)组合,最小化训练数据的总误差(预测值和真实值)。
  • 信息理论学习:使用经典香农信息理论中的熵和信息增益等概念。基于树的机器学习系统(如ID3算法)是这一类别的典型代表,而集成树模型则代表了这一类别中取得的最高成就。我们将在第10章探讨树模型。
  • 概率空间学习:这一分支基于贝叶斯定理,机器学习领域最出名的方法就是朴素贝叶斯(还有多种变种)。朴素贝叶斯的发展在贝叶斯网络时达到顶峰,可以更好地对模型进行控制。
  • 相似性测度学习:该方法试图先定义一个相似性测度,进而使用该测度拟合观察数据的一个分组。众所周知的KNN即是典型代表,其已经成为任何机器学习工具包中的标准组件。Spark的ML实现了拥有并行能力的K-Means算法(K代表并行)K-means++。
  • 遗传算法(GA)和进化学习:可以认为是达尔文理论(物种起源)在最优化和机器学习上的应用。GA的背后思想是先使用递归生成算法创建一组初始候选者,然后使用反馈信息(适应度条件)消除远距离候选者,合并相似候选者,同时对不太可能的候选者引入随机突变(数值或符号抖动),不断重复上述过程直至找到解决方案。 ...

Get Spark机器学习实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.