机器学习

深度长文:关于AI,你最该了解可也许从没想过的四个问题

在过去的几年里,我们一直在讨论人工智能(AI)将如何拯救或摧毁世界:自驾车有利于保护我们的生命; 社交媒体泡沫将破坏民主;机器烤面包机会让人类连烤面包的能力都丧失。

你可能很清楚,这其中的一些是无稽之谈,一些是真实的。但是,如果你没有深入地沉浸在这个领域,可能很难分辨孰真孰假。虽然对于想要学习人工智能编程的人来说,互联网上有大把的启蒙教程,但对于不想成为软件工程师或者数据专家的人来说,却缺乏对于人工智能的概念的了解,以及它所面临的社会上和伦理学上的挑战。

如果全社会真的要讨论人工智能,我们就需要解决这个问题。所以今天我们要谈谈人工智能的现实:它能做什么,不可能做什么,未来可能可以做些什么,以及它带来的一些社会、文化和道德方面的挑战。我不会涵盖每一个可能的挑战; 其中的一些,譬如泡沫和虚假信息,大的需要一整篇文章来解释。但是,我会给你们足够的例子说明我们所面临的真正的问题,你们就能够独立提出自己的问题。

我先给大家剧透一下: 大多数最难的挑战不是来自于技术。人工智能最大的挑战往往始于,它迫使我们编程时不得不非常明确地表达我们的目标 ,几乎没有别的事情会这样——而有的时候,我们并不想对自己说实话。

1、人工智能和机器学习

AI实践者需要掌握的10大深度学习方法

过去10年,人们对机器学习的兴趣激增。几乎每天,你都可以在各种各样的计算机科学课程、行业会议、华尔街日报等等看到有关机器学习的讨论。在所有关于机器学习的讨论中,许多人把机器学习能做的事情和他们希望机器学习做的事情混为一谈。从根本上讲,机器学习是使用算法从原始数据中提取信息,并在某种类型的模型中表示这些信息。我们使用这个模型来推断还没有建模的其他数据。

神经网络是机器学习的一种模型,它们至少有50年历史了。神经网络的基本单元是节点(node),基本上是受哺乳动物大脑中的生物神经元启发。神经元之间的连接也以生物的大脑为模型,这些连接随着时间的推移而发展的方式是为“训练”。

在20世纪80年代中期和90年代初期,许多重要的架构进步都是在神经网络进行的。然而,为了得到好的结果需要大量时间和数据,这阻碍了神经网络的采用,因而人们的兴趣也减少了。在21世纪初,计算能力呈指数级增长,计算技术出现了“寒武纪大爆发”。在这个10年的爆炸式的计算增长中,深度学习成为这个领域的重要的竞争者,赢得了许多重要的机器学习竞赛。直到2017年,这种兴趣也还没有冷却下来;今天,我们看到一说机器学习,就不得不提深度学习。

人工智能和机器学习有什么区别?

人工智能(AI)和机器学习(ML)现在是两个非常热门的流行语,通常似乎可以互换使用。但这二者并不完全一样,但是有时会导致人们的看法有一些混乱,因此需要解释这二者之间的区别。当大数据、数据分析,以及更广泛的技术变革浪潮席卷全球时,这两个术语都会频繁出现。总之,最好的答案是:人工智能是一种机器能够以人们认为“聪明”的方式执行任务的更广泛的概念。而且,机器学习是人工智能的一个最新应用,它基于这样一个想法:真的应该能够让机器访问数据,让他们自己学习。

早期的发展

人工智能已经存在了很长一段时间——希腊神话中就有模仿人类行为的机械人的故事。早期的欧洲研发的计算机被认为是“逻辑机器”,通过复制诸如基本算术和记忆等功能,工程师们从根本上认为他们的工作是试图创造机械的大脑。

作为技术,重要的是,人们对于人类的思想如何运作的理解已经取得了进展,我们对人工智能的构想的概念发生了变化。人工智能领域的工作不是日益复杂的计算,而是集中于模仿人类决策过程和以更具人性化的方式执行任务。

人工智能设备被设计成为具有智能行为的设备通常被分为两个基本群体之一——应用型或通用型。应用人工智能则是更为常见的,例如,智能地交易股票和股票的系统,或操纵自主车辆的系统将属于这一类。

