机器学习之高级学习算法(一)神经网络的工作原理
神经网络中的层
大多数现代神经网络的基本组成部分是一层神经元,在这一节当中,将学会如何构造一层神经元
下面是我们从需求预测示例中得到的示例,我们有四个输入特征被输入到这层三个神经元中,在这个隐藏层里面,然后将输出发送到只有一个神经元的输出层,让我们放大到隐藏层来看看它的计算。这个隐藏层输入四个数字,这四个数字是三个神经元的输入,这三个神经元中的每一个都只是执行一个小的逻辑回归单元或者一个小小的逻辑回归函数。以第一个神经元为例,他有两个参数w和b。事实上,这是第一个隐藏的单位,我将把这个下标为w1和b1,它所做的是输出一些激活值a=g(w*x+b).这里是熟悉的Z值,在上一课程中的逻辑回归中所学到的,g(z)是我们熟悉的逻辑函数
maybe a=0.3 ,这就是激活值。第一个神经元的a1表示这是第一个神经元
以此类推,a2,a3均是以上a1的操作。

这个(右下方)由三个数组成的向量称为激活值的变量,然后传递到这个神经网络的最终输出层。
现在,当构建多层神经网络时,绘图层不同的数字会很有用。最左边这一层被称为神经网络的第一层,中间这个称为第二层,输入层有时称为零层,现如今神经网络可以有几十个甚至数百个层。
将符号引入来帮助我们区分不同的层,将使用上标方括号1来索引不同的层:[1]。尤其是方括号的上标数字来表示神经网络中隐藏层的第一层输出。下面是神经网络第一层第一个单元的参数,所以在方括号上加上一个上标。,这些是神经网络第一层的隐藏单元的激活值

记住:每当看到上标方括号1,这只是指与神经网络第一层相关的数量。以此类推,每当看到上标方括号2,指的是与神经网络第二层相关的数量。
以上就是神经网络第一层的计算,它的输出是这个激活变量(右中处)
现在,让我们放大这个神经网络第二层的计算,即第一层的输出就是第二层的输入。因为输出层只有一个神经元,它所做的就是计算一个下标,这是第一个也是唯一一个神经元的输出,作为g,应用于w下标一的乙状结肠函数,在带有上标方括号的产品中,所以这是进入第一层的输入,
然后再加b,z=w1*a[1]+b1,这就是熟系的z,和上面一样,g是应用于这个的乙状结肠函数,例如0.84这就成为神经网络输出层的输出。

在这个例子中,因为输出层只有一个神经元,这个输出只是一个标量,这是一个单个的数字,而不是坚持我们的符号惯例的数字矢量,从以前开始,我们将使用方括号中的上标,表示与神经网络第二层相关的量,所以a[2]就是这一层的输出,也想上方一样写上上标2,表示这些是参数和激活值

一旦神经网络计算出一个2,可以选择执行或不执行最后这个可选步骤,如果想要一个二进制预测,则选择0和1。你可以取数字a上标方括号2,即数字0.8.我们计算的临界值是0.5。则如果a[2]>=0.5,则可以预测y=1,若a[2]<=0.5,则可以预测y=0.

以上就是神经网络的工作原理,每一层都输入一个数字向量,并对其应用一组逻辑回归单元,然后计算另一个变量,然后从一层传递到另一层,直到得到最终的输出层的计算。这就是对神经网路的预测,你可以在零阈值,或者不提出最终的预测。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)