欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

你应该知道的机器学习方法

程序员文章站 2022-06-17 14:24:00
...
决定何时以及如何在你的团队中使用AI技术是一项艰巨的任务。可选的技术比比皆是:据venturescanner.com网站显示,目前VCs给多达885家AI公司投资了将近90亿美元。而且这还并不包括大量已成立的供应商和创业型公司。信息如此之多,足以使你晕头转向,分析能力瘫痪。

你应该知道的机器学习方法

但是,让我们来正视它吧——在这些所有的选择中,我们仍然可以比AI软件做出一个更好的选择。即使此技术已经非常先进,我们也可以使用许多相同的在其它软件上被成功实践过的方法。

从心开始

在先前的Thinking Big Data? Think Bold Questions Instead一文中我指出,在大数据时代,我鼓励人们从一个问题开始学习而不是从一个工具开始。这个道理同样适用于AI/机器学习领域。在我们如今生活的年代,让人兴奋的是我们可以提出真正无所畏惧的问题。因为我们已经不再受到硬件或软件的限制。

首先花时间彻底弄清楚你正在解决的问题的类型。使用“五个为什么”(问为什么?五次)的方法来追朔问题的根源。根据我的经验,我发现了一些常规形式:
  • Top Line(收入):哪一个是我们最好/最有利可图的产品、客户、期望等,采取什么行动可以获取最大利益?这是一个扩展的经典市场细分和商业智能报告。使用大数据和人工智能领域的新工具,我们可以分析海量的数据和组,或者做出高精度和细微差别的预测。
  • Bottom Line (成本代价):在我们的操作过程中,效率低下的地方有哪些,如何优化才能降低成本?这也是一个扩展的传统报表技术。
  • 消费者经验:促使消费者最佳/积极消费经历的因素是什么,要怎么做才可以提升它?除了上面提到的方法和工具,推荐引擎(类似于Amazon和Netflix)在这个领域里也扮演了重要的角色。面向客服服务的自动助手也成为可能。
  • 知识发现/决策支持:我们从已知的信息中能够挖掘到什么新知识,并且应该如何使用它来做出决策呢?这是我个人最喜欢的一个方向,我职业生涯的大部分时间都在做这个。决策支持工具已经出现了一段时间,但技术的进步持续地提高了计算机的处理分析能力,让我们从处理分析能力的限制里解脱出来,不用担心处理能力的不足,从而专注发现。
  • 智能机器/软件:其他领域都集中于使企业或消费者变得更好,然而这一领域专注于创造智能机器来处理世界上特定的问题:从导航真实世界到数据的实时分析和反应。机会仍然存在,即使你不是一个核心软体开发公司。如果你在这个领域有商业理念,你可以永远与那些能给你的生活带来愿景的人合作。

如果这些问题带领你去寻找一个非技术性解决方案,那么请不要惊讶。有时候,最好的解决方案并不是实现一个软件,而是从人以及处理方法上做改进。

比如,我曾被带去帮助一个出版社组织去评估新的分析工具。在挖掘详细信息之后,我发现他们面临的真实问题是“创新者的窘境”。任何一种新技术都可能腐蚀他们已存的商业模式,除非他们先解决自己市场上的混乱。我对此给出了一些适度的技术改进方法,但我还是鼓励他们把大部分精力集中在解决商业模式的问题上。

你可能也会发现,很多传统的商业智能工具都是有必要的,或许你有一个不需要人工智能的大数据规模问题。请牢牢记住,成功往往是问正确的问题,而不是挑选闪亮的新玩具。

识别机器学习类别

尽管供应商和算法多的让人有些眼花缭乱,但事实上机器学习方法只有那么几类。首先,从你需要解决的问题开始识别方法,然后你就可以缩小供应商和支持此方法的最佳工具。这看起来可能很明显,但我都不知道有多少次看到一些公司在理解需求或方法之前就开始使用特定的工具了(Hadoop,还有其它的吗?)。

最常见的方法如下:
  • Feature Extraction(特征提取):这种方法需要一个类似文本、图像、视频、音频的原始输入,然后提取可以在随后的机器学习算法中使用的相关“特征”和模式。这与其自身并不是息息相关,但却是一个重要的预处理步骤。
  • Clustering(聚类):此方法也称作"unsupervised learning(无监督学习)",它基于相似性原理将原始数据或特征和组对象组放到一起。唯一真正的要求就是对象需要一种比较相似性的手段,例如,比较它们相似或不同的方法。
  • Classification(分类):此方法也称作“supervised learning(监督学习)”,分类需要原始数据或特征,以及一个用户定义的类别,然后开发规则将这些对象归入到这些类别中。这种规则接着可以用来预测新的、没有类别的对象。这种技术也有助于标记内容,例如,图片、视频和产品。
  • Prediction(预测):此方法根据已知的数据来确定关系,并制定规则,然后预测未来的事件,例如,一个客户的离开(“客户流失”)或一个人会不会买这件商品(“推荐引擎”)。预测的过程真的很有趣,做预测的一个最佳理由就是:谁不想预测未来呢?

该列表看似很短,然而很多公司在实践中都曾在其中绊倒过,简而言之就这几个。即使更先进的解决方案,如谷歌的无人驾驶汽车使用的也是这些基本的构建模块:特征提取(将其三维空间降解为一系列机器可读的对象),分类(这些物体看起来像一辆车,那些对象看起来像行人),预测(如果是红灯,我前面的车将会停止)。

这些模块的选择(无论是单独使用还是组合),取决于你需要解决的问题,并且你可以以你的方式更好地完成一个成功的机器学习项目。

选择适合你风险承受能力的技术

一旦你了解了你需要的机器学习的算法类型,最后一步就是评估和选择符合你特定需求的技术。你可能会倾向于使用最富有特色的方法,但这可能会导致组织风险承受能力的不匹配。我看到一些大的、成熟的组织从一些灵活的小公司中选择软件,类似于小公司和IBM这样的大公司。每一次,都在合同的墨水还没干涸之前就出现了问题。

所以,你最好和一个与你的整体策略、理念和风险承受能力在一个等级的供应商合作。领域的变化非常快,一个纯技术的决定是相当短见的。你要有一个能以类似的速度成长和适应的伙伴,这样就不存在任何期望的不匹配。除了技术,还需根据以下几个方面进行评估:
  • 公司成长战略
  • 领导团队
  • 咨询方式(传统的瀑布型,敏捷开发型等)
  • 技术风格(专有的重型研发,集成等)

找到那些与你的企业精神相匹配的公司,如此你才会为你踏上这个旅程找到一个好的合作伙伴。你也可以使用这种评估,故意地移除这些公司。如果你是一个需要更多创新的大型公司,你可以选择一个更富有活力和进取心的供应商,仅仅只是为了将新的思想和精力注入到一个不景气的企业。只是要确保时刻睁开你的双眼,关注着发生的一切。

最后一点看法

在机器学习的嗡嗡声下,伴随的是解决复杂业务问题或改革新产品的真正机会。但在该领域所有的噪音和咆哮下,你需要保持冷静的头脑并以一种理性的方法来研究项目:以全面综合的方式确定项目的需要,选择合适的方法,并评估供应商。做到了这些,你将会领先于你的大部分竞争对手,并成为此领域的佼佼者。

原文链接:Selecting the Right Machine Learning Approach(译者/刘帝伟 审校/赵屹华、朱正贵  责编/仲浩)


译者简介:刘帝伟,中南大学软件学院在读研究生,关注机器学习、数据挖掘及生物信息领域。