猫史档案馆


【嗯哼君のPython神经网络教程】1、什么是“权重”、“阈值”与“偏置”???

用户:嗯哼君 渠源嗯哼君 渠源查看:0 回复:3 评论:0 创建时间:2019-02-25T19:45:22


嗯哼,我就系你们滴嗯哼君啦~~~

最近由于嗯哼君加入了小蓝研发团队的一员,因此就要努力学习AI了。

最近正在学习神经网络,因此想发几个教程见证一下嗯哼君的学习成果,顺带巩固巩固。

而今天,嗯哼君就给大家带来神经网络的入门——“权重”“偏置”

在学习神经网络之前,我们先来学习一下感知机,因为两者是层层递进的关系的。

我们首先来看一下感知机的基本结构:

center_image

我们首先要知道,上图中的“x”为输入,“w”为权重,“y”为输出,“○”为神经元(也叫节点),“→”为神经流

它的流程是这样子的:用户输入两个值(即x1与x2),分别乘以分别的权重(w1与w2)。若加起来的和大于阈(yù)值,y则输出True(1);若小于等于阈值,y则输出False(0)。

另外,阈值是一开始设置的一个实数值,也可以理解为输出True的难易值

阈值用θ(中文谐音“西塔”)表示,θ越大则说明输出True的困难度更大,反之更小。

就是这么简单,不是吗?

我们还可以将其变个方法表达出来,用“-b”来表示θ

这就和方程差不多,两边同减去一个数,最终等式仍成立。

b也就等于θ,只不过它来到了等式的左边,而右边则成了0。

我们将“b”叫做“偏置”它其实就和阈值一个样,只不过叫法与看起来不同而已

总结一下,公式是这样的:

center_image

感知机的各个输入都有其分别的权重,这些权重发挥着控制各个信号的作用。

我们也可以这么理解,权重越大,其信号的重要性就越大(输出量高)。

我们来举个例子,若w1为1,w2为2,b为-1,我们可以用下列的Python代码表达出来:

x1 = float(input('第一个输入?'))
x2 = float(input('第二个输入?'))
w1 = 1
w2 = 2
b = -1
z = x1 * w1 + x2 * w2 + b 
if z > 0:
    y = True
else:
    y = False

我们可以从中获取什么信息呢?能获得的信息有很多很多。

比如说:1、输入x2比输入x1更容易被激活,也就是重要性更大。

2、就算输入x1为0,x2只要大于0.5就能输出True

诸如此类,我就不胜枚举了。而我们在看一个神经网络的代码时候最好能画下图来,这样子有助于理解。

而我们在关注一个神经网络的时候,首先就是要看神经元的数量,就是有几个输入等。

其次我们要看权重、阈值与偏置,这样子我们就对这个神经网络基本了解了。


回复

上一页1 页 / 共 1下一页
蓝之酱蓝之酱

你现在所学的神经网络是对NLU没有用的

你应该去看看LS喵网络,RNN循环神经网络的一种

这种神经网络对上下文的信息处理有很好的效果

 

点赞0


评论


黯戀黯戀

考古

点赞0


评论


白篮白篮

二次考古

点赞0


评论