2018年7月1日星期日

看球,我选上帝视角

安妮 发自 凹非寺量子位 出品 | 公众号 QbitAI

4:3,梅西回家了;2:1,C罗也回家了,这届世界杯真是激烈又精彩。

但对于无法前往现场的(伪)球迷们,只能屈身于手机、电视的平面看直播了吧?

在新技术应用一个接一个的今天,到底有没有更新、更技术的方式,重新定义一下看个球?

试想一下:如果可以通过AR设备,将赛况实时投到桌面上,并且随你移动,还能尽览不同视角不同距离的全场景球况,该是多么过瘾的一种选择。

就像这样——

再如这样——

噫……这是把世界杯搬到了任意桌面了么?而且还能各个角度绕着球场看比赛——就算身在现场也做不到啊!

恭喜你,这种"上帝视角",可能不久就能实现了。

就在最近,华盛顿大学、Google和Facebook的研究人员开发了一套桌面足球系统,能将世界杯视频重建,转换成动态3D视频。通过AR设备,可以看到渲染后的球员动作和场地效果。

拥有了这个系统,感觉宛如拥有了整个球场,这到底是怎么做到的?

3D转换的秘笈

桌面看球的大思路其实很简单。

只要充分利用球场部署的多角度相机,之后通过多视角几何技术,对场地和玩家进行三维重建,2D世界杯就升级为3D场景了。

因此,研究人员提出了这样的思路——

先收集Youtube上世界杯球赛视频,根据场地线来推断相机的位置等参数。

随后,提取视频中的边界线、球员姿势和运动轨迹,将球员和场地分割,方便下一步加工。

"质壁分离"后,对球员进行单独的渲染处理来实现立体效果。研究人员用视频数据训练深度神经网络模型,在球场上重建每个球员的景深图,为实现360度无死角看球打基础。

最后,如果你有AR设备……用AR设备或者3D查看器渲染一下,3D看球美美哒。

思路没错,但紧接着问题就来了:

想训练神经网络模型根据球员图像来估计他的景深图,最理想的数据集里,应该包含着一对对的球员照片vs.景深图。

这样的数据集上哪找?

研究人员想到了EA出品的FIFA系列游戏。截取FIFA游戏引擎与GPU之间的调用信息,不就能从视频游戏的框架中提取景深图了嘛。

从FIFA系列游戏中提取图像及深度

机智。

现在数据完备,就差个能够预测景深的神经网络了。

研究人员选取了"沙漏网络模型",用一连串残差模块,像一个个沙漏一样来处理输入,经过8个"沙漏模块"实施降低输入的分辨率、放大等步骤,输出的,就是我们所需要的景深图。

重建3D球赛,Go!

准备阶段完成后,研究人员开始重建3D场景。整个流程一气呵成,犹如进入了快餐店后厨——

大概分为以下几步:

  • 1.相机位置估计:用一个合成的平面场模板预估真实场景中每帧的参数,进一步找到相机在每个连续帧中的姿态。
  • 2.球员检测和追踪:提取球员的边界box检测到的关键点/骨架,基于姿态信息对初始的边界框进行细化,再根据提取的边框序列预计球员的运动轨迹。
  • 3.实时实例分割:预估每个球员用于深度预估网络的分割掩码,借助语义分割和前一步的姿态估计。
  • 4.网格生成:将上一步的前景掩码与原始裁剪图像混合,放入一开始预先训练好的神经网络中进行训练。
  • 5.形成3D轨迹:减少相机位置和边界框定位时不精确带来的球员抖动,对3D球员轨迹进行平滑处理。

一连串操作至此,3D合成大功告成。

研究人员将此模型的3D生成结果与原视频和不同方法合成的结果进行了对比。

Youtube视频上真实处理结果

渲染后得到最后的效果图:

Youtube视频帧(最上一行)及渲染结果(第2~4行)

毫无疑问,这种方法可以得到更精确和完整的深度估计,重建的效果也最好。

美中不足

虽然场景不错,但这项技术目前并不完善,还不能让你随心畅看。

Bug 其实很明显,刚在观看效果的时候,各位有没有看见足球?

——冇。

没错,目前这套系统最大的问题就是还没有对足球进行处理,球的轨迹无法渲染出来,场上一票球员如同在踢"空气球"。

