介绍神经网络的基本概念,并用预测房屋价格进行举例
假设你有一个房屋价格的数据集,x轴代表房屋的面积,y轴代表房屋的价格。你想要拟合一个函数以预测房屋价格和房屋面积之间的关系。
如果你熟悉线性函数的话,你可能会说,让我们画一条直线来拟合图上的数据把。如果你想让曲线更加符合现实的话,你应该知道,房价不可能小于0,所以在y轴接近0处,可以画一条直线,右边是预测房屋价格的直线。
你可以把预测房价作为一个简单的神经网络,这也是最简单的神经网络之一了,假设把房屋面积x进行输入到一个黑盒,输出房屋价格y,这个黑盒就是神经网络的一个神经元,也是我们图上画的这个函数。
你可以看到图上这个函数,有时会变成0,有时变化成一条直线,这个在神经网络中称之为ReLu函数,这个也是神经网络中常见的一种函数。
如果把上述函数当作一个神经元的话,把多个神经元组合在一起就会形成一个较大的神经网络,就像拼乐高积木一样,一块块积木可以搭建出你的乐高帝国。
让我们来看一个例子,假设你有一些其他的特征,如面积、卧室的数量、邮政编码(房屋位置)、周围房单价。基于几个特征我们可以得到一个神经元,如房屋大小和卧室数量可以确定家庭成员数量,邮政编码和周围房单价可以确定房屋周围学校质量,这些神经元都是通过ReLU、修正线性或非线性函数获得。在这个例子中,我们输入的x有面积、卧室数量、邮政编码、单价,输出的y为房屋价格,计算将由神经网络完成。在现实中,实际模型可能会比这个大得多,输入x也更加复杂
在输入四个对应的x特征后,神经网络将产出三个隐藏层,在以下图示例中,第一个隐藏层单元我们将它定义为家庭成员数量,由面积和卧室数量决定,你也可以告诉神经网络,第一个隐藏层单元你可以决定这个单元是什么,也可以决定输入的特征与单元的联系。值得注意的是,只要由足够的x y训练数据,神经网络很容易找到对应的函数
引用:
1. Cousera, Andrew Ng, Neural Networks and Deep Learning, Coursera | Online Courses & Credentials From Top Educators. Join for Free | Coursera