【机器学习】神经网络概念篇

在大数据年代,各种机器学习算法的应用也日渐广泛。虽然在实际生产中只要调用各种成熟的算法库即可解决机器学习问题,但我们也需要对这些算法有概念上的了解。小编在这里就逐渐为大家带来各种经典算法的快速入门,希望大家有所收获。

悠久历史

神经网络是一个非常古老的传说。

自从40年代初心理学家 W.W.Mcculloch 和梳理逻辑家 W.Pitts 提出 M-P 模型以来,大家对其研究可谓是一波三折,跌宕起伏。神经网络不断地从「看好」到「被打击,到「被冷落」,再到「被看好」中循环。

以下列举了一些主要的神经网络发展的里程碑:

  1. 1957年,Rosenblatt 第一次建立神经网络感知模型。
  2. 1960年,B.Windrow 提出自适应线性单元,可用于自适应滤波,预测等。
  3. 1969年,M.Minsky 证明单层,甚至多层的神经网络感知能力有限,单层网络甚至不能解决抑或问题。
  4. 1982年,J.J.Hopfield 提出 hopfield 网络模型,首次引入网络能量。
  5. 1984年,Hinton 等人将模拟退火算法引入到神经网络中,提出了 Boltzmann 机网络模型。
  6. 1986年,D.E.Rumelhart 和 J.LMcclelland 提出了著名的 Backword-Propagation 算法。
  7. 1987年,R.Hecht - Nielsen 提出了对向传播神经网。
  8. 1992年,Holland 用模拟生物进化的方式提出了遗传算法, 用来求解复杂优化问题。
  9. 1995年,Mitra 结合模糊逻辑理论,概率论建立了模糊神经网络。
  10. 2006年,Hinton 等人提出深度学习,从此揭开了全新的一个篇章。

在学术界,神经网络作为一种以仿生模型开始建立的智能算法,一直有着较大的争议。

首先,不像 SVM 等经典算法,其本源上并没有一个清晰的数学模型;其次自从 1969 年 M.Minsky 提出单层甚至多层神经网络的感知能力有限后,人们对其有效性产生了很大的怀疑;再者,虽然神经网络模型比较容易理解,但是对其的训练却是 NP-Hard 问题,在实际应用中缺少了很多可行性。

当然,单纯地说神经网络只是人们对大脑探索的一个美好的梦不免过于偏颇;事实上,在解决很多复杂问题时神经网络一直有着很好的应用。

复杂问题

那么什么是复杂问题呢?

相对计算机而言,高难度的数值计算,方程求解是相对容易的问题;而连 1 岁小朋友都可以轻易做到的识别图片中的某一个物体,对传统计算机算法而言却是十分难。

对于那些「感性」,「模糊」,「定义不清」等不需要唯一精确结论的问题,绝大多数传统的算法都无能为力。

神经网络往往这在里大放异彩。

这种「复杂」的问题如果非要用数学来表示的话,那往往需要将问题所关心的对象投射到一个个非常高维度的向量之中(比如一张 n*m 大小的彩色图片,会被投射到 n*m 维度的向量,而每个像素的颜色则表示成每维向量的值),然后「模糊」地找出这些向量之间的关系或者是向量的特征。

对于经典的基于「图灵机」的算法而言,在如此庞大的问题空间中搜索,需要耗费的时间难以想象;而大脑这个大自然创造的「超大规模并行」神经网络,却往往可以在瞬间得到答案。

应用场景

说了一堆玄乎的道理,下面小编就来列举一些情况,帮助判断何时应当使用神经网络,何时有应该考虑其他方法。

首先我们先来看一下不该使用的情况:

  • 对于通过公式,步骤,状态机等描述的问题,应该考虑使用传统方法解决;
  • 对于问题答案都是很有限的问题,应该考虑通过查表解决;
  • 对于能通过专有硬件来解决的问题(比如真随机数生成等);
  • 你尝试要解决的问题会不断地向你无法预料的方向发展「进化」,因为某个类型的神经网络一般只擅长解决一类问题,不断发展的问题无法通过单一神经网络解决;
  • 对指定问题你如果不能十分容易地产生大量的输入输出数据,那神经网络将很难被训练成;
  • 对于那些要求精确解答的问题;

接着,我们再来看一些神经网络也许比较适合的场景:

  • 手中有着大量的被标记过的数据,但是你却对这些数据及其标记的逻辑关系无从下手;
  • 问题内部的约束或条件非常非常复杂(难以用常规方法表示),但你有能通过人类的直觉感到问题应该容易解决;
  • 对问题的答案没有精确要求,而且可以随着时间的改变做小范围的波动。

具体的应用场景来看,神经网络包括:分类,类聚,回归,异常识别,关联挖掘,特征学习等.

那么,那么机器人是否可以用一个神经网络来实现呢(模拟大脑)?

