作者 | Harper
审核 | gongyouliu
编辑 | auroral-L
采用sigmoid神经元、添加偏置项
上期给大家介绍了一下感知机。并且举了一个做餐厅决策的例子,例子中有一个二进制输入,1或-1,就代表着好或不好,但是,所有的输入和输出都是1或-1,没有任何中间状态,所以这个感知机可能会在两个方面出错,它可能会让我错过很多好的餐馆有,也可能会帮我们选择一些不太好的餐馆。
但我们真正想要的是一个连续的渐变值,能够给我们一些关于餐厅相对质量的指示,理想情况下是一个介于一和零之间的数字,越接近于1,我们对餐厅的质量就越有信心,那如果它接近于0,就该去别的地方了,所以,我们就可以尝试不同的东西,也就是我们这期所要讲到的,sigmoid神经元。
相比只能取二进制,sigmoid神经元可以处理更多的变化值,事实上你可以在一个sigmoid神经元中输入想要的任何数字,然后用sigmoid函数把这个数字压缩成0和1之间的值,它被称为sigmoid函数,简称S型函数,因为函数的输出在绘图的时候会形成一条S型曲线。
就像我们在上期视频所看到的感知机一样,sigmoid神经元使用加权输入,关键的区别是在于S型函数提供的值的变化范围比使用简单的二进制0和1的时候要大得多,它可以取0到1之间的任何值。
除了采用sigmoid神经元之外,我们还可以为感知机添加一个偏置项来调整输出。设置一个特定的阈值,可以使感知机和sigmoid神经元以一种类似于生物神经元的方式工作。这种神经元可以激活也可以不激活。在二进制表示法中。这可以表示为:0表示不激活,1表示激活。感知机只有在它的函数结果满足指定阈值的时候才会激活。如果你发现一个感知机没有在他应该激活的时候激活,就可以在他的函数中,添加偏置项来调节阈值,偏置项只是移动定义阈值的线,而不更改该线的形状和方向。偏置项只是另一个数字,它与输入值和权重一起工作,以促进神经元激活或保持沉默。
就拿选择餐厅的例子来说,我们如果发现他在建议是否在某家餐厅用餐的时候,建议过于保守的话,这个时候,我们就会错过许多美食,因为如果说,餐厅不够干净,或者说菜单上没有足够的西班牙语,这个时候,我们就会决定在输入和函数之间的连接中添加一个偏置项,比如说如果加上+5的偏置项,那么这个值5,在传递给函数进行处理之前会被加到输入的总和当中,也就是说在输入的和上,再加上5,当然偏置项也可以是负的。比如说如果神经元推荐了许多你不会选择吃的餐馆,那你就可以添加一个负偏置项,将阈值向相反的方向移动。
本内容来源于「数据与智能」创始人刘强翻译的畅销书「认识AI:人工智能如何赋能商业」,喜欢的读者可以点击下面链接直接购买。
本文的视频版本可以直接点击下面视频观看,欢迎关注数据与智能视频号获取更多精彩视频。