此外,系统对球员及守门员的(位置)把控不够准确,被遮挡的球员显示不完整。这就导致球员有时球员会突然消失,然后突然出现,犹如习得传送大法。

迷离消失的守门员

在论文中,研究人员表示,目前这项技术还在不断改进和升级中,下一部的计划是:

  • 改善画面重建的品质
  • 实现实时3D重建
  • 预估足球的位置
  • 让这项技术也能用于其他运动,让篮球、橄榄球、排球等等运动的球迷也能同此待遇。

华盛顿大学出品

这项研究的论文Soccer on Your Tabletop发表在CVPR 2018上,作者有四,均属于华盛顿大学(张亚勤母校)的GRAIL lab实验室,分别为Konstantinos Rematas、Ira Kemelmacher-Shlizerman、Brian Curless和Steve Seitz.

一作Konstantinos Rematas

如果觉得这项研究和你胃口,可移步传送门深入挖掘。

论文地址:

https://ift.tt/2KCfqK4

代码地址:

https://ift.tt/2lrG7D7

最后,效果视频长这样:

—欢迎大家关注我们的专栏:量子位 - 知乎专栏诚挚招聘量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复"招聘"两个字。量子位 QbitAI · 头条号签约作者վ'ᴗ' ի 追踪AI技术和产品新动态



via 量子位 - 知乎专栏 https://ift.tt/2Kn3kp7
RSS Feed

RSS5

IFTTT

看球,我选上帝视角

安妮 发自 凹非寺量子位 出品 | 公众号 QbitAI

4:3,梅西回家了;2:1,C罗也回家了,这届世界杯真是激烈又精彩。

但对于无法前往现场的(伪)球迷们,只能屈身于手机、电视的平面看直播了吧?

在新技术应用一个接一个的今天,到底有没有更新、更技术的方式,重新定义一下看个球?

试想一下:如果可以通过AR设备,将赛况实时投到桌面上,并且随你移动,还能尽览不同视角不同距离的全场景球况,该是多么过瘾的一种选择。

就像这样——

再如这样——

噫……这是把世界杯搬到了任意桌面了么?而且还能各个角度绕着球场看比赛——就算身在现场也做不到啊!

恭喜你,这种"上帝视角",可能不久就能实现了。

就在最近,华盛顿大学、Google和Facebook的研究人员开发了一套桌面足球系统,能将世界杯视频重建,转换成动态3D视频。通过AR设备,可以看到渲染后的球员动作和场地效果。

拥有了这个系统,感觉宛如拥有了整个球场,这到底是怎么做到的?

3D转换的秘笈

桌面看球的大思路其实很简单。

只要充分利用球场部署的多角度相机,之后通过多视角几何技术,对场地和玩家进行三维重建,2D世界杯就升级为3D场景了。

因此,研究人员提出了这样的思路——

先收集Youtube上世界杯球赛视频,根据场地线来推断相机的位置等参数。

随后,提取视频中的边界线、球员姿势和运动轨迹,将球员和场地分割,方便下一步加工。

"质壁分离"后,对球员进行单独的渲染处理来实现立体效果。研究人员用视频数据训练深度神经网络模型,在球场上重建每个球员的景深图,为实现360度无死角看球打基础。

最后,如果你有AR设备……用AR设备或者3D查看器渲染一下,3D看球美美哒。

思路没错,但紧接着问题就来了:

想训练神经网络模型根据球员图像来估计他的景深图,最理想的数据集里,应该包含着一对对的球员照片vs.景深图。

这样的数据集上哪找?

研究人员想到了EA出品的FIFA系列游戏。截取FIFA游戏引擎与GPU之间的调用信息,不就能从视频游戏的框架中提取景深图了嘛。

从FIFA系列游戏中提取图像及深度

机智。

现在数据完备,就差个能够预测景深的神经网络了。

研究人员选取了"沙漏网络模型",用一连串残差模块,像一个个沙漏一样来处理输入,经过8个"沙漏模块"实施降低输入的分辨率、放大等步骤,输出的,就是我们所需要的景深图。

重建3D球赛,Go!

准备阶段完成后,研究人员开始重建3D场景。整个流程一气呵成,犹如进入了快餐店后厨——