机器学习工具:Python 和 Numpy入门

写在前头

我们一般都是从C语言开始学起的,后来发现C语言不能满足我们快速开发的需求,因为它的API使用起来不很方便,还有就是有些功能亟待扩展,这时候我们很多人选择了C++或Java,C#,这些更高级的语言让我们开发软件时,使用起来更方便了。如今,随着人工智能时代的到来,Python迅速成为了机器学习,深度学习的必备语言,流行的机器学习库,sklearn,完全是基于Python开发的API,深度学习库tensorflow也是对Python的支持最好。

由此可见,随着时代的发展,各种语言不断迭代,顺应时代的需求。这样看来,作为开发者的我们除了要学习机器学习,深度学习的一些理论和算法的同时,还得去学各种语言,真的看起来很辛苦,有时候好不容易学会一门语言后,它已经又被新的语言迭代掉了。

实际上,当你深入了掌握一门语言后,再学起其他语言来就会相对更快,与那些从来没接触一门编程语言的来比起来。这是为什么呢?

原来,任何一门语言,本质上都是语言定义的内置类型和相关的API,及我们的扩展自己所需要的类型及定义的方法。

因此,我们只需要把握住两点就能很快入门这门语言:
• 基本数据类型及封装的API
• 库内定义通用API,如文件处理等

如何向普通人解释机器学习、数据挖掘

随着数据科学在人工智能发展中大放异彩,数据挖掘、机器学习进入了越来越多人的视野。而对于很多人来说,诸如机器学习之类的名次听起来是神乎其技,但其真正的内涵却不为一般人所知。

特别是对于从事数据科学领域的人来说,如何向外行人解释自己所从事的工作几乎是一个超级难题。那么到底什么是机器学习,如何用通俗易懂的语言来解释?我们通过以下几重境界来解释。

一、专业理论型

百科定义+专业术语,让人听起来不明觉厉,实则一脸懵逼