小编的答案是:你想多了。

当前的神经网络还无法单独撑起整个机器人的复杂功能。绝大多数的技能都是由人类对场景模式预编程的结果。包括你熟悉的 Siri,Cotana 等。当然,机器人在处理具体事务的时候,必然会借助神经网络来解决一些模式识别问题。

神经网络与 SVM

这是一个非常有争议的话题,在历史中已经被无数人折腾过了。小编在这里仅仅列一些已被绝大多数人接受的观点。

神经网络和 SVM 在智能算法发展史中代表着两个派别的泰斗级选手。现在绝大多数市面上所能看到的图像识别,行为预测,主题分类等领域的应用,无不是他们俩的身影。

二者在模型上的差异也是显而易见的:神经网络以仿生学起家,模型并非天然图灵机,而 SVM 则一出生便有着精确的数学模型。

正因如此,传统神经网络对比于 SVM 的一个最大的缺点便是它往往不易得到全局的最优解,而且在很多情况下其容易被不精确的训练数据给迷惑,也就是 Overfitting。其实这一点并不难理解,人类大脑也是非常容易被局部最优所误导。

SVM 天生不具备这些问题,而且由于其模型也更加适合图灵机表示,所以大多数情况下,SVM 的计算速度会快于神经网络。但 SVM 也有一些缺陷,比如 SVM 一般只适合做二元分类(元分类的 SVM 复杂度将会大大提高),而且我们必须人为地根据应用场景选择特定的 Kernel 函数。这点上说,神经网络并不需要人为其对数据经行分类降维选 Kernel 等操作,实为更加智能一些。

当然,也有研究指出,其实神经网络和 SVM 是互相等价的。比如,线性(Kernel) SVM 和单层的神经网络是等价的,而多层的神经网络又和 SVM 森林是等价的。

原文发布于微信公众号 - 数据科学与人工智能(DS_AI_shujuren)

原文发表时间:2015-12-06

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

【独家】深扒Yann LeCun清华演讲中提到的深度学习与人工智能技术(PPT+视频)

本文长度为3000字,建议阅读10分钟 本文为Yann LeCun在清华大学做的关于深度学习与人工智能技术的演讲梗概。 姚期智先生引言: 非常荣幸来给大家介...

23470
来自专栏AI科技评论

干货 | 2 分钟论文:神经网络开始自我学习,说是用了架构搜索新算法

来源 / Two Minute Papers 翻译 / 严谨文 校对 / 凡江 整理 / 雷锋字幕组 本期论文:结合分层表示的高级架构搜索 Hierarchic...

32470
来自专栏华章科技

深度学习卷积神经网络大事件一览

导读: 深度学习(DeepLearning)尤其是卷积神经网络(CNN)作为近几年来模式识别中的研究重点,受到人们越来越多的关注,相关的参考文献也是层出不穷,连...

12220
来自专栏新智元

【普华永道全息图解】机器学习演化史,方法、应用场景与发展趋势

【新智元导读】普华永道最近推出了一系列机器学习信息图示,很好地将机器学习的发展历史、关键方法以及未来会如何影响社会生活展现了出来。基础概念部分包括机器学习各大学...

40790
来自专栏AI科技评论

学界 | FAIR 田渊栋:2017 年的一些研究和探索

今年的主要研究方向是两个:一是强化学习及其在游戏上的应用,二是深度学习理论分析的探索。 今年理论方向我们做了一些文章,主要内容是分析浅层网络梯度下降非凸优化的收...

26240
来自专栏IT派

统计vs机器学习,数据领域的“少林和武当”!

虽然这两个学派的目的都是从数据中挖掘价值,但彼此“互不服气”。注重模型预测效果的人工智能派认为统计学派“固步自封”,研究和使用的模型都只是一些线性模型,太过简单...

10210

机器学习的稳健算法

机器学习通常被认为是解决困难问题的一个魔法解决方案,它将使我们从单纯的人类中解脱出来。但事实上,对于数据科学家和机器学习工程师来说,有很多问题比带有限规则集的图...

223110
来自专栏华章科技

人人都能看懂的机器学习!3个案例详解聚类、回归、分类算法

机器学习,一言以蔽之就是人类定义一定的计算机算法,让计算机根据输入的样本和一些人类的干预来总结和归纳其特征和特点,并用这些特征和特点和一定的学习目标形成映射关系...

12940
来自专栏人工智能头条

CNN太牛!微软计算机视觉在ImageNet挑战中首超人类视觉

24540
来自专栏人工智能LeadAI

基于自然语言识别下的流失用户预警

在电商运营过程中,会有大量的用户反馈留言,包括吐槽的差评,商品不满的地方等等,在用户运营生态中,这部分用户是最有可能流失也是最影响nps的人群,通过对其评价的语...

406130

扫码关注云+社区

领取腾讯云代金券