大概分为以下几步:

  • 1.相机位置估计:用一个合成的平面场模板预估真实场景中每帧的参数,进一步找到相机在每个连续帧中的姿态。
  • 2.球员检测和追踪:提取球员的边界box检测到的关键点/骨架,基于姿态信息对初始的边界框进行细化,再根据提取的边框序列预计球员的运动轨迹。
  • 3.实时实例分割:预估每个球员用于深度预估网络的分割掩码,借助语义分割和前一步的姿态估计。
  • 4.网格生成:将上一步的前景掩码与原始裁剪图像混合,放入一开始预先训练好的神经网络中进行训练。
  • 5.形成3D轨迹:减少相机位置和边界框定位时不精确带来的球员抖动,对3D球员轨迹进行平滑处理。

一连串操作至此,3D合成大功告成。

研究人员将此模型的3D生成结果与原视频和不同方法合成的结果进行了对比。

Youtube视频上真实处理结果

渲染后得到最后的效果图:

Youtube视频帧(最上一行)及渲染结果(第2~4行)

毫无疑问,这种方法可以得到更精确和完整的深度估计,重建的效果也最好。

美中不足

虽然场景不错,但这项技术目前并不完善,还不能让你随心畅看。

Bug 其实很明显,刚在观看效果的时候,各位有没有看见足球?

——冇。

没错,目前这套系统最大的问题就是还没有对足球进行处理,球的轨迹无法渲染出来,场上一票球员如同在踢"空气球"。

此外,系统对球员及守门员的(位置)把控不够准确,被遮挡的球员显示不完整。这就导致球员有时球员会突然消失,然后突然出现,犹如习得传送大法。

迷离消失的守门员

在论文中,研究人员表示,目前这项技术还在不断改进和升级中,下一部的计划是:

  • 改善画面重建的品质
  • 实现实时3D重建
  • 预估足球的位置
  • 让这项技术也能用于其他运动,让篮球、橄榄球、排球等等运动的球迷也能同此待遇。

华盛顿大学出品

这项研究的论文Soccer on Your Tabletop发表在CVPR 2018上,作者有四,均属于华盛顿大学(张亚勤母校)的GRAIL lab实验室,分别为Konstantinos Rematas、Ira Kemelmacher-Shlizerman、Brian Curless和Steve Seitz.

一作Konstantinos Rematas

如果觉得这项研究和你胃口,可移步传送门深入挖掘。

论文地址:

https://ift.tt/2KCfqK4

代码地址:

https://ift.tt/2lrG7D7

最后,效果视频长这样:

—欢迎大家关注我们的专栏:量子位 - 知乎专栏诚挚招聘量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复"招聘"两个字。量子位 QbitAI · 头条号签约作者վ'ᴗ' ի 追踪AI技术和产品新动态



via 量子位 - 知乎专栏 https://ift.tt/2Kn3kp7
RSS Feed

RSS5

IFTTT

DeepMind提出关系RNN:记忆模块RMC解决关系推理难题

论文:Relational recurrent neural networks


论文链接:https://ift.tt/2sKoMIJ

摘要:基于记忆的神经网络通过长期记忆信息来建模时序数据。但是,目前尚不清楚它们是否具备对记忆信息执行复杂关系推理的能力。在本论文中,我们首先确认了标准记忆架构在执行需要深入理解实体连接方式的任务(即涉及关系推理的任务)时可能会比较困难。然后我们利用新的记忆模块 Relational Memory Core(RMC)改进这些缺陷,RMC 使用 Multi-head 点积注意力令记忆相互影响。最后,我们在一系列任务上对 RMC 进行测试,这些任务可从跨序列信息的更强大关系推理中受益,测试结果表明在强化学习领域(如 Mini PacMan)、程序评估和语言建模上获得了很大进步,在 WikiText-103、Project Gutenberg 和 GigaWord 数据集上获得了当前最优的结果。

1 引言

人类使用复杂的记忆系统来获取和推理重要信息,而无需过问信息最初被感知的时间 [1, 2]。在神经网络研究中,建模序列数据的成功方法也使用记忆系统,如 LSTM [3] 和记忆增强神经网络 [4–7]。凭借增强记忆容量、随时间有界的计算开销和处理梯度消失的能力,这些网络学会关联不同时间的事件,从而精通于存储和检索信息。

