zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

#科研筑基# 吴恩达深度学习 课程笔记 1.2 什么是神经网络

2023-04-18 16:45:35 时间

引例

这门课的名字叫深度学习,为什么我们要先介绍神经网络呢?那是因为,深度学习指的就是训练神经网络的过程。这个粗浅的定义句里,包含了三个咱们陌生的词语,我们用下面的例子来解释一下。

问题

给定一个包含了六栋房子信息的数据集,取其中的房屋面积和房价,求房价关于房屋面积的函数,用来根据房屋面积预测房价。

*数据集

数据集是一个数据的集合,通常以表格的形式出现,其中每一列代表一个类型的变量,每一行代表样本空间中的一个成员:

题解

建立一个平面直角坐标系,x轴表示房屋面积,y轴表示房价,将数据集作为一个一个点标在坐标系上:

根据这些离散的点,我们可以拟合出一条经过原点的曲线(在数据集中的地方类似直线),由此得到的函数就可以帮我们预测不同面积房子的价格了。

抽象

在深度学习领域,这样的一个函数就是最简单的神经网络。

在数学中,我们输入x,经过预测函数,最终输出y;

而在深度学习中,我们输入表示房屋面积的数据,通过一个神经元,最终输出表示房价的数据;

一般来说,神经网络是由神经元组成的,因此这样单独的一个神经元被视为最简单的神经网络。

当然,现实生活中,影响房价的因素远远不止房屋面积,用这样一个简单的神经元不足以精准地预测房价,这就需要构建更多的神经元,它们像搭积木一样叠加起来,就成为了一个更大的神经网络。

复杂化问题

给定一个数据集,其中不仅有房屋面积和房价,还有更多的表示可影响房价因素的数据:家庭人口、临近学校质量和家庭资产。根据这些数据,求得预测房价的函数。

建模

四种类型的数据作为输入,这些数据称为特征值,而房价作为输出,输入和输出中间的部分就是我们要建立的神经网络(见下图),中间层的三个圆圈是我们想要得到的、更加能说明房价的因素的数据,而后的椭圆则是直接影响房价的唯一因素。

这样就完成了一个大型的、较为复杂的神经网络的构建,其中的每一个圆圈或椭圆就是一个函数,也可以说是一个神经元,它们的叠加作用就可以帮我们计算出房价。

如果给予神经网络足够多的x和y数据,它会计算出十分精确的房价预测函数。这样输入大量数据、根据数据微调函数的过程,就称为学习,而学习就会使得神经元层次数越来越大,也可以说是越来越深,于是这样的过程就叫做深度学习。我们将数据喂给神经网络、神经网络吃下数据这些动作,就是训练。

为什么我们要将这样一个系统称为神经网络呢?这是因为,构建这样一个系统,就是模拟人类的神经网络,就如同电模拟人的大脑,人工智能是模拟人类的智能。