本文转自微信公众号 机器之心
要应用科学方法进行数据探索,就应该知道可以应用什么程度的方法。神经网络对股市预测而言是无效的。蒙特卡罗算法也不能提供太多帮助,而应用不当的随机森林算法能够真正毁掉你在东南亚的假期。如果它被 NSA(美国国家安全局)使用,后果会更严重。在这篇文章中,我们将简要介绍机器学习方法的分类,并了解它们是如何与不同的业务范围关联的。
序言
从摇篮到坟墓,我们的一生不断地做着决定,从我们第一个吸引母亲注意力的决定到要求医生治疗疼痛的最后一个决定。做决定是我们生命中的关键部分,而动机(有意识或有点模糊)则是这一过程的背景。我们可以使用规则引擎(BRE)和一些先前的逻辑,作为我们计算机化的「决策者」,从这种意义来看,商业也没什么不同。
不久之前,BRE 被认为是是商业智能(BI)的最重要的组成部分。事实上,有效的 BRE 的实现可以非常简单,如[2]中所展现的那样。使用 IoC (Java) 或 NDS (OraDB),轻权重 BRE 可被正确应用在有需要的地方(靠近对象改变的位置,事件源),相关代码示例和支持 DB 结构已可供下载。
但是,很多时候外部 BRE 只会使情况复杂化——增加技术基础设施的复杂性、 需要对象的序列化/反序列化、增加额外的成本(有时候相当高)。最重要的是,经典 BRE 只能以「是/否」的方式回答有明确定义的问题,而对问题的提出只有很少的贡献。而如果该逻辑是模糊的和/或基于随机数据,那结果甚至会更糟的。因此,为决策构建动机不仅是商业智能中最重要的部分,同时也是最困难的部分,因为它将需要使用自适应算法的预测元素和模拟进行统计数据分析。
「错误的问题没有正确的答案。」——Ursula K. Le Guin
预测、仿真和适应代表了学习能力的存在,可参考下表中 Arthur Samuel 的定义。意识论(Gnosiology,专注于知识理论的哲学概念)确定了三种独特的知识获取途径:监督式、无监督式和强化。每一种都有解决问题的自己的一套方法和算法集合,而根据实际的问题又有不同程度的适用性。不同的方法集合之间并没有明确的界线,而且因为统计和学习算法的总量超过 700,在这样一篇短文章中要提及其中一半都不可能。在这里我将只会尝试关联和分组这些具有商业领域适用性的学习方法和最常见的算法——从获取知识的机器学习方法开始。
为简单起见,我将使用经典人工智能书籍(A. Cachko, Eureka 的《人工智能》)[3]中的一个比喻:童话故事,其中白马王子在一个非常非常遥远的王国里寻找睡美人,给他提供帮助的只有一只只能说「是」和「否」(见上面的 BRE),却无所不知的猫头鹰。
监督式学习(Supervised Learning)
通过王国的地图和有口语障碍的猫头鹰,白马王子可以使用二分法,即将地图不断对分,然后不断问猫头鹰「公主在哪里」,直到最后在地图上定位到公主所在的大约一个洞穴大小的位置。在这里,白马王子就得到了监督器回归(Regression)算法类别中二分法回归隔离(Bisection Regression Isolation)的帮助。回归算法是一个相当宽泛的算法类别,其中包括带有单个或多个变量的线性回归(Linear Regression)。另一组常见类别是基于分类(Classification)、线性和非线性、以及向量机支持;其中向量机支持是回归和分类方法的结合,重点是建立概率分类器,帮助创建用于寻找公主的最优模型。
监督式学习最惊艳的特征是神经网络(NN),我们在这里提到它的原因是随着现在硬件变得能够支持这一概念,神经网络正变得越来越流行。用童话故事的比喻来阐释这一方面和其实际应用——自组织映射(SOM)是很困难的,但让我们想象一下:在定位所在的洞穴后,白马王子需要验证其中的姑娘是否是真正的美人。当然,白马王子对此已经发展出了他自己的验证标准(由权重(W:weight)支持),并将通过光学识别头发、脸颊、下巴、嘴唇和其它特征来应用这一标准(即:测试更新模型)。所以,换句话说,一个树形结构的链状神经元总体上负责从被观察对象中得出特定模式,并以某种形式的降维算法(dimensionality reduction algorithm)进行特征提取。网络中的神经元越多,就越精确(权重的神经元乘法器的神经元树突树累积效应),特征识别和组装成一幅完整图像(神经元求和箱)的速度也越快。
监督式学习中的神经网络
可能有人会问,这些权重(W)标准从何而来?当然,王子最初是从他父亲和母亲那里,以及《绅士爱美人》那样的电影(监督器,提供了最初的模型)中学到的。这些是部分权重系数,因为理所当然地,他们可能会产生部分地令人满意的结果(过早的婚姻通常不能维持)。所以白马王子的一生都在调整这些权重的比例,它们用满意度阈值获取偏导数;如「金发真的开不好车」、「红发太疯狂了」。
在数学上,一些人称之为「数学方便(mathematical convenience)」——根据对输出的满意度水平调整我们处理器的数学函数。在这里还应该提及的是反向传播(backpropagation)现象。神经网络可以通过每个带有自适应反馈的运算放大器链电子地被表现出来。当你带有所有可能信号处理器的复杂音响系统变得过于大声时,你会扭动末级放大器的主音量控制。
神经网络也是如此,其中你可以让调整反向传播,这非常适合放大器链——因为严重的信号失真,在前置放大器上施加强劲的功率放大是很有风险的。因为你了解放大器中的反馈应该是负反馈,否则自适应识别将彻底失败。自我调整是我们将讨论的下一个学习方法的关键特征。
无监督学习(Unsupervised Learning)
让我们假设猫头鹰的语言障碍变得更糟糕了,白马王子再也不能依靠监督器了。但白马王子仍然还有地图和决心。他知道美人在一个洞穴中,而洞穴在山中最常见,而不是在沼泽或沙漠中。也许在数据选择中使用更多参数会有用——例如,公主是因为一个毒苹果而陷入昏睡的,所以,苹果林肯定不会离山坡太远等(假设烂掉的苹果不会吸引公主的注意)。聚类(Clustering)、降维(Dimensional Reduction)、主成分分析(Principal Component Analysis)和其它贝叶斯统计方法,将帮助我们的王子找到地图上最有可能的区域以进行更为详细的调查(在机器学习方面更多模型训练)。
在很多方面,我们的王子会尝试实施最明显的无线电定位和目标识别方法(这时候是被动定位):通过分析和检测数据分布规律,寻找检测过的分布规律的均值和标准方差,以及应用奈曼-皮尔逊准则进行选择——通过一个确凿的找到公主( positive Princess detection)的固定概率(比如, 0.95 和正态分布)最小化错过目标的概率。
你可能注意到,我并没有完全正确地提出奈曼-皮尔逊准则(最小化的参数通常是错误的警报),但为了简单起见,我省略了我们可能有多个睡美人的情况(其中一些是诱饵,不是真正的公主或不是美人或没有睡着或多种情况都有。让我们希望王子是真正有决心的,不会偏离)。
所有这些知识还将在以后王子变成国王后继续帮助他公平收税和侦查骗税漏税。贝叶斯统计理论高度灵活,因此,我们以后的好国王(之前的王子)就将能在一定的业务范围(苹果酒酒厂)内获取申报了的纳税的分布规律,发现异常偏差,将这些偏差和特定酒厂在开曼群岛(避税胜地)开设商业办公室的事实联系起来,然后将其作为一种逃税模式进行处理。
一般来说,无监督学习方法可以(且在大多数情况下应该)支持和强化有监督的方法,因为你可以理解二分法在前面的段落中已被证明远不是最优的。
强化学习(Reinforcement Learning)
情况越来越糟——不仅猫头鹰走了,王子也已经丢了王国的地图。这是一个沉重的打击,我们的王子现在并不比一个没有监督器(可以给出方向和虚拟的墙)的机器人真空吸尘器高明多少。这是个相当痛苦的试错过程,它基于我们每一步之后所得到的反馈——正反馈或负反馈。显然,这在统计学上相当接近于马尔可夫序列(Markov sequence)和离散决策过程。在概率上,它可以通过蒙特卡罗方法加以描述。
如前面的段落所述,显然当得到其它方法——尤其是有监督机器学习——的支持时,该学习方法将能提供最好的结果。神经网络中的通用近似(universal approximation)是该学习方法的实现中最常见的组合。
将问题领域与算法和工具关联,支持算法的方法(如下)
定义 | 同义词 |
|
|
赋予计算机在没有明确的编程下进行学习的能力的研究领域(Arthur Samuel ) | 数据挖掘/预测 分类 异常检测 |
|
|
解决以下问题 | 算法 | 方法 | 工具 |
有监督学习 有监督学习根据有知识的外部监督器所提供的样本进行学习。机器基于外部(来自分类器的)分类输入进行分类。 | 参数/非参数算法 | 有一个变量的线性回归 有多个变量的线性回归 | 2,3,4 |
| 向量机支持 (Vapnik–Chervonenkis 理论(VC 理论) |
线性分类: 硬间隔(Hard-margin) 软间隔(Soft-margin) 非线性分类 | 3,4 |
| 内核(Kernel) | 内核技巧: 核主成分分析(图表) |
3,4 |
| 神经网络 | 成本函数和反向传播 |
1,3,4 |
无监督学习 机器没有任何可以验证已有分类的分类器或监督器,但有足够的数据用于分析和算法以生成这些分类 | 聚类 | 多类分类 K-均值聚类和主成分分析(PCA) | 3,4 |
| 降维 | 独立成分分析 主成分分析(PCA) 概率 PCA(PPCA) 神经网络 | 3,4 |
| 推荐系统 | 效用矩阵构成(Utility matrix composing) |
3,4 |
|
深度学习 | 通用近似(Universal Approximation) 概率解释(Probabilistic Interpretation) |
3,4 |
强化学习(RLA) 机器没有分类和算法,只有数据。所以机器一开始就基于输入构建算法以掌握分类 | 马尔可夫决策过程 (MDP) 基于偏好的强化学习 (PBRL)
| 价值函数方法 |
3,4 |
|
| 梯度时间差 |
3,4 |
|
| 蒙特卡洛每次访问(所有蒙特卡洛算法的结合) |
3,4 |
|
| 隐马尔可夫 | 4 |
上面的机器学习分类没有对应到它们所支持的已有工具和算法,所以是不完整的。此外,该表格还将成为将已有算法链接到相关商业案例的资源。
支持的工具和算法(如下)
注意,Flink 和 Kafka 是技术支持工具,为接下来的两种工具提供事件分布(event distribution)和映射化简(map-reduce)。
编号 | 1 | 2 | 3 | 4 |
| Apache Flink(ML) | Apache Kafka | Apache SPARK MLlib | Apache Mahout |
1 | 用于可靠通信和数据传输的、带有机器学习插入元素的流数据流引擎,(FlinkML),包括: 交替最小二乘法(ALS,有监督学习)、多元线性回归和SVM。带有支持有监督机器学习和推荐(一般而言)的预处理器 | Kafka 是高性能的 EDN,带有强大的聚类支持 | Logistic 回归和线性支持向量机(SVM) | Logistic 回归——通过 SGD 训练 |
2 |
|
| 分类和回归树 | 随机主成分分析 (SPCA, DSPCA) |
3 | 随机森林和梯度提升决策树 | 随机森林(无监督学习) |
4 | 通过交替最小二乘法(ALS)的推荐
| 分布式正则化交替最小二乘法 (DALS) 在隐式反馈上使用 ALS 的矩阵分解 |
5 | 通过 K-均值进行聚类、二分 K-均值、高斯混合(GMM) | K-均值聚类 Canopy 聚类 模糊 K-均值 流 K-均值 谱聚类 |
6 | 使用隐含狄利克雷分布的主题建模(LDA) | 主题模型:隐含狄利克雷分布(主题模型) |
7 | 使用加速失效时间模型的生存分析 | Logistic 回归——通过 SGD 训练 |
8 | 奇异值分解(SVD)和 QR 分解 | 随机奇异值分解(SSVD,DSSVD) 随机SVD 分布式乔莱斯基 QR(thinQR) |
9 | 主成分分析(PCA) | PCA(通过随机 SVD) |
10 | 带有L1、L2和弹性网络正则化(elastic-net regularization)的线性回归 | 隐马尔可夫模型 |
11 | 保序回归(Isotonic regression) |
|
12 | 多项/二项朴素贝叶斯 | 朴素贝叶斯/互补朴素贝叶斯 |
13 | 通过FP-增长和关联规则的频率项集合挖掘(frequent item set mining ) | 协同过滤:项和行相似性分布和内核求解 |
14 | 使用 PrefixSpan 的序列模式挖掘 |
|
15 | 汇总统计数据和假设检验 |
|
16 | 特征转换 |
|
17 | 幂迭代(Power iteration) | 兰克泽斯算法(Lanczos Algorithm) |
18 | 模型评估和超参数调优(hyper-parameter tuning)
| 多层感知器 |
机器学习不是灵丹妙药。它从数学统计中借用了很多东西,机器学习可以被应用在我们需要广泛的数据准备/模拟以用于预测分析和最终决策的地方。你不需要任何预测就能预见白马王子和醒来的美人将会「从此以后幸福地生活在一起,并在同一天死去。」使用统计方法的无线电定位和目标指示已经被显著成功地使用了数十年。这里的关键词是「学习」,下表中,我们突出显示了一些经过选择的对机器学习能力有很高要求的商业领域。
商业领域和其所应用的算法的对应(如下,数字索引来自上面的工具和算法表格)
商业领域 | 机会描述 | 算法 |
预测建模工厂
| 商业假设分析需要可靠的模型用于预测客户的忠诚度和购买行为。在对公司、新产品或业务线展开营销之前,必须要分析大量的数据(如果不可能收集到这么多数据,那么就应该使用适当的随机分布模拟数据。预测建模工厂应该使用多个标准的统计框架,以预测规划的行动的可能结果。 |
4.5, 4.18, 3.6, 3.14, 4.6
|
广告技术 | 有线电视企业努力提供整体客户体验(不仅是视频点播)。要做到这一点,它会通过用户的购买历史、观看列表、频道切换、社交网络活动、搜索历史和搜索中使用过的元标签(语义网络)、来自同一目标群体的其它用户体验、即将到来的相关公共事件(展览、演出或首映)、以及甚至光标在公司网站入口的特定元素的位置上的持续时间等,来收集和汇总关于用户偏好的信息。该任务很复杂,包含许多活动,包括依赖于新发现的元数据存储中的元标签更新以用于预测趋势等等;但我们在这里可以(在一定程度上)忍受不被处理或不被接收的时间。在前一种情况下,我们可以对它们建模。 |
3.4,4.4, 3.2 |
风险和欺诈检测 | 对于银行交易监控来说,我们没有这样的奢侈(上面提到的错过的事件)。所有的活动都必须被以最大的速度考虑和处理。如果你信用卡的最后一笔交易是在伦敦的邦德街(ATM 现金提取)而且五分钟后同样这张卡又被用于在线购买昂贵的珠宝,并使用了奇怪的收货地址,那么,就应该有人将这张卡标记为可能的诈骗案例并联系卡的持有人。这是我们可以提供的最简单的案例。但涉及到在我们无国界的世界中的洗钱案例时——本章第一个图表的决策分析树——基于所有相关可能的事件将需要包含所有页面的一本大书,你将需要一个强大的放大镜来阅读它;网络节点和链接的计策甚至能让最世故的设套者(spider)疯狂。要保持清醒,实时评分应该由机器学习算法加以强化,以支持响应决策过程可靠和有效。 |
3.4, 4.4 4.13 |
保险分析 | 事实上,现代保险业诞生于 18 世纪初,是对收集的个人股份、已故参保人人数和总参保人人数的统计分析的结果(参见 Amicable Society 和后来的国民保险法 1911)。现在类似的统计方法也被用于构建最优的保险定价模式,最小化损失和提高运营利润。神经网络和异常检测将能够帮助防止保险欺诈(包括硬的——有计划或设计的损失,如分阶段的汽车盗窃,和软的——夸大而不是正当地索赔)。 |
3.10,4.10, 3.7, 3.12, 4.12 |
医疗健康 | 类似于上面描述的任务,一个合适建模的个人医疗健康计划将帮助保险公司预测保险成本和让雇主评估其潜在的损失。雇员(个人)将可以选择最优的保险提供商和保险计划。 医生将在他的诊断中得到支持,病人也将获得基于最佳预测模型和最优治疗的补充性意见(second opinion)。 |
3.10,4.10 |
客户智能 | 减少客户流失,增加目标受众的向上销售(up-sales)需要对这种目标受众进行可靠建模。它会将数以千计的模型浓缩以进行预测分析和生成最有吸引力的个性化优惠。这一业务领域的机器学习应用与前面讨论的两个密切相关。 |
3.5,4.5 |
预防犯罪 | 这是无监督机器学习的一个明显应用,上面已有过讨论——光学特征识别已被广泛应用在了街道上和网络中,这都是神经网络的功劳。 抱歉,我忍不住要引用另一个名言:「你永远不要低估愚蠢的可预见性。」(来自《偷拐抢骗》中的子弹牙托尼)。社交网络中个人信息的量是令人愉快的:著名政治家的女儿的照片展示了一辆她爸可能永远也买不起的新宾利车;宣称上次纳税申报没交很多钱的商人在一架带有明显可识别的登记号的 60 英尺长的游艇上摆造型,等等。 逃税、洗钱和腐败侦测——都将受益于模式检测、分类和回归树算法。 |
|
恐怖活动侦测 | NSA/CIA 最喜欢的随机森林(RF)算法,是以对 80 个参数的收集和分类为基础的[4],其中包括移动电话使用、生活模式、社交网络活动和出行行为。应该谨慎地说:随机森林算法是避免套袋阶段(bagging phase)过度拟合的合适且必要的随机取样(引导(bootstrapping))方法。后面是来自《偷拐抢骗》的另一条引言:「Boris,不要使用白痴来做这个工作。」 |
|
结论
如前所述,这篇分类并不追求完全覆盖机器学习领域内所可能的算法,也不会将机器学习定位为数据分析的通用方法。就像前面的童话故事力求展示的那样,每一种算法都有自己的优点和缺点,而且使用不当就可能会导致灾难性的后果[4]。例如,神经网络的训练往往很慢,大规模物理实现也很艰难,训练过程中出现的神经网络权重可能会难以理解。随机森林训练更快也更容易实现,但在森林构建过程中不能对泛化误差(generalisation error)进行合适估计,这可能会导致显著的失败。因此,一个半岛电视台记者可能会被误认为是基地组织恐怖分子。使用来自一个函数集合的所有宣称的 80 种标准(几乎所有标准都来自于 GSM 使用模式),可以创建一个不平衡决策树(misbalanced decision tree)。
一般而言,随机森林并不适合用来预测超出训练数据范围的结果。基于此,我们可以概括说:只有算法所基于的数据集良好、完全和有代表性时,算法本身才能良好、完全和有代表性(这就是 Flink 和 Kafka 被作为数据收集和分类的关键组分的原因)。对于一个成功的输出来说,对数据科学家的需求是很关键的。了解数据集统计分布规律是使用任何算法的第一步。决策应该基于一种为检测分布规律(并不总是高斯分布)适配过的受限奈曼皮尔森方法。我们希望现在你可以看到在你的技术基础设施中,商业智能远比基础技术架构中的明显规则引擎(BRE,如 Oracle)的实现更复杂。
该贴被huang.wang编辑于2018-7-13 16:53:58