这里我们提出:考虑记忆交互与信息存储和检索会有很大收获。尽管当前模型可以学会分割和关联分布式、向量化记忆,但它们并不擅长显性地完成这些过程。我们假设擅长这么做的模型可能会更好地理解记忆的关联,从而获得对时序数据进行关系推理的更强能力。我们首先通过一个强调序列信息的关系推理的演示任务展示了当前模型确实在这方面比较困难。而使用 Multi-head 点积注意力的新型 RMC 可使记忆交互,我们解决并分析了这个演示任务。之后我们应用 RMC 处理一系列任务(这些任务可能从更显著的记忆交互中受益),从而得到了潜在增长的记忆容量,可处理随时间的关系推理:在 Wikitext-103、Project Gutenberg、GigaWord 数据集上的部分可观测强化学习任务、程序评估和语言建模任务。

3 模型

我们的主导设计原则是提供架构主干网络,使模型可学习分割信息,并计算分割后信息之间的交互。为此我们结合了 LSTM 构造块、记忆增强神经网络和非局部网络(具体来说是 Transformer seq2seq 模型 [19])以实现主体网络。与记忆增强架构类似,我们考虑使用固定的记忆单元集合,但是我们利用注意力机制进行记忆单元之间的交互。如前所述,我们的方法与之前的研究不同,我们在单个时间步上对记忆应用注意力机制,而且不跨越从所有之前的观测中计算出的所有之前表征。

图 1:Relational Memory Core。(a)RMC 接受前一个记忆矩阵和输入向量,并作为输入,它们被传输至 MHDPA 模块(A)。(b)利用 Query 逐行共享的权重 W^q、Key 逐行共享的权重 W^k 和 Value 逐行共享的权重 W^v,计算每个记忆单元的线性投影。(c)将 Query、key 和 Value 编译成矩阵,计算 softmax(QK^T)V。该计算的输出是一个新的记忆,其中的信息根据记忆的注意力权重进行混合。MLP 被逐行应用于 MHDPA 模块的输出(a),得到的记忆矩阵是门控矩阵,作为核心输出或下一个记忆状态。

图 2:任务。我们在一系列监督和强化学习任务上对 RMC 进行测试。Nth Farthest 演示任务和语言建模任务值得注意。前者中解决方案需要显性的关系推理,因为该模型必须把向量之间的距离关系进行分类,而不是对向量本身进行分类。后者基于大量自然数据测试模型,使得我们可以进行与精心调整的模型之间的性能对比。

5 结果

图 3:模型分析。每行描述了特定序列在每个时间步上的注意力矩阵。下方的文本即该序列的特定任务,序列被编码,并作为模型输入。我们把任务中引用的向量标红:即如果模型选择离向量 7 第 2 远的向量,则标红的是向量 7 中被输入到模型的时间点。单个注意力矩阵展示了从一个特定记忆单元(y 轴)到另一个记忆单元(列)的注意力权重,或者输入(offset 列),数字表示记忆单元,「input」表示输入词嵌入

表 1:在程序评估和记忆任务上的每字符测试准确率

表 2:在 WikiText-103、Project Gutenberg 和 GigaWord v5 数据集上的验证困惑度和测试困惑度。

]]> 原文: https://ift.tt/2lNZdnc
RSS Feed

机器知心

IFTTT

算法太多挑花眼?此文教你如何选择正确的机器学习算法

机器学习既是一门科学,也是一种艺术。纵观各类机器学习算法,并没有一种普适的解决方案或方法。事实上,有几个因素会影响你对机器学习算法的选择。

有些问题是非常特别的,需要用一种特定的解决方法。例如,如果你对推荐系统有所了解,你会发现它是一类很常用的机器学习算法,用来解决一类非常特殊的问题。而其它的一些问题则非常开放,可能需要一种试错方法(例如:强化学习)。监督学习、分类、回归等问题都是非常开放的,可以被用于异常检测或建立更加广泛的预测模型。

此外,我们在选择机器学习算法时所做出的一些决定与算法的优化或技术层面关系并不大,而更多地与业务决策相关。下面,让我们一起来看看有哪些因素能帮你缩小机器学习算法的选择范围。

数据科学过程

在你开始研究不同的机器学习算法前,你需要对自己拥有的数据、面对的问题及相关约束有清晰的了解。

理解你的数据

