1. 神经网络基础:概念及思想


1、什么是神经网络(Neural Network)

“深度学习指的是训练神经网络”

从一个房价预测的例子开始:

如果我们已知一些房屋的价格和面积,我们可以通过线性回归的方法,拟合一条直线,从而找到一个函数,使得我们可以通过房屋的面积来预测房屋价格。但是根据实际,房屋的价格是不能为负数的,因此单纯的直线并不合适,最终的函数(function)是这样的:

这就是一个简单的神经网络(Neural Network),我们把方位的面积信息作为输入,称之为x,通过这个节点(node),最后输出了价格,用y表示,这个节点(node)就是一个独立的神经元(neuron)。通过这个神经网络(虽然只有一个神经元节点),可以实现上面的房屋价格函数的功能,即输入面积,完成线性运算,取不小于0的值,并最终输出预测价格。

graph LR A((房屋面积))-->B((预测Node)) B-->C((房价))

在神经网络文献中经常会见到这种初始值是0,而后是一条直线的函数,这个函数被称为ReLU(Rectified Linear Unit,修正线性单元)函数,这个函数在后面会经常见到。

神经网络就是由很多如上面的输入——节点——输出神经元,像乐高积木一样堆叠而成的。

来看一个例子:

graph LR A((房屋面积))-->C((家庭空间)) B((卧室数))-->C D((地理位置))-->F((通勤时间)) E((交通))-->F C-->G((房屋价格)) F-->G

如果不仅仅通过房屋面积来预测价格,我们现在还知道了房屋的其他特征,卧室数量,邮编号码,周边富裕程度等信息时,神经网络可能是上图的样子。

其中,取决于房屋面积的卧室数量可以获知可以入住的家庭成员数,邮政编码可以获知步行化程度以及附近学校质量,富裕程度也可以获知学校质量。而可入住人数,步行化程度,学校质量综合决定房屋的价格。

上例中,输入x是四种信息,输出y时预测价格,把这些独立的神经元叠加起来,就变成了一个稍大的神经网络。神经网络的一个神奇之处就在于,当实现它之后,我们要做的就只有输入X,就能得到输出y,不管训练集有多大。

神经网络的工作就是,输入x的四种信息,输出对应的预测价格y,而中间的三个节点,被称为隐藏单元(hidden units),每个输入都同时来自四个输入特征。神经网络中需要其自己决定每一个节点是什么,而不是人为规定如家庭成员 = 房屋面积x1 + 卧室数量x2。

需要注意的是,神经网络需要我们喂给它足够多的数据,即(x,y)训练样本,它非常擅长做计算从x到y的精准映射函数。

2、用神经网络进行监督学习(Supervised Learning)

目前很多神经网络所取得成就都基于一种机器学习,“监督学习(Supervised Learning)”。

在监督学习中,输入x,习得一个函数,映射到y,比如我们之前预测房价的函数。另外一个例子就是在线广告,给网站输入广告信息,网站会考虑是否给你看这个广告,有时还需要输入一些用户信息,神经网络会预测你是否会点击这个广告,以及你最有可能点开的广告。

另外深度学习在图像识别和语音识别,机器翻译,自动驾驶等领域都得到了应用。

在房地产价格预测和在线广告领域,使用的都是标准神经网络(standard neural network, SNN),在图像识别领域常用卷积神经网络(convolutional neural network, CNN),而对于序列数据,如音频等含有一维时间序列的数据,常用循环神经网络(recurrent neural network, RNN),对于更复杂的如无人驾驶等应用,其中的图像信息处理可能需要CNN网络,而雷达信息处理则不同,此时需要用到混合神经网络结构(hybrid neural network)。

结构化数据(Structured Data)和非结构化数据(Unstructured Data),结构化数据意味着每一个每个特征都有清晰的定义,如房价预测中的面积,卧室数量,价格等特征。相反非结构化数据,如音频、图像等,这里的特征,可能是图像中的像素值或者文本中的某个单词。非结构化数据与结构化数据相比,更难让计算机理解。但是相反的,人类却很擅长理解非结构化数据。通过神经网络,我们终于能让计算机也能更好的解释非结构化数据,由此才能产生图像识别、音频识别、自然语言处理等应用。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM