学习机器学习前你应该要知道的一些事

介绍

在过去的几年里,人们对机器学习产生了新的兴趣。这种复苏似乎是由强大的基本因素推动的 - 全球各地的终端都在释放出的大量数据,并且这些数据的成本非常低廉,计算成本是有史以来是最低的!

然而,并非每个人都了解机器学习是什么。这里有几个例子:

  • 什么是机器学习?它与大数据和业务分析有何不同?

  • 机器学习,数据分析,数据挖掘,数据科学和AI之间有什么区别?

最近,我们发布了一个有趣的(但非常真实的)主题。

 

说道这一点,考虑到这个话题上的混乱程度,我们打算写一篇关于机器学习的介绍性文章。这个想法是去掉所有可能在过吓唬人的术语,创造一些可以被5岁的孩子轻松了解的东西(emmmmmmm............好吧,对不起,可能需要高中毕业)!

 

机器学习究竟什么是?我的一个小实验......

为了确保我不会高估(或低估)目标受众的能力,我找到了10个对分析完全陌生的人。他们之前都没有听说过机器学习(是的,真的有这样的人!!!!!)。他们是这样说的:

  • 我不知道,可能是向机器中学习?

  • 让机器学习一些东西,也就是编程机器软件

  • 借助计算机帮助我学习?

  • 通过在线课程学习(!!!)

这很有趣!完美的解释了他们认为的机器学习。以下是我向这些人解释机器学习的概念:

  • 机器学习是指以最智能的方式处理大量数据(通过开发算法)以获得可操作的见解的技术。

这时,他们看着我,就好像我是火星人一样对他们说话!所以,我停止了愚蠢的术语讲解,然后反过来问他们问题,方便他们可以更深入的了解:

  • KJ:当你在谷歌搜索某些东西时,你认为会发生什么?

  • 组员:Google会显示与该搜索相关的网页。

  • KJ:那很好!但究竟是什么让Google可以向你显示这些相关页面呢?

这次看起来他们想的比较多。然后组内的一些人开始发言

  • 组员:Google会查看用户过去的点击次数,了解哪些网页与这些搜索更相关,然后在搜索结果上提供这些结果。

这是一个很好的尝试。但我还必须控制住自己的冲动,告诉他们Google做到这一点要比他们这个简单的概念复杂的多。但是,我想我有一个更好的方法来解释机器学习。所以,我继续说:

  • KJ:好的,这听起来不错。但是,Google会定期处理多少次搜索以及所有搜索的类型?

  • 组员:这一定是一个很大的数字 - 可能每年是一万亿次搜索

  • KJ:那么,你们认为Google如何准确地满足如此多的请求?你们是不是认为有人坐在Google办公室并不断处理哪些搜索结果是跟搜索的问题是相关的呢?

  • 小组成员:我还没有想过,但是不会有人去处理这些,因为这好像听起来不像是人类可以处理的。

  • KJ:你是对的。这是机器学习发挥作用的地方。机器学习是一组技术,以最智能的方式处理大量数据(通过开发算法或一组逻辑规则), 来获得可操作的结果(在我们讨论的问题中是为用户提供搜索)。

这个时候小组成员们按照意料之中的点了点头,看起来像我已经完成任务......耶!可是总觉得哪里不对呢…

现在有一些常见的问题 - 比如机器学习与X有什么不同?

你开始学习有关机器学习的那一刻,你会看到各种知识好像火箭一样在高速的轰炸着你。这些是术语在行业内使用的比较多。以下是其中一些:人工智能,深度学习,数据挖掘和统计。

为了让你更加清楚理解,我以简单的方式解释了这些术语。你还会了解到这些术语在机器学习中的重要性:

什么是人工智能(AI):

它指的是一台计算机(机器)进行编程使得自己变得合理的程序。啊! 什么是理性的?理性是做出决定的基础。

我提到“理性”而不是智力(如预期的那样),因为我们人类倾向于做出高度理性和可行的决策而不是明确的智慧。这是因为所有智能决策都不需要理性和可行(我的假设)。因此,使用人工智能背后的核心动机是以一种时髦的方式实现计算机(机器)的行为,而不是由愚蠢的人类指导!

人工智能可以包括用于检查程序中的某些参数是否正常运行的程序。例如,如果参数说“X”超过某个阈值,机器可能会发出警报,而该阈值反过来可能又会影响相关过程的结果。

人工智能在机器学习中的应用

机器学习是人工智能的一个子集,其中机器经过培训,可以从中学习过去的经验。过去的经验是通过收集的数据制定的。然后它结合朴素贝叶斯,支持向量机等算法来提供最终结果。

什么是统计:

在这个高水平的阶段,我假设你已经了解了统计学。如果没有的话,这里有一个可以让你快速了解统计学的定义,统计学是数学的一个分支,它利用数据,或者是整个群体的数据,或者从群体中抽取一个样本,来进行分析并给出推论。使用的技术统计有回归、方差、标准差、条件概率等等。

在机器学习中使用统计学

让我们理解这一点,首先需要假设,我需要将收件箱中的邮件分为两类:“垃圾邮件”和“重要邮件”。为了识别垃圾邮件,我可以使用称为朴素贝叶斯的机器学习算法,该算法将检查过去垃圾邮件的频率,从而将新邮件识别为垃圾邮件。朴素贝叶斯使用统计技术贝叶斯定理(通常称为条件概率)。因此,我们可以说机器学习算法使用统计概念来执行机器学习。

PS:机器学习和统计模型之间的主要区别来自它们的发源地。机器学习起源于计算机科学系,统计建模来自数学系。此外,任何统计建模都假设许多分布,而机器学习算法通常不知道所有属性的分布。

什么是深度学习:

深度学习与机器学习算法(人工神经网络,ANN)相关联的,该算法使用人脑的概念来促进任意函数的建模。神经网络需要大量数据,并且该算法在同时对多个输出进行建模时具有高度灵活性。神经网络是一个更复杂的主题,我们可以在完全独立的文章中对其进行讨论。

什么是数据挖掘:

在我刚开始做数据分析师的日子里,我总是习惯于混淆两个术语:机器学习和数据挖掘。但是,后来我了解到,数据挖掘处理的是搜索特定信息。机器学习专注于完成一项特定的任务。让我举一个帮助我记住差异的例子; 教别人如何跳舞是机器学习。利用某人在城市中寻找最佳的舞蹈中心是数据挖掘。是不是超级简单!

但是,我们究竟如何教机器?

教机器涉及到一个结构化过程,这个过程中,每个阶段都可以构建更好的机器版本。为简化起见,教学机器的过程可分为三个部分:

 

我将在随后的文章中详细介绍这3个步骤中的每一个。到目前为止,你应该明白,这3个步骤确保机器的整体学习能够同等重要地执行给定的任务。机器的成功取决于两个因素:

  1. 抽象数据的泛化效果如何。

  2. 这台机器如何把它的学习应用到预测未来的实际应用中。

机器学习的步骤是什么?

有5个基本步骤用于执行机器学习任务:

  1. 收集数据:无论是来自excel,access,文本文件等的原始数据,这一步(收集过去的数据)构成了未来学习的基础。相关数据的种类,密度和数量越多,机器的学习前景就越好。

  2. 准备数据:任何分析过程都会依赖于使用的数据质量如何。人们需要花时间确定数据质量,然后采取措施解决诸如缺失的数据和异常值的处理等问题。探索性分析可能是一种详细研究数据细微差别的方法,从而使数据的质量迅速提高。

  3. 训练模型:此步骤涉及以模型的形式选择适当的算法和数据表示。清理后的数据分为两部分 - 训练和测试(比例视前提确定); 第一部分(训练数据)用于开发模型。第二部分(测试数据)用作参考依据。

  4. 评估模型:为了测试准确性,使用数据的第二部分(保持/测试数据)。此步骤根据结果确定算法选择的精度。检查模型准确性的更好测试是查看其在模型构建期间根本未使用的数据的性能。

  5. 提高性能:此步骤可能涉及选择完全不同的模型或引入更多变量来提高效率。这就是为什么需要花费大量时间进行数据收集和准备的原因。

