各位如果看到博客内有广告,可以动手点一点,谢谢

MENU

What is a Neural Network

March 27, 2019 • Read: 366 • Deep Learning

让我们从一个房价预测的例子开始讲起

假设你有一个包含六栋房子信息的数据集。信息中包含房屋的面积以及房屋价格。这时,你想要根据房屋面积拟合一个预测房价的函数

如果你对线性回归($Linear\ Regression$)很熟悉,你可能会说:“好吧,让我们用这些数据拟合一条直线。”于是你可能会得到这样一条直线

你可能也发现了,我们知道价格永远不会是负数的。因此,为了替代一条可能会让价格为负的直线,我们把直线弯曲一点,让它最终在零结束

这几乎可能是最简单的神经网络,我们把房屋的面积作为神经网络的输入($x$),通过一个节点(一个小圆圈),最终输出了价格($y$)。这个小圆圈就是一个单独的神经元。接着你的网络实现了左边这个函数的功能

在有关神经网络的文献中,你会经常看到这样的函数。从趋近于零开始,然后变成一条直线。这个函数被称作$ReLU$激活函数,它的全称是$Rectified\ Linear\ Unit$。$rectify$(修正)可以理解成$max(0, x)$

再看一个例子,假设现在你有了一些有关房屋的其它特征,比如卧室的数量、家庭人口

邮政编码也能作为一个特征,它会告诉你步行化程度。比如这附近是不是高度步行化,你是否能步行去杂货店或者是学校,有些人喜欢居住在以步行为主的区域。另外,邮政编码还和富裕程度相关(在美国是这样)

图上每一个小圆圈都可以是$ReLU$的一部分,或者其它非线性的函数。基于房屋面积和卧室数量,可以估算家庭人口;基于邮编,可以估计步行化程度或者学校的质量。最后这些决定人们乐意花费多少钱

对于一个房子来说,这些都是与它息息相关的事情。在这个情景里,家庭人口、步行化程度以及学校的质量都能帮助你预测房屋的价格。以此为例, $x$是所有的这四个输入, $y$是你尝试预测的价格,把这些单个的神经元叠加在一起,我们就有了一个稍微大一点的神经网络

神经网络的一部分神奇之处在于,当你实现它之后,你要做的只是输入$x$,就能得到输出$y$。因为它可以自己计算你训练集中样本的数目以及所有的中间过程。所以,你实际上要做的就是:给出输入的特征之后,这三个隐藏单元的圆圈,它们每个都从四个特征获得输入,比如说,第一个结点代表家庭人口,而家庭人口仅仅取决于$x_1$和$x_2$特征

这就是一个基础的神经网络。你可能发现你自己的神经网络在监督学习的环境下是如此的有效和强大,也就是说你只要尝试输入一个$x$,即可把它映射成$y$

Archives Tip
QR Code for this page
Tipping QR Code