丁楠雅校对吴金笛翻译

机器学习基础知识梳理,新手必备!(附链接)

本文介绍了机器学习以及几个易与其混淆的术语,并给出了几个机器学习的应用。

介绍

在过去的几年里,人们对机器学习重新产生了兴趣。 这种复兴似乎是由强大的基础因素推动的 - 全球传感器正在产生大量数据,低廉的存储成本和最低的计算成本!

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

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

https://discuss.analyticsvidhya.com/t/what-is-machine-learning-and-how-is-it-different-from-big-data-and-business-analytics/306

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

https://discuss.analyticsvidhya.com/t/what-is-the-difference-between-machine-learning-data-analysis-data-mining-data-science-and-ai/572

对于我们最近在Facebook页面上流传的话题,这里有一点有趣的(但却是千真万确的)地方。

Facebook页面

https://www.facebook.com/AnalyticsVidhya/

鉴于对该主题的混淆程度,我们想要写一系列精彩的关于机器学习的介绍性文章。这个想法的目的是消除所有在过去可能吓到你的术语,并创造一些可以被5岁的孩子读懂的东西(好吧......对不起,可能是高中毕业)!

那么究竟什么是机器学习呢?我的小实验……

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

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

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

  • 在电脑的帮助下学习

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

这真有趣!对于这个解释机器学习的完美实验小组, 我开始是这样向这些人解释的:

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

这个时候,他们看着我,好像我在火星人面前说了几句话!所以,我停下来,然后反过来问他们一个问题,让他们可以更深入地了解:

KJ:你觉得在谷歌上搜索时会发生什么?

组员:谷歌显示与该搜索相关的最相关的web页面。

KJ:很好!但是究竟发生了什么,使得谷歌可以向你显示这些相关的页面呢?

这一次,他们似乎想得更多了。这时,人群中有人说话了。

组员:谷歌查看用户过去的点击量,以了解哪些页面与这些搜索更相关,然后在搜索结果顶部给出这些结果。

这是一个更好的尝试。这时候,我必须控制自己的冲动去讲出谷歌做到这一点的方法比这个简单的概念要聪明得多。但是,我想我有了一个很好的契机来解释机器学习。所以我继续说:

KJ:好的,听起来是个好方法。但是,谷歌会定期处理多少次搜索以及哪些类型的搜索?

组员:一定是一个很大的数字 – 每年可能是一万一次搜索。

KJ:那么,你认为谷歌如何能够如此准确地满足如此多的请求呢?你是否认为有人坐在谷歌的办公室里,不断地决定哪些搜索结果是相关的,哪些不是?

组员:虽然没有认真想过,但是不是这样的。这听起来是人类不可能做到的。

KJ:你是对的。这就是机器学习发挥作用的地方。机器学习是一组技术,有助于以最智能的方式处理大量数据(通过开发算法或一组逻辑规则)来获得可操作的见解(在这种情况下为用户提供搜索)。

组员们按照常理的点头, 看起来像完成了任务……耶!但是等等……

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

你开始阅读有关机器学习材料的那一刻,你会看到各种火箭高速轰击你。 这些火箭就是业内经常使用的术语。 比如:人工智能深度学习数据挖掘和统计。

为了让你清楚地理解,我已经以简单的方式解释了以下这些术语。 你还将了解这些术语在机器学习环境中的重要性:

X = 人工智能(Artificial Intelligence – AI):

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

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

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

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

机器学习人工智能的一个子集,机器经过训练可以从中学习过去的经验。过去的经验是通过收集的数据发展起来的。然后结合朴素贝叶斯(Naïve Bayes)、支持向量机(SVM)等算法给出最终结果。

X =统计:

在这个高级阶段,我假设你已经了解了统计学。如果你没有,这里有一个快速的定义,统计学是数学的一个分支,它利用数据,或者是整个群体的数据,或者是从群体中抽取的一个样本,来进行分析并给出推论。使用的统计技术有回归、方差、标准差、条件概率等。要了解此主题,请阅读“如何使用统计数据理解人口分布”。

