What is a neural network?
Last updated
Was this helpful?
Last updated
Was this helpful?
深度学习 一般指的是训练神经网络 有时是非常非常大(深)的神经网络 那 什么叫做 神经网络 呢? 这个视频将试图给你一些它的基本知识
让我们从 房价预测 这个例子来开始 让我们假设你有一个 包含六个房子的数据的数据集 所以我们可以知道 房子的大小(多少平方)和对应的价格 我们想要用一个函数 来根据房子的大小来预测价格 所以 如果你熟悉线性回归的话 那你可能会说 好吧 我们用一条直线来拟合这些数据 所以我们就可以得到一条像这样的直线 但是这里有一点有趣的地方 你可能会说 我们知道价格 是不可能是负数的 而如果用直线的话 总会有负数存在 所以我们在这里把直线折一下 让其在这里归零 那么 这根粗的蓝色的线就是你用来 根据房子的大小来 预测房子的价格的函数(图像) 嗯所以 这边是零 而另一边是一条直线
你可以把这个你刚才 根据房价拟合出这个方程 当做一个很简单的神经网络 这个几乎是最简单的神经网络了 让我来把它画在这里
我们用房子的大小 x 作为对神经网络的输入 它进入到这个节点(这个小圈)中 然后这个小圈就输出了房价 我们叫做 y 所以这个小圈 也就是一个神经网络中的一个神经元 就会执行我们刚刚 在左边的图中画出的这个方程
并且所有的神经元都会做同样的事情 以房屋的大小作为输入 计算这个线性方程 结果取max(0, y) 然后输出估计价格
而且在神经网络的文献中 你会经常看到这个函数 这个方程的输出结果前部分是零 后部分是直线 这样的一个方程我们叫做 ReLU 函数 意思是线性整流函数 (Rectified Linerar Unite) 所以 ReLU 以及整流 就意味着取max(0, y) 这也是你 会看到这样一个形状的函数图象的原因
你暂时不需要担心理解 ReLU 函数 我们在之后的课程中还会再看到它 所以如果这个是一个 单一神经元的话 这就是一个 非常非常小的神经网络 而一个很大的神经网络 是由许多这样的单一神经元叠加在一起组成 所以 如果你把这个神经元当做一个乐高积木 你可以通过搭建很多这样的乐高积木 来组成一个较大的神经网络 一起看个例子
假设我们不仅仅 根据房屋大小来预测房屋价格 我们现在有别的特征量(用来预测) 你知道房子的别的一些东西 例如卧室的数量 我写作 #bedroom 而且你可能会觉得 家庭的大小(人口)也会影响房屋价格 所以这个房子能够 容纳你的三口或者四口 甚至五口之家吗 而这个因素(能够容纳的家庭大小) 其实是取决于房屋大小以及 卧室的数量 这两个因素决定了 这个房子是否能够容纳你的家庭 另外你可能知道邮政编码 在不同的州(美国) 它也被称为一个房子的邮政编码 而且邮政编码可能可以 告诉你它步行的便利程度 比如在这里生活是否便利? 像是走到杂货店方便么 能走到学校吗 你是否需要开车? 而且有些人可能偏爱步行比较便利的街区 接下来 邮政编码以及(街区)富裕程度 在美国和其他国家都是这样的 (这个可以)告诉你(附近)学校的质量好坏 所以我画的每一个小圆圈 都可以是这些 ReLU 函数 线性整流函数或者一些 别的非线性函数中的一个 所以基于房间的大小 卧室数目 你可以估计出家庭的大小 (根据)他们的邮政编码 估计步行便利性 基于邮政编码和富裕程度 可以估计(周围的)学校质量 最后你估计察觉到了 人们判断他们究竟要为了 房子花多少钱 是取决于他们究竟看重哪些东西 在这个案例中 (他们看重的是) 房屋大小 步行便利性以及学校质量 (这些)都能帮助你去预测房价
所以在这个例子中 x 表示所有这四个输入 (房屋大小 卧室数量 邮政编码 富裕程度) 4:53 而y就是你试图去预测的价格
所以通过堆叠一些 单一神经元 或者说我们之前的 ppt 中的简单预测器 我们可以得到一个稍微大些的神经网络 你如何管理神经网络呢? 就是说当你实现(搭建)它的时候 你只需要给它你 训练集中的大量的例子 的输入 x 以及对应的输出 y 而所有这些在中间的东西 他们(神经网络)将会自己搞清楚
所以你实际需要做的是这个 这里 你有一个有四个输入的神经网络 所以输入特征可能是 房屋大小 卧室数量 邮政编码以及居住地的富裕程度 所以给定这些输入参数 神经网络的工作就是预测价格 y 注意 这里的每个小圆圈 都叫做神经网络中的 隐藏神经元 其中的每一个神经元 都将所有的四个特征当作输入 所以 举例来说 与其说第一个节点代表家庭人数 而家庭人数仅仅 依赖于特征 x1 和 x2 不如说 在神经网络中 神经网络自己来决定 这些网络节点是什么 我们将会给你所有的四个特征 来完成你想要的任务 所以我们称这一层为输入层 在中间的这一层是全连接的 因为每一个输入特征(参数)都会连接 中间层的每一个节点 而神经网络最重要的一点就是 只要给定足够多的 训练示例 x 和 y 神经网络就能很好地拟合出一个 函数来建立 x 和 y 之间的映射关系
所以 这就是最基本的神经网络 实际上当你建造了 你自己的神经网络之后 你可能发现他们在监督学习中 是最有用 最强大的 所谓监督学习 就是需要把 一个输入 x 和一个输出 y 相对应起来 就像我们刚才看到的房屋价格预测示例 在下一个视频中 让我们一起 看更多的关于监督学习的例子 针对其中的一些例子 你可能会发现神经网络 对你的应用将会特别有帮助