例1:房价预测
假设你有一个数据集包含了六栋房子的信息(面积,价格)。你想要拟合一个根据房屋面积预测房价的函数。
如果你对线性回归很熟悉,于是你可能会得到这样一条直线。
但价格永远不会是负数的。因此,为了替代一条可能会让价格为负的直线,我们把直线弯曲一点,让它最终在零结束。这条粗的蓝线最终就是你的函数,用于根据房屋面积预测价格。
在有关神经网络的文献中,你经常看得到这个函数。从趋近于零开始,然后变成一条直线。这个函数被称作ReLU激活函数,它的全称是Rectified Linear Unit。rectify(修正)可以理解成,这也是你得到一个这种形状的函数的原因。
我们把房屋的面积作为神经网络的输入(我们称之为x),通过一个节点(一个小圆圈),最终输出了价格(我们用y表示)。其实这个小圆圈就是一个单独的神经元。接着你的网络实现了上面这个函数的功能。
如果这是一个单神经元网络,不管规模大小,它正是通过把这些单个神经元叠加在一起来形成。
例2:房价预测
我们不仅仅用房屋的面积来预测它的价格,现在你有了一些有关房屋的其它特征,比如卧室的数量,邮政编码和周围富裕程度。
在图上每一个画的小圆圈都可以是ReLU的一部分,也就是指修正线性单元,或者其它稍微非线性的函数。
(1)基于房屋面积和卧室数量,可以估算家庭人口
(2)基于邮编,可以估测步行化程度或者学校的质量。
(3)邻居的富裕程度,可以估算学校的质量。
在这个情景里,家庭人口、步行化程度以及学校的质量都能帮助你预测房屋的价格。以此为例, 是所有的这四个输入, 得到了三个神经元,把这些单个的神经元叠加在一起,我们就有了一个稍微大一点的神经网络。它可以需要你得到房屋面积、步行化程度和学校的质量,或者其它影响价格的因素。
当你实现它之后,你要做的只是输入x,就能得到输出y。因为它可以自己计算你训练集中样本的数目以及所有的中间过程。所以,你实际上要做的就是:这里有四个输入的神经网络,这输入的特征可能是房屋的大小、卧室的数量、邮政编码和区域的富裕程度。给出这些输入的特征之后,神经网络的工作就是预测对应的价格。
同时也注意到这些隐藏单元圆圈,在一个神经网络中,它们每个都从输入的四个特征获得自身输入。因此,我们说输入层和中间层被紧密的连接起来了。
当给予神经网络足够多的训练数据x和y,神经网络可以计算从x到y的精准映射函数。