机器学习(Machine Learning, ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

它是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域,它主要使用归纳、综合而不是演绎。

机器学习已经有了十分广泛的应用,例如:数据挖掘、计算机视觉、自然语言处理、生物特征识别、搜索引擎、医学诊断、检测信用卡欺诈、证券市场分析、DNA序列测序、语音和手写识别、战略游戏和机器人运用。

对于机器学习,到底该选择哪种编程语言?

开发者到底应该学习哪种编程语言才能获得机器学习或数据科学这类工作呢?这是一个非常重要的问题。我们在许多论坛上都有讨论过。现在,我可以提供我自己的答案并解释原因,但我们先看一些数据。毕竟,这是机器学习者和数据科学家应该做的事情:看数据,而不是看观点。

让我们看一些数据。我将在Indeed.com上使用趋势搜索。它可以根据时间搜寻实际工作机会中特定的条款。这表明了雇主们正在寻找拥有该技能的人才。然而,请注意,这并不是一项有效使用技能的民意调查。这种指标更能体现技能的受欢迎程度。

话不多说,上数据。我搜索了与“机器学习”和“数据科学”一起使用的技能,搜索选项包括编程语言Java、C、C+++和JavaScript。然后还包括了Python和R,因为我们知道它在机器学习和数据科学方面很受欢迎,当然还有Scala,考虑到它与Spark的关系,再加上Julia,一些开发中认为这是“the next big thing”。运行这个查询,我们得到的数据如下:

对于机器学习,到底该选择哪种编程语言

学懂GAN的数学原理,让它不再神秘

知乎上有个讨论,说学数学的看不起搞深度学习的。曲直对错不论,他们看不起搞深度学习的原因很简单,因为从数学的角度看,深度学习仅仅是一个最优化问题而已。比如,被炒的很热的对抗式生成网络(GAN),从数学看,基本原理很容易就能说明白,剩下的仅仅是需要计算资源去优化参数,是个体力活。

本文的目的就是尽可能简单地从数学角度解释清楚GAN的数学原理,看清它的庐山真面目。

1,从生成模型说起

机器学习的模型可分为生成模型和判别模型。

简单说说二者的区别,以二分类问题来讲,已知一个样本的特征为x,我们要去判断它的类别y(取值为0,1)。也就是要计算p(ylx),假设我们已经有了N个样本。

计算p(ylx)的思路有两个,一个就是直接求,即y关于x的条件分布,逻辑回归就是这样干的。凡是按这种思路做的模型统一称作判别模型

另一个思路是曲线救国,先求出x,y的联合分布p(x,y),然后,根据p(ylx)=p(x,y)/p(x)来计算p(ylx),朴素贝叶斯就是这样干的。凡是按这种思路做的模型统一称作生成模型。

那么,GAN属于什么呢?答案是生成模型,因为它也是在模拟数据的分布。

大规模机器学习框架的四重境界

作者:carbon zhang

1. 背景

自从google发表著名的GFS、MapReduce、BigTable三篇paper以后,互联网正式迎来了大数据时代。大数据的显著特点是大,哪里都大的大。本篇主要针对volume大的数据时,使用机器学习来进行数据处理过程中遇到的架构方面的问题做一个系统的梳理。

有了GFS我们有能力积累海量的数据样本,比如在线广告的曝光和点击数据,天然具有正负样本的特性,累积一两个月往往就能轻松获得百亿、千亿级的训练样本。这样海量的样本如何存储?用什么样的模型可以学习海量样本中有用的pattern?这些问题不止是工程问题,也值得每个做算法的同学去深入思考。

1.1简单模型or复杂模型

在深度学习概念提出之前,算法工程师手头能用的工具其实并不多,就LR、SVM、感知机等寥寥可数、相对固定的若干个模型和算法;那时候要解决一个实际的问题,算法工程师更多的工作主要是在特征工程方面。而特征工程本身并没有很系统化的指导理论(至少目前没有看到系统介绍特征工程的书籍),所以很多时候特征的构造技法显得光怪陆离,是否有用也取决于问题本身、数据样本、模型以及运气。

一文读懂深度学习与机器学习的差异

如果你经常想让自己弄清楚机器学习和深度学习的区别,阅读该文章,我将用通俗易懂的语言为你介绍他们之间的差别。
机器学习和深度学习变得越来越火。突然之间,不管是了解的还是不了解的,所有人都在谈论机器学习和深度学习。无论你是否主动关注过数据科学,你应该已经听说过这两个名词了。

为了展示他们的火热程度,我在 Google trend 上搜索了这些关键字:

一文读懂深度学习与机器学习的差异

如果你想让自己弄清楚机器学习和深度学习的区别,请阅读本篇文章,我将用通俗易懂的语言为你介绍他们之间的差别。下文详细解释了机器学习和深度学习中的术语。并且,我比较了他们两者的不同,别说明了他们各自的使用场景。

什么是机器学习和深度学习?

让我们从基础知识开始:什么是机器学习?和什么是深度学习?如果你对此已有所了解,随时可以跳过本部分。

什么是机器学习?

适合入门的8个趣味机器学习项目

谈到机器学习,相信很多除学者都是通过斯坦福大学吴恩达老师的公开课《Machine Learning》开始具体的接触机器学习这个领域,但是学完之后又不知道自己的掌握情况,缺少一些实际的项目操作。对于机器学习的相关竞赛挑战,有些项目的门槛有些高,参加后难以具体的实现,因此造成自己对机器学习的热情逐渐衰减。大部分都经历过这个过程,一直想找一些练手的项目,最典型的练手项目比如手写体识别等,但这类的项目成熟得不能再成熟了,参考别人的网络模型跑一下实验,结果的准确率都快达到100%,学习调参的机会比较少,因此都想找一些适合初学者的项目练手。下面将给大家带来8个适合初学者学习的有趣的机器学习项目。

将自己的时间花在项目上是最好的一种投资方式,在项目中你会享受学习、保持积极性并取得更快的进展。没有任何理论可以代替实践,虽然教材和课程能让你掌握一些基本原理,但在尝试应用时,你会发现具体操作起来比较困难。因此项目有助于提高应用机器学习的技巧,此外在找工作中也会给自己增添一些筹码。

以下将具体介绍这8个项目,其中的任何一个项目都能在一个周末完成,如果你喜欢的话,可以对其进行相关的扩展。

1.机器学习的角斗士

同步内容
--电子创新网--
粤ICP备12070055号