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

栏目: 数据库 · 发布时间: 5年前

内容简介:在过去的几年里,人们对机器学习重新产生了兴趣。 这种复兴似乎是由强大的基础因素推动的 - 全球传感器正在产生大量数据,低廉的存储成本和最低的计算成本!然而,并非每个人都了解机器学习是什么。这里有一些例子:https://discuss.analyticsvidhya.com/t/what-is-machine-learning-and-how-is-it-different-from-big-data-and-business-analytics/306

介绍

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

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

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

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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Unix/Linux编程实践教程

Unix/Linux编程实践教程

Bruce Molay、杨宗源、黄海涛 / 杨宗源、黄海涛 / 清华大学出版社 / 2004-10-1 / 56.00元

操作系统是计算机最重要的系统软件。Unix操作系统历经了几十年,至今仍是主流的操作系统。本书通过解释Unix的工作原理,循序渐进地讲解实现Unix中系统命令的方法,让读者理解并逐步精通Unix系统编程,进而具有编制Unix应用程序的能力。书中采用启发式、举一反三、图示讲解等多种方法讲授,语言生动、结构合理、易于理解。每一章后均附有大量的习题和编程练习,以供参考。 本书适合作为高等院校计算机及......一起来看看 《Unix/Linux编程实践教程》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具