无论是任何模型,这5个步骤都可用于构建技术,当我们讨论算法时,您将找到这五个步骤如何出现在每个模型中!

机器学习算法有哪些类型?

 

监督学习/预测模型:

顾名思义,预测模型用于根据历史数据预测未来结果。预测模型通常从一开始就给出明确的指示,如需要学习的内容以及如何学习。这类学习算法被称为监督学习。

例如:当营销公司试图找出哪些客户可能会流失时,就会使用监督学习。我们还可以用它来预测地震,龙卷风等危险发生的可能性,目的是确定总保险价值。使用的算法的一些示例是:最近邻算法,朴素贝叶斯算法,决策树算法,回归算法等。

无监督学习/描述性模型:

它用于训练描述模型,其中没有设置目标,并且没有一个特征比另一个重要。无监督学习的情况可以是:当零售商希望找出产品组合时,顾客往往会更频繁地购买。此外,在制药工业中,可以使用无监督学习来预测哪些疾病可能与糖尿病一起发生。这里使用的算法示例是:K-均值聚类算法

强化学习(RL):

这是机器学习的一个例子,其中机器被训练根据业务需求做出特定的决定,唯一的座右铭是最大化效率(性能)。强化学习所涉及的理念是:机器/软件代理根据其所处的环境不断地自我训练,并应用它丰富的知识来解决业务问题。这种持续的学习过程可以减少人类专业知识的参与,从而节省大量时间!

RL中使用的算法的示例是马尔可夫决策过程。

PS:监督学习和强化学习(RL)之间存在细微差别。RL主要涉及通过与环境交互来学习。RL代理从其过去的经验中学习,而不是从其持续的试验和错误学习过程中学习,而是外部主管提供示例的监督学习中学习。

了解差异的一个很好的例子是无人驾驶汽车。自驾车使用强化学习来不断做出决策 - 走哪条路?速度是是多少?这些问题都是与环境互动后决定的。监督学习的一个简单表现是预测出租车从一个地方到另一个地方的车费。

机器学习有哪些应用?

了解机器学习的应用是非常有趣的。Google和Facebook广泛使用ML将其各自的广告推送给相关用户。以下是你应该了解的一些ML应用:

  • 银行和金融服务:ML可用于预测可能违约支付贷款或信用卡账单的客户。这是至关重要的,因为机器学习将帮助银行识别那些是可以获得贷款和信用卡的客户。

  • 医疗保健:它用于根据患者的症状诊断致命疾病(例如癌症),并根据类似患者的过去数据对其进行统计。

  • 零售:它用于识别销售频繁(快速移动)的产品和缓慢移动的产品,帮助零售商决定从货架上引入或移除哪种产品。此外,机器学习算法可用于查找哪两个/三个或更多产品一起销售。这样做是为了设计客户忠诚度计划,从而帮助零售商开发和维护忠诚的客户。

这些例子只是冰山一角。机器学习在每个领域都有广泛的应用。可以查看一些Kaggle问题以获得更多知识,上面包含的例子很容易理解,至少可以体验机器学习的无所不能。

随着人工智能的热潮,人们开始逐渐的对机器学习产生了兴趣,而这种兴趣也是全球化,虽然人们对机器学习有很大的兴趣,但是人们对机器学习似乎并没有真正的了解,而文章的作者借由向一些非数据科学行业内的小白科普机器学习的过程中,用非常白话的语言向我们介绍了什么是机器学习,一些机器学习中的专业术语,机器学习的步骤和机器学习的类型与应用。并且通过一些小案例向我们解释了各种算法的作用,在我认为,机器学习是进入人工智能领域一块很好的垫脚石,至少不会再未来的浪潮中使我们迷失了方向。

文章翻译自:Machine Learning basics for a newbie

原文链接:https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/

 

posted @ 2019-07-01 10:25  九天Hector  阅读(738)  评论(0编辑  收藏  举报