什么是神经网络?
作者: default|标签:神经网络 什么|2017-12-23 16:02
深度学习这个词指的是训练神经网络。深代表着非常大的神经网络。那么神经网络到底是什么呢?看了这篇文章后你就会有很直观的认识了。本文主要介绍了简单了解什么是神经网络,具有一定借鉴价值,需要的朋友可以参考下。

我们从一个房价预测的例子开始吧。因为现在房价太他妈贵了,早8年前我父母说帮我在北京买个房,我觉得不能靠家里人,所以拒绝了,现在想想,我就是个傻逼,那时候买了,我现在就不用写博客了~~

据说房价都是国人自己炒的,但除了炒作,还是有些真实因素影响着房价的,通过对这些因素进行分析,我们就可以预测房价。假设你有一个数据集(六个房屋的面积和价格)。你想要找到一个方法(即构建一个函数)来通过面积预测出价格。如果你熟悉线性回归(不熟悉也没关系,你就把它看作是一个数学理论),那么可以根据这个理论在实际数据附近画出一条直线,如上图中红色的线,它附近的蓝色的小圆圈代表着六个房子的面积与房价对应的点,即根据这条线(这个函数)来找某一个面积对应的房价,那么除了些误差外,基本上是准的。另外我们知道价格永远不会是负的,除非你是黑社会,占了别人的房子还要让别人给你钱。所以,当面积为零,价格也为零,所以上面的直线要拐个弯。你可以把上面这个根据面积来预测价格的函数看作一个非常简单的神经元网络(这几乎是最简单的神经元网络)。如右边的图,黄色的圈为一个神经元,房子的大小为x,它作为输入进入这个神经元,然后神经元输出房价y。

在神经网络相关文献中,你会经常看到这个函数(上面红色的线)。这个函数在一定时间内为0,然后突然起飞飙升。它被称为线性单元函数(ReLU ,全称为rectified linear unit)。现在不懂没有关系,后面慢慢就懂了!

上面用面积预测房价的例子是一个单神经元的小得不能再小的神经网络,通过将多个这样的神经元堆叠在一起就可以形成更大的神经网络。你可以认为一个神经元就像一个积木块,你可以通过将许多这样的积木块堆叠在一起来获得一个更大的神经网络。就房价的例子来说,如上图,影响房价的因素不仅仅只有面积,还有例如卧室的数量。除了面积,卧室的数量也决定了房屋是否适合你的家庭,例如家里有3个人或5个人。另一个因素是邮政编码。邮政编码在这里代表了地理位置,地理位置繁华,那么生活会方便一些。然后还有一个因素是学校质量等级,在中国素有学区房一说。这些因素,我们也称之为特征。根据面积以及卧室的数量,可以推算是否满足家庭大小。根据邮政编码,可以估算生活便利性,包括去学校的便利性。最后学校等级可以评估教育质量。人们在买房时会考虑这四个因素,即它们决定了房价,还有他妈的炒作,这里我们暂时忽略炒作这个因素吧。所以在这个例子中,x是代表了这4个输入,y是要预测的价格。上面左图是我们人为分析的过程,我们分析出哪些输入会影响家庭大小的匹配度、生活便利性、教育质量,进而得出心中的价格。神经网络之所以神奇的一点是,我们只需要提供输入x(面积,卧室数量…)以及想要得到的结果y(房价),以及用于训练的真实数据(上面六个房子的面积,卧室数量…以及价格),那么中间部分的家庭大小匹配度、生活便利性、教育质量都会由神经网络自己根据实际数据训练而得出,如右图。当你再次输入第7个房子的特征(面积,邮编…)后,这个神经网络会根据之前训练好的中间部分给出你最终的房价。即神经网络的内部过程取代了人类的分析过程。再举一个例子,例如当我们教小孩子认识猫时,我们拿来一些白猫,告诉他这是猫,再拿来一些黑猫,告诉他这也是猫,然后拿来一些狗,告诉他这不是猫,最后拿来一些花猫,问他,他会告诉你这是猫,但是他是怎么知道的?这个中间的判断过程是怎么样的?我们不知道。这就是为什么说神经网络很恐怖的原因——它的工作原理太像人类了——我们都不知道它内部具体是如何运作的,即我们不知道它是怎么想的,就像我们不知道小孩具体是如何分辨猫和狗的。马斯克说人工智能很危险,可能会毁灭人类也不无道理。

上面所说的中间部分的神经元称为隐藏神经元。可能你注意到了,右图的神经网络中,每一个隐藏神经元都获取了所有特征输入。左图中,是我们人的分析过程,我们分析出面积和卧室数这两个特征与家庭大小有关,而在右图中,我们把所有特征都提供给每个隐藏神经元,让神经网络自己来分析哪些特征会从哪些方面影响房价。说不定神经网络的分析比人类更高效更全面,之前看到过一个新闻,Facebook的神经网络自己发明了一种沟通方式,因为它觉得用人类的语言沟通起来效率太低~~

相关推荐:

怎样用Python实现两层神经网络和感知器模型

详解神经网络理论基础及Python实现方法

JavaScript 实现简单的神经网络算法图文详解

以上就是什么是神经网络?的详细内容,更多请关注php中文网其它相关文章!

278
点赞
收藏
分享:
0/300