当我们决定使用哪种算法时,我们所拥有的数据的类型和形态起着关键性的作用。有些算法可以利用较小的样本集合工作,而另一些算法则需要海量的样本。特定的算法对特定类型的数据起作用。例如,朴素贝叶斯算法对处理待分类的输入特别有效,但是对于缺失值则一点都不敏感。

因此,你需要做到:

了解你的数据

 1. 查看总结统计和数据可视化的结果

  • 百分比可以帮助你识别大多数数据的范围

  • 平均数和中位数可以描述集中趋势

  • 相关系数可以指出强的关联性

2. 数据可视化

  • 箱形图可以识别出异常值

  • 密度图和直方图可以显示出数据的散布情况

  • 散点图可以描述二元关系

数据清洗

 1. 处理缺失值。缺失的数据对于某些模型的影响比对其它模型更大。即使是对于那些被用于处理缺失数据的模型来说,它们也可能对缺失数据很敏感(某些变量的缺失数据可能导致预测性能变差)

 2. 选择处理异常值的方法

  • 异常值在多维数据中十分常见。

  • 有些模型对异常值的敏感性比其它模型要低。通常而言,树模型对于异常值的存在不太敏感。然而回归模型、或者任何试图使用方程的模型都会受到异常值的严重影响。

  • 异常值可能是糟糕的数据收集造成的,也可能是合理的极值。

3. 数据需要被聚合吗?

数据增强

 1. 特征工程是从原始数据中产生能够被用于建模的数据的过程,可以起到以下几种作用:

  • 使模型更容易被解释(如数据分箱(binning))

  • 捕获更复杂的关系(如神经网络)

  • 减少数据冗余并降低数据维度(如主成分分析(PCA))

  • 重新缩放变量(如标准化或归一化)

2. 不同的模型可能有不同的特征工程的要求。有的模型有内置的特征工程。

对问题进行分类

下一步是对问题进行分类。这是一个需要分两步实现的过程。

 1. 根据输入分类:

  • 如果你拥有的是带标签的数据,那么这就是一个监督学习问题。

  • 如果你拥有的是未标注过的数据,并且希望从中找到有用的结构,那么这就是一个无监督学习问题。

  • 如果你想要通过与环境的交互来优化一个目标函数,那么这就是一个强化学习问题。

2. 根据输出分类:

  • 如果模型的输出是一个(连续的)数字,那么这就是一个回归问题。

  • 如果模型的输出是一个类别,那么这就是一个分类问题。

  • 如果模型的输出是一组用输入数据划分出的簇,那么这就是一个聚类问题。

  • 你想发现一个异常点吗?此时你面对的就是一个异常检测问题。

理解你要满足的约束条件

  • 你需要考虑你能够存储数据的容量有多大?这取决于系统的存储容量,你可能无法存储若干 GB 大小的分类、回归模型或者若干 GB 的用于聚类分析的数据。例如,在嵌入式系统中,你就会面临这种情况。

  • 对预测过程的速度是否有要求?在实时应用中,很显然,尽快得出预测结果是十分重要的。例如,在自动驾驶问题中,应用必须尽可能快地对道路标志进行分类,以免发生交通事故。

  • 对学习过程的速度是否有要求?在某些情况下,快速训练模型是十分必要的:有时,你需要使用不同的数据集快速地实时更新你的模型。

寻找可用的算法

当对自己的任务环境有了一个清晰的认识后,你就可以使用你所掌握的工具确定适用于待解决的问题并切实可行的算法。一些影响你选择模型的因素如下:

  • 模型是否满足业务目标

  • 模型需要多少数据预处理工作

  • 模型有多准确

  • 模型的可解释性如何

  • 模型运行的速度有多快:构造模型需要多久?模型做出预测需要多长时间?

  • 模型的可伸缩性如何

模型的复杂度是一个影响算法选择的重要标准。一般来说,一个更复杂的模型具备下列特征:

  • 它依赖于更多的特征进行学习和预测(例如,使用十个而不是两个特征来预测目标)

  • 它依赖于更复杂的特征工程(例如,使用多项式特征、交互特征或主成分)

  • 它有更大的计算开销(例如,需要一个由 100 棵决策树组成的随机森林,而不是一棵单独的决策树)

除此之外,同样的机器学习算法可以基于参数的个数和某些超参数的选择而变得更加复杂。例如:

  • 回归模型可以拥有更多的特征,或者多项式项和交互项。

  • 决策树可以拥有更大或更小的深度。

