第四周的课程开始介绍 Neural Networks - 神经网络 的概念,包括它的 结构 和 表示方法。
Neural Networks: Representation - 神经网络:表述
Non-linear hypotheses - 非线性假设
我们之前所讲到的,线性回归和逻辑回归,它们在进行 非线性预测和分类 时,在 特征比较少 的情况下,用 特征多项式 来训练会有不错的表现(如下式,两个特征)。
$\theta_{0} + \theta_{1}x_{1}^{2} + \theta_{2}x_{1}x_{2} + \theta_{3}x_{2}^{2}$
但是一旦特征变多,比如几十甚至上百个时,利用特征多项式训练,所组合出来的新特征将会是一个非常庞大的数字(如下式,100个特征,仅两两组合)。这无疑是行不通的。
$\theta_{0} + \theta_{1}x_{1}^{2} + \theta_{2}x_{2}^{2} + \theta_{3}x_{3}^{2} + \cdots + \theta_{100}x_{100}^{2} + \theta_{101}x_{1}x_{2} + \theta_{102}x_{1}x_{3} + \cdots + \theta_{10000}x_{99}x_{100}$
所以,我们需要一种新的模型,就是 神经网络。
Neurons and the brain - 神经元和大脑
这部分是介绍神经网络的一些背景,若不感兴趣可点此跳至下一节
首先神经网络是模仿大脑结构来建立的。我们大脑可以学习很多事情,小到一个行为,一个动作,大到一门学科,一门语言,如果我们想让计算机来处理不同的学习任务,似乎我们需要针对性的编写不同的程序来实现。可是人脑在学习的时候真的用了这么多不同的“算法”么?我们能不能假设其实大脑只有一种学习算法,但却可以处理很多的事情?下面我们来看一下关于这个假设的一些证据。
-
科学家将小白鼠的 耳朵 到 听觉皮层 的 听觉神经 剪断,然后将 视觉神经 接到 听觉皮层 上,结果,听觉皮层 学会了 看。
-
美国食品和药物管理局在临床实验一个名为brainport的系统,能帮助失明人士 看见 东西。它是这样工作的:在失明人士头上带一个灰度摄像头,获取面前场景的低分辨率灰度图像,然后将信号连接到 舌头 上的一个很薄的 电极阵列 上,这样 每个像素点都能映射到舌头的某个位置,这种系统能让人在几十分钟内用舌头学会 看东西。
这些例子说明,我们大脑的每一块区域,都能处理不同的信息,图像,声音,触觉,嗅觉等等,就好比一个机器可以接受任何传感器输入的信号。如果我们找出 大脑的学习方法,然后在计算机上实现,这也许是真正的迈向人工智能。而 神经网络 则是第一步。
下面我们将深入到神经网络的细节。
Model representation I - 模型表示 1
每一个神经元,也可以叫一个 计算节点,它接受来自 前一个神经元的输出 作为 它的输入,然后经过 计算,将 输出 送给 下一个神经元 作为其 输入。
比如一个以 逻辑回归 为模型的网络可以表示成这样:
这是一个只有 两层 的神经网络,只包含 输入层 和 输出层。
下面我们看一个3层的神经网络:
其中layer 2是 隐藏层,是中间的计算单元,将结果反馈到下一层。这里我们定义一下符号表示:
- $a_{i}^{(j)}$ 为第j层第i个节点
- $h_{\Theta}(x)$为输出结果
未完待续…有空继续…