机器学习是一个不断迭代的过程,它涉及大量复杂数据的处理,以寻找有意义的预测模式和模型。数据科学家是这一领域的专家,他们通过机器学习过程获得的成果可能非常显著,但这一过程并不总是成功的,尽管失败的情况很少见。本文将集中讨论机器学习的过程和应用场景。
将通过一系列文章来探讨机器学习的概念、过程、场景和术语。这是系列的第二篇文章,主要关注机器学习的过程和场景。以下是将要探讨的文章列表:
在机器学习中,提出正确的问题并知道正确的答案至关重要。需要知道应该问什么问题,这是过程的最重要部分。然后需要问自己,否有足够的(正确的)数据来回答这个问题。如果问错了问题或者没有足够的或正确的数据,得到的答案永远不会是它应该是的,也不会是预期的。例如,考虑网上银行交易欺诈。问:“如何预测交易是否会是欺诈性的?”
可能的情况是,大量的预测数据是基于客户居住的城市、他的职业/业务或他在当前地址居住了多长时间。可能没有所有这些完整的数据,也可能直到某个时间点之后才获得这些数据。在这种情况下,应该问自己,否有足够的数据开始(或至少是正确的数据)?如果没有,那么就不会从机器学习过程中得到正在寻找的结果或答案。
还应该问自己,定义成功标准是什么。在过程结束时,只能从数据中得到一个预测模型,而不是确切的答案。所以应该问自己,这些预测应该有多好,以至于整个过程可以被标记为成功。以例子为例,如果发现在20个案例中有16个是确定的欺诈预测,那么这是否足够公平?或者14个中的20个,或者应该是18个中的20个?如何决定?知道这些问题的正确答案真的很重要,因为没有它,就不会得到预期的结果,也不会知道过程是否完成,否已经得到了实际的预测模型。
如果深入了解机器学习过程,首先识别、选择并获取想要处理的数据。以例子为例,通常需要与这个领域的领域专家合作,他们是了解欺诈交易的人,或者会与这些人合作解决实际需要解决的问题。这些专家知道从过程中得到的数据或数据模型是预测性的。但由于开始的数据是原始的和非结构化的,它永远不会以实际处理所需的正确形式出现。它可能有重复的数据,或者缺失的数据,它可能有大量不需要的额外数据。数据可能来自不同的来源,最终也可能成为重复或冗余的数据。在这种情况下,需要对数据进行预处理,以便过程能够理解数据,而且机器学习产品通常提供一些数据预处理模块来处理原始或非结构化的数据。
例如,在资本市场,总是需要对工具或股票/资产的价格进行预测,算法被应用于来自各种数据源的大量非结构化数据。在这种情况下,多个数据提供商可能提供相同的数据,或者一些数据提供商可能提供缺失的数据,而另一些提供完整的数据。因此,要将实际算法应用于数据,需要将完整的非结构化数据转换为结构化和成形的数据,这需要一个预处理过程,数据通过这个过程,得到一个候选副本,可以通过算法处理以获得实际的金副本。
让尝试一些场景,展示如何实际使用机器学习。
让再次以欺诈性网上银行交易为例。假设有一定数量的银行客户使用他们的网上银行设施向第三方支付应用程序或网关进行交易。在这种情况下,如果交易是欺诈性的,应该被拒绝。这就是挑战所在,找出欺诈性交易。
在这种情况下,可以得到所有的历史交易数据,并通过机器学习过程处理,就像在前一节看到的那样,最终得到一个预测模型,应用程序可以用来做出决策。
另一个例子是,挑战在于找出客户有多大可能转向竞争对手。以互联网数据提供商或移动公司为例。在这个领域,客户通常会打电话给呼叫中心。对于每个客户,呼叫中心员工需要确定客户转向竞争对手的可能性有多大。知道这一点,呼叫中心的执行人员可以提供更好的交易或提供一些诱人的交易,以防止客户转向并留住他。挑战在于如何识别这些客户,答案是机器学习。数据提供商或移动公司通常有大量的录音通话数据。数据可能非常庞大和详细,所以可以围绕这些数据创建一个应用程序来整合它。创建的应用程序可以使用Spark、Hadoop或其他大数据技术。