如何使用统计数据理解人口分布

https://www.analyticsvidhya.com/blog/2014/07/statistics/

统计学在机器学习中的应用

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

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

X =深度学习

深度学习是与机器学习算法(人工神经网络,ANN)相联系的,它利用人脑的概念来促进任意函数的建模。神经网络需要大量的数据,当同时对多个输出进行建模时,该算法具有很高的灵活性。ANN是一个更加复杂的话题,我们可以在另一篇文章中对它进行公正的讨论。

X =数据挖掘

在我最初做分析师的几天里,我总是把机器学习数据挖掘这两个术语搞混。但是,后来我了解到,数据挖掘处理的是搜索特定信息。机器学习只专注于完成一项特定的任务。让我举个帮助我记住这个区别的例子:教别人跳舞是机器学习;使用某人来寻找城市中最好的舞蹈中心是数据挖掘。简单!

另请阅读:在线机器学习入门

https://www.analyticsvidhya.com/blog/2015/01/introduction-online-machine-learning-simplified-2/

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

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

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

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

  • 机器如何将其学习应用到预测未来行动的实际应用中。

另请阅读: 了解Scikit-Learn  -  Python中的机器学习工具

https://www.analyticsvidhya.com/blog/2015/01/scikit-learn-python-machine-learning-tool/

机器学习的步骤是什么?

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

  • 收集数据:无论是来自excel, access, text files等文件的原始数据,这一步(收集过去的数据)是未来学习的基础。相关数据的种类、密度和数量越大,机器的学习前景就越好。

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

  • 训练模型:这一步包括选择合适的算法并以模型的形式表示数据。清洗后的数据分为训练和测试两部分(比例视前提而定)。第一部分(训练数据)用于开发模型。第二部分(测试数据),用作参考。

  • 评估模型:为了测试准确性,使用了数据的第二部分(holdout / test data)。这一步根据结果确定算法选择的准确度。检验模型准确性的更好的测试方法是查看其在模型构建过程中根本没有用到的数据上的性能。

  • 提高性能:这一步可能包括选择一个完全不同的模型,或者引入更多的变量来提高效率。这就是为什么需要花费大量的时间来收集和准备数据。

无论是什么模型,这5个步骤都可以用来构造技术,当我们讨论算法时,你将发现这5个步骤是如何出现在每个模型中的!

另请阅读:通过机器学习获得智能——Ada Boost与Gradient Boost

https://www.analyticsvidhya.com/blog/2015/05/boosting-algorithms-simplified/

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

监督学习/预测模型:

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

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

监督学习/描述性模型:

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

强化学习(RL):

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

RL算法的一个例子是马尔可夫决策过程

重要提示:监督学习强化学习之间有细微的区别。强化学习本质上是通过与环境的交互来学习。强化学习代理从其过去的经验中学习,而不是从其不断的尝试和错误学习过程中学习,相反监督学习中由外部监管提供示例。

自动驾驶汽车就是一个很好的例子。自动驾驶汽车使用强化学习来不断地做出决定——走哪条路?开到什么速度?这些问题都是在与环境互动后决定的。监督学习的一个简单表现就是预测出租车从一个地方到另一个地方的车费。

机器学习有哪些应用?

了解机器学习的应用是很有趣的。谷歌和Facebook广泛使用机器学习向相关用户推送各自的广告。以下是一些你应该知道的应用:

  • 银行与金融服务:机器学习可以用来预测那些可能无法偿还贷款或信用卡账单的客户。这一点至关重要,因为机器学习将帮助银行识别哪些客户可以获得贷款和信用卡。

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

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

这些例子只是冰山一角。机器学习在各个领域都有广泛的应用。您可以查看一些Kaggle问题来获得更多的了解。上面提到的例子很容易理解,并且至少让我们领略了机器学习的无所不能。

