13_神经网络_初识神经网络

我们接着上一章节的录取问题出发,根据我们进行逻辑回归的结果,我们画了一条直线,直线上方的成绩的学生都被录取了,但是这在现实生活中是有问题的。例如某学生成绩为Test:9,Grades:1,这样是不应该录取的,因为毕业成绩过低。,那我们怎么去完善我们的模型呢?本节将通过完善这一模型认识什么叫神经网络。

image

现实中的真实录取数据

现实中如果学生入学考试成绩过低或者毕业成绩太差都应该被拒绝掉,真实的录取数据应该是这样的:

image

这样我们的模型就要升级了,升级成什么样呢?或许发扬上一节的传统,再加一条直线看起来是不错的

image

问题来了,这两条直线应该画在哪里呢?和上一节一样,我们使用梯度下降法使损失的对数函数最小化,这个模型其实就是最简单的神经网络了

image

为什么叫它神经网络呢?

我们把计算机判断某一个数据点是否应该被录取的过程拆分出来看。

image

我们想要判断某一点是否落在“被录取”区域内总共要经过以下几个步骤:
1. 这个点是在蓝色线上方吗?
2. 这个点是在黄色线上方吗?
3. 以上两个问题的回答都是YES吗?

imageimageimage

我们把它的运算过程画出来,假设某一学生成绩为Test:1,Grades:8,那判断这一个学生是否被录取的过程就应该如下图所示:

image

进一步简化这个过程,去掉中间结果,我们发现这个过程其实是这样的:

image

在这里这个模型显示了良好的层次关系:
– 第一层为学生两个成绩的输入
– 第二层为根据这个输入判断数据点是否越过某一条直线
– 第三层根据第二层的输出进行逻辑与运算
– 第三层运算后得出结果

image

第三层与运算的本质

或许上面让人感到疑惑的是,第二层我们计算了数据点是否越线,第三层我们就进行了逻辑运算,并不是数学意义上的运算啊。其实与运算也可以看作是判断是否越线。

我们把真值表列出来,并且在坐标上画出一条分界线会发现,如果输入的True和False用1和0来表示,那只有(1,1)这个点是在我们分界线的上方的。

image

所以其实中间两次运算我们都可以看成两次判断是否越线的操作

第一层我们称为:输入层
第二层我们称为:隐藏层
第三层我们称为:输出层

运算过程及结果如下:

image

再进一步简化我们发现其实整个模型是这样子的,输入为两个成绩数值,输出为一个布尔值

image

这是最简单的网络,但是我们也可以从这个网络的原理中看出来,只要我增加隐藏层的数量,我就能处理更加复杂的平面映射,甚至处理三维或者更高维数的空间映射

image

这就是我们的神经网络

神经网络

神经网络的名称源于它的结构与大脑神经元的结构类似,每一个神经元接收来自其他神经元输出的脉冲,然后决定是否继续传递神经脉冲。在我们的例子中,神经元之间传递的是数字形式的信息,最后经过判断输出1或者0.

image

这就是我们的神经网络

1 回复

发表评论

Want to join the discussion?
Feel free to contribute!

陈丽华进行回复 取消回复

邮箱地址不会被公开。 必填项已用*标注