将相同的算法变得更加复杂增加了发生过拟合的几率。

常用的机器学习算法

线性回归

这可能是机器学习中最简单的算法。例如,当你想要计算一些连续值,而不是将输出分类时,可以使用回归算法。因此,当你需要预测一个正在运行的过程未来的值时,你可以使用回归算法。然而,当特征冗余,即如果存在多重共线性(multicollinearity)时,线性回归就不太稳定。

在下列情况下可以考虑使用线性回归:

  • 从一个地方移动到另一个地方所需的时间

  • 预测下个月某种产品的销售情况

  • 血液中的酒精含量对协调能力的影响

  • 预测每个月礼品卡的销售情况,并改善年收入的估算

Logistic 回归

Logistic 回归执行二进制分类,因此输出二值标签。它将特征的线性组合作为输入,并且对其应用非线性函数(sigmoid),因此它是一个非常小的神经网络的实例。

logistic 回归提供了许多方法对你的模型进行正则化处理,因此正如在朴素贝叶斯算法中那样,你不必担心你的特征是否相关。该模型还有一个很好的概率化的解释。不像在决策树或者支持向量机中那样,你可以很容易地更新你的模型以获取新的数据。如果你想要使用一个概率化的框架,或者你希望在未来能够快速地将更多的训练数据融合到你的模型中,你可以使用 logistic 回归算法。logistic 回归还可以帮助你理解预测结果背后起作用的因素,它不完全是一个黑盒方法。

在下列情况下可以考虑使用 logistic 回归算法:

  • 预测客户流失

  • 信用评分和欺诈检测

  • 评价市场营销活动的效果

决策树

决策树很少被单独使用,但是不同的决策树可以组合成非常高效的算法,例如随机森林或梯度提升树算法。

决策树很容易处理特征交互,并且决策树是一种非参数模型,所以你不必担心异常值或者数据是否是线性可分的。决策树算法的一个缺点是,它们不支持在线学习,因此当你要使用新的样本时,你不得不重新构建决策树。决策树的另一个缺点是,它很容易发生过拟合,而这就是像随机森林(或提升树)这样的集成学习方法能够派上用场的地方。决策树也需要大量的内存空间(拥有的特征越多,你的决策树可能会越深、越大)

决策树能够很好地帮助你在诸多行动路径中做出选择:

  • 做出投资决策

  • 预测客户流失

  • 找出可能拖欠银行贷款的人

  • 在「建造」和「购买」两种选择间进行抉择

  • 销售主管的资质审核

K-均值

有时,你完全没有数据的标签信息,并且你的目的是根据对象的特征来为其打上标签。这种问题被称为聚类任务。聚类算法可以在这种情况下被使用:例如,当你有一大群用户,你希望根据他们共有的一些属性将其划分到一些特定的组中。

如果在你的问题声明中有这样的问题:例如,找出一群个体的组织形式,或将某些东西分组,或找出特定的组。这时,你就应该使用聚类算法。

该方法最大的缺点是,K-均值算法需要提前知道你的数据会有多少簇,因此这可能需要进行大量的试验去「猜测」我们最终定义的簇的最佳个数——K。

主成分分析(PCA)

主成分分析能够对数据进行降维。有时,你拥有各种各样的特征,这些特征之间的相关性可能很高,而模型如果使用如此大量的数据可能会产生过拟合现象。这时,你可以使用主成分分析(PCA)技术。

主成分分析(PCA)能够起作用的关键因素是:除了低维的样本表征,它还提供了各种变量的一种同步的低维表征。同步的样本和变量的表征提供了一种能够可视化地找到能够表示一组样本的特征的变量的方法。

支持向量机

支持向量机(SVM)是一种在模式识别和分类问题中被广泛应用的监督机器学习技术——当你的数据恰好有两类时。

支持向量机准确率高,对于防止过拟合很好的理论保障。当你使用一个合适的核函数时,即使你的数据在基(低维)特征空间中是线性不可分的,他们也可以很好地工作。支持向量机在文本分类问题中非常流行,在该问题中,输入是一个维度非常高的空间是很正常的。然而,SVM 是一种内存密集型算法,它很难被解释,并且对其进行调优十分困难。

在下列现实世界的应用中,你可以使用支持向量机:

  • 发现患有糖尿病等常见疾病的人

  • 手写字符识别

  • 文本分类——将文章按照话题分类

  • 股票市场价格预测

朴素贝叶斯

这是一种基于贝叶斯定理的分类技术,它很容易构建,非常适用于大规模数据集。除了结构简单,据说朴素贝叶斯的表现甚至比一些复杂得多的分类方法更好。当 CPU 和内存资源有限时,朴素贝叶斯算法也是一个很好的选项。

朴素贝叶斯非常简单,你仅仅是在做大量的计数工作。如果朴素贝叶斯的条件独立假设确实成立,朴素贝叶斯分类器的收敛速度会比 logistic 回归这样的判别模型更快,因此需要的训练数据更少。即使朴素贝叶斯的假设不成立,朴素贝叶斯分类器往往也能很好地完成任务。如果你想使用一种快速的、简单的、性能也不错的模型,朴素贝叶斯是一个很好的选择。这种算法最大的缺点就是它不能学习到特征之间的相互作用。

在下列真实世界的应用中,你可以使用朴素贝叶斯:

  • 情感分析和文本分类

  • 类似于 Netflix、Amazon 这样的推荐系统

  • 识别垃圾邮件

  • 人脸识别

随机森林

随机森林是一种决策树的集成方法。它能够同时解决具有大规模数据集的回归问题和分类问题,还有助于从数以千计的输入变量中找出最重要的变量。随机森林具有很强的可伸缩性,它适用于任何维数的数据,并且通常具有相当不错的性能。此外,还有一些遗传算法,它们可以在具有最少的关于数据本身的知识的情况下,很好地扩展到任何维度和任何数据上,其中最简单的实现就是微生物遗传算法。然而,随机森林学习的速度可能会很慢(取决于参数设置),并且这种方法不能迭代地改进生成模型。

在下列现实世界的应用中,你可以使用随机森林:

  • 预测高危患者

  • 预测零件在生产中的故障

  • 预测拖欠贷款的人

神经网络

神经网络中包含着神经元之间连接的权重。这些权重是平衡的,逐次对数据点进行学习。当所有的权重都被训练好后,如果需要对新给定的数据点进行回归,神经网络可以被用于预测分类结果或一个具体数值。利用神经网络,可以对特别复杂的模型进行训练,并且将其作为一种黑盒方法加以利用,而在训练模型之前,我们无需进行不可预测的复杂特征工程。通过与「深度方法」相结合,甚至可以采用更加不可预测的模型去实现新任务。例如,最近人们已经通过深度神经网络大大提升了物体识别任务的结果。深度学习还被应用于特征提取这样的非监督学习任务,也可以在人为干预更少的情况下,从原始图像或语音中提取特征。

另一方面,神经网络很难被解释清楚,其参数设置也复杂地让人难以置信。此外,神经网络算法也都是资源密集型和内存密集型的。

SCIKIT 参考手册

Scikit learning 为大家提供了一个非常深入的、解释地很清楚的流程图,它能够帮助你选择正确的算法。我认为此图十分方便。

结论

一般来说,你可以根据上面介绍的要点来筛选出一些算法,但是要想在一开始就知道哪种方法最好是很难的。你最好多迭代几次选择算法的过程。将你的数据输入给那些你确定的潜在优秀机器学习算法,通过并行或串行的方式运行这些算法,最终评估算法性能,从而选择出最佳的算法。

在最后,我想告诉你:为现实生活中的问题找到正确的解决方案,通常不仅仅是一个应用数学方法的问题。这要求我们对业务需求、规则和制度、相关利益者的关注点有所了解,并且具备大量的专业知识。在解决一个机器学习问题的同时,能够结合并平衡这些问题是至关重要的,那些能做到这一点的人可以创造最大的价值。

原文链接:https://ift.tt/2t7VTr5

]]> 原文: https://ift.tt/2Kp128T
RSS Feed

机器知心

IFTTT

入职仅一年,套现5000多万后背刺马斯克搬走 Grok 核心代码库!-InfoQ 每周精要894期

「每周精要」 NO. 894 2025/09/06 头条 HEADLINE 入职仅一年,套现 5000 多万搬走 Grok 核心代码库! 业内专家:拥有菜谱不等于能做出同样的菜 精选 SELECTED AI 公司创始人现跑路迪拜! 80% 收入烧广告、假账骗投资人,微...