尾记

在本文中,我们首先对机器学习有了基本的了解。我们还研究了它与其他几个术语是如何混淆的。我们还介绍了教机器的过程,机器学习中使用的基本步骤,机器学习中使用的算法,以及机器学习的应用。

我希望本文能帮助你了解机器学习的基础知识。我们很想听听你的意见。你觉得有用吗?机器学习的哪些方面最让你困惑?请通过下面的评论发表你的想法。

原文标题:

Machine Learning basics for a newbie

原文链接:

https://www.analyticsvidhya.com/blog/2015/06/machine-learning-basics/?utm_source=11stepsBItoDSarticle&utm_medium=blog

THU数据派
THU数据派

THU数据派"基于清华,放眼世界",以扎实的理工功底闯荡“数据江湖”。发布全球大数据资讯,定期组织线下活动,分享前沿产业动态。了解清华大数据,敬请关注姐妹号“数据派THU”。

入门强化学习无监督学习监督学习机器学习
1
相关数据
深度学习技术

深度学习(deep learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。 深度学习是机器学习中一种基于对数据进行表征学习的算法,至今已有数种深度学习框架,如卷积神经网络和深度置信网络和递归神经网络等已被应用在计算机视觉、语音识别、自然语言处理、音频识别与生物信息学等领域并获取了极好的效果。

自动驾驶技术技术

从 20 世纪 80 年代首次成功演示以来(Dickmanns & Mysliwetz (1992); Dickmanns & Graefe (1988); Thorpe et al. (1988)),自动驾驶汽车领域已经取得了巨大进展。尽管有了这些进展,但在任意复杂环境中实现完全自动驾驶导航仍被认为还需要数十年的发展。原因有两个:首先,在复杂的动态环境中运行的自动驾驶系统需要人工智能归纳不可预测的情境,从而进行实时推论。第二,信息性决策需要准确的感知,目前大部分已有的计算机视觉系统有一定的错误率,这是自动驾驶导航所无法接受的。

数据分析技术

数据分析是一类统计方法,其主要特点是多维性和描述性。有些几何方法有助于揭示不同的数据之间存在的关系,并绘制出统计信息图,以更简洁的解释这些数据中包含的主要信息。其他一些用于收集数据,以便弄清哪些是同质的,从而更好地了解数据。 数据分析可以处理大量数据,并确定这些数据最有用的部分。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

人工智能技术

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

数据科学技术

数据科学,又称资料科学,是一门利用数据学习知识的学科,其目标是通过从数据中提取出有价值的部分来生产数据产品。它结合了诸多领域中的理论和技术,包括应用数学、统计、模式识别、机器学习、数据可视化、数据仓库以及高性能计算。数据科学通过运用各种相关的数据来帮助非专业人士理解问题。

自动驾驶汽车技术

自动驾驶汽车,又称为无人驾驶汽车、电脑驾驶汽车或轮式移动机器人,是自动化载具的一种,具有传统汽车的运输能力。作为自动化载具,自动驾驶汽车不需要人为操作即能感测其环境及导航。

统计模型技术

统计模型[stochasticmodel;statisticmodel;probabilitymodel]指以概率论为基础,采用数学统计方法建立的模型。有些过程无法用理论分析方法导出其模型,但可通过试验测定数据,经过数理统计法求得各变量之间的函数关系,称为统计模型。常用的数理统计分析方法有最大事后概率估算法、最大似然率辨识法等。常用的统计模型有一般线性模型、广义线性模型和混合模型。统计模型的意义在对大量随机事件的规律性做推断时仍然具有统计性,因而称为统计推断。常用的统计模型软件有SPSS、SAS、Stata、SPLM、Epi-Info、Statistica等。

神经网络技术

(人工)神经网络是一种起源于 20 世纪 50 年代的监督式机器学习模型,那时候研究者构想了「感知器(perceptron)」的想法。这一领域的研究者通常被称为「联结主义者(Connectionist)」,因为这种模型模拟了人脑的功能。神经网络模型通常是通过反向传播算法应用梯度下降训练的。目前神经网络有两大主要类型,它们都是前馈神经网络:卷积神经网络(CNN)和循环神经网络(RNN),其中 RNN 又包含长短期记忆(LSTM)、门控循环单元(GRU)等等。深度学习是一种主要应用于神经网络帮助其取得更好结果的技术。尽管神经网络主要用于监督学习,但也有一些为无监督学习设计的变体,比如自动编码器和生成对抗网络(GAN)。

数据挖掘技术

数据挖掘(英语:data mining)是一个跨学科的计算机科学分支 它是用人工智能、机器学习、统计学和数据库的交叉方法在相對較大型的数据集中发现模式的计算过程。 数据挖掘过程的总体目标是从一个数据集中提取信息,并将其转换成可理解的结构,以进一步使用。

朴素贝叶斯技术

朴素贝叶斯是一种构建分类器的简单方法。该分类器模型会给问题实例分配用特征值表示的类标签,类标签取自有限集合。它不是训练这种分类器的单一算法,而是一系列基于相同原理的算法:所有朴素贝叶斯分类器都假定样本每个特征与其他特征都不相关。举个例子,如果一种水果其具有红,圆,直径大概3英寸等特征,该水果可以被判定为是苹果。尽管这些特征相互依赖或者有些特征由其他特征决定,然而朴素贝叶斯分类器认为这些属性在判定该水果是否为苹果的概率分布上独立的。

监督学习技术

监督式学习(Supervised learning),是机器学习中的一个方法,可以由标记好的训练集中学到或建立一个模式(函数 / learning model),并依此模式推测新的实例。训练集是由一系列的训练范例组成,每个训练范例则由输入对象(通常是向量)和预期输出所组成。函数的输出可以是一个连续的值(称为回归分析),或是预测一个分类标签(称作分类)。

逻辑技术

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

支持向量机技术

在机器学习中,支持向量机是在分类与回归分析中分析数据的监督式学习模型与相关的学习算法。给定一组训练实例,每个训练实例被标记为属于两个类别中的一个或另一个,SVM训练算法创建一个将新的实例分配给两个类别之一的模型,使其成为非概率二元线性分类器。SVM模型是将实例表示为空间中的点,这样映射就使得单独类别的实例被尽可能宽的明显的间隔分开。然后,将新的实例映射到同一空间,并基于它们落在间隔的哪一侧来预测所属类别。

大数据技术技术

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

马尔可夫决策过程技术

马尔可夫决策过程为决策者在随机环境下做出决策提供了数学架构模型,为动态规划与强化学习的最优化问题提供了有效的数学工具,广泛用于机器人学、自动化控制、经济学、以及工业界等领域。当我们提及马尔可夫决策过程时,我们一般特指其在离散时间中的随机控制过程:即对于每个时间节点,当该过程处于某状态(s)时,决策者可采取在该状态下被允许的任意决策(a),此后下一步系统状态将随机产生,同时回馈给决策者相应的期望值,该状态转移具有马尔可夫性质。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

聚类技术

将物理或抽象对象的集合分成由类似的对象组成的多个类的过程被称为聚类。由聚类所生成的簇是一组数据对象的集合,这些对象与同一个簇中的对象彼此相似,与其他簇中的对象相异。“物以类聚,人以群分”,在自然科学和社会科学中,存在着大量的分类问题。聚类分析又称群分析,它是研究(样品或指标)分类问题的一种统计分析方法。聚类分析起源于分类学,但是聚类不等于分类。聚类与分类的不同在于,聚类所要求划分的类是未知的。聚类分析内容非常丰富,有系统聚类法、有序样品聚类法、动态聚类法、模糊聚类法、图论聚类法、聚类预报法等。

推荐文章
暂无评论
暂无评论~