作者:chen_h
微信号 & QQ:862251340
微信公众号:coderpai
优化是数据科学中几乎所有机器学习和统计技术的核心。今天我们讨论一下最流行的机器学习/统计建模方法背后的核心优化框架。
介绍
通常,数据科学和机器学习的新人,我们都会要求他们去学习尽可能多的统计学知识和线性代数。在这两个学科中建立扎实的基础,这对后期学习各种数据科学和机器学习都是非常有好处的。然而,我们在学习的过程中多会有意无意的忽略优化的重要性。说的客气一点,如果不能很好的理解这个问题,我们对一整个数据科学世界的理解都是不完整的。这是因为优化是每个主要业务,社会,经济的核心,而且,我敢说,个人决策,集体决策有时候都会是一个优化的结果。
日常的例子
在日常生活中,其实你始终在优化变量并且用于你的个人决策,但在大部分时间你是没有意识到这个过程的,比如如下场景:
- 安排如何查看电子邮件;
- 切换回家的新路线,以尽量减少交通问题;
- 试图安排一个短暂的散步时间;
这些听起来是不是都很有趣,这些都是我们平时接触到的,但都不会认为我们是去优化了它们。
这些看似个人的决定,但是每一个都可以使用冷酷而又优美的数学模型来精确建模,我们的大脑是一个惊人的优化器,可以整天解决这些复杂的计算问题。
那么,接下来让我们聊聊数据科学的优化问题…
优化对数据科学有多重要?
非常重要!!!!!!
基础科学,商业决策和工程问题长期以来一直都是在使用优化和方法。从这个意义上来讲,几乎每种工程产品都是一种紧凑的物理形态的优化问题。工程师经过专门培训,可以在资源有限的情况下工作,并从不完整或者嘈杂的数据中生成“足够好”的解决方案。基本上它们每天都可以通过计算机,半导体IC,熔炉或者内燃机来解决优化问题。商业组织也是如此。事实上,每项业务决策都是为了在时间,预算,空间以及法律和道德界限的约束下最大化某种形式的收益(例如利润率或者知识产权领导力)。这些都是某种形式的优化问题。
今天,几乎所有的商业问题和技术都是都受到数据科学和机器学习的影响。然而,这并没有改变基于自然资源和人力资源有限的现实,一天还是 24 小时,物理空间还是一整个地球。法律和道德的界限也没有很快消失。
人工智能或者机器学习的先进技术可能能够知道企业以更快的速度获得更好的最佳解决方案,但是他们必须面对和解决与之前相同的优化问题。大量的新数据将有助于这个过程,但是随着时间的推移,预期也会增长。
举个例子,如果在过去,工程团队可以获得 1GB 的数据并且可以以 10 美元的成本生成最佳解决方案,那么如果给到优化团队,他们预计的成本将减低到 7 美元,数据的丰富度将为 10 GB。否则,大数据有什么意义?(画外音:要你何用!!!)
因此,对于数据科学/机器学习从业者来说,掌握优化框架的理论基础,用于常见的统计/机器学习算法,这是至关重要的:
- 如何有效的使用数据;
- 如何估算处理大数据集的计算量;
- 如何避免局部最小值并从复杂的多维空间中寻找到一个好的解决方案。
优化的基本要素
任何优化问题都有三个基本要素:
- 变量:这些算法都是可以自由调整参数的;
- 约束:这些是参数必须控制的边界;
- 目标函数:这些算法驱动解决方案的目标集。对于机器学习,通常这相当于最小化一些损失值。
本文的其余部分将重点介绍一些基础的,广泛使用的统计模型和ML算法,并在上述元素展示其核心的优化框架。
简单线性回归
此外,从两个角度来看,回归中注意以下区别:
正则线性回归
逻辑回归
SVM
时间序列分析 —— 指数平滑
时间序列分析 —— ARIMA
K-meas
深度学习/神经网络
大多数神经网络通过反向传播技术优化神经元之间的链接权重,采用先进的优化方法来确保找到具有高收敛概率的良好解决方案。
强化学习
强化学习目前变成了现代 AI 系统的一个核心。如果你听说过谷歌著名的 AlphaGo 计划,他在古老的棋盘游戏 Go 中击败了人类的最好选手,你可以认为,一些真正先进的机器智能背后都是优化策略。
一点点小激动——利用机器学习进行优化
可能存在激动人心的优化问题,这些问题使用机器学习来作为前端来创建模型和目标函数,这与其他方法相比,可以更快的评估/计算模型/目标函数。当然,这与本文的主要讨论点不同。但是,尽管如此,一般来说,优化和机器学习之间存在着复杂的相互作用。
作为说明,优化框架中的更新公式(例如,在梯度下降中)可以使用神经网络来替代复杂的函数。
这个方法的一个应用功能是通过优化循环中的机器学习映射函数来替代耗时的仿真模型,其中数千个输入变量被反馈到仿真模型中,我们希望以某种方式找到优化的参数集的最佳模拟输出。这个想法如下图所示:
总结和其他方法
在本文中,我们讨论了优化在现代商业和工程企业中的一般作用,以及为什么了解它对数据科学变得至关重要。我们展示了基本优化模型,它是一些广泛流行的统计技术和机器学习算法的核心。通过一些简单的搜索,你会发现类似的优化框架是其他流行的 ML 方法的核心,例如:
- EM 算法
- 梯度类算法
- GA算法
- 仿真测试