什么是神经元呢?图示的就是一个神经元,它有
x
1
{x_1}
x1、
x
2
{x_2}
x2 …
x
n
{x_n}
xn 共n个输入,每个输入对应一个权重
w
1
{w_1}
w1、
w
2
{w_2}
w2、… 、
w
n
{w_n}
wn,一个神经元还有一个偏置b,每个输入乘以对应的权重并求和,再加上偏置b,我们用net表示:
n
e
t
=
w
1
⋅
x
1
+
w
2
⋅
x
2
+
⋯
+
w
n
⋅
x
n
+
b
=
b
+
∑
i
=
1
n
w
i
⋅
x
i
net = w_1 \cdot x_1 + w_2 \cdot x_2 + \cdots + w_n \cdot x_n + b = b + \sum_{i=1}^{n}{{w_i}\cdot{x_i}}
net=w1⋅x1+w2⋅x2+⋯+wn⋅xn+b=b+i=1∑nwi⋅xi
对net再施加一个函数g,就得到了神经元的输出o:
ο
=
g
(
n
e
t
)
\omicron = g(net)
ο=g(net)
这就是神经元的一般描述。为了更方便地描述神经元,我们引入
x
0
=
1
{x_0} = 1
x0=1,并令
w
0
=
b
{w_0} = b
w0=b,则net也可以表示为:
n
e
t
=
w
0
⋅
x
0
+
w
1
⋅
x
1
+
w
2
⋅
x
2
+
⋯
+
w
n
⋅
x
n
=
∑
i
=
0
n
w
i
⋅
x
i
net = w_0 \cdot x_0 + w_1 \cdot x_1 + w_2 \cdot x_2 + \cdots + w_n \cdot x_n = \sum_{i=0}^{n}{{w_i}\cdot{x_i}}
net=w0⋅x0+w1⋅x1+w2⋅x2+⋯+wn⋅xn=i=0∑nwi⋅xi
2. 神经元的向量表示
为了表达简便,要引入向量的概念。
可以把n个输入
x
i
{x_i}
xi 用一个向量
x
{x}
x 表示:
x
=
[
x
0
,
x
1
,
⋯
,
x
n
]
{x} = [x_0, x_1, \cdots, x_n]
x=[x0,x1,⋯,xn] ,同样,权重也可以表示为向量:
w
=
[
w
0
,
w
1
,
⋯
,
w
n
]
{w} = [w_0, w_1, \cdots, w_n]
w=[w0,w1,⋯,wn] ,这样net就可以表示为两个向量的点积:
n
e
t
=
w
⋅
x
net = w \cdot x
net=w⋅x
向量的点积,就是两个向量对应元素相乘再求和。而神经元的输出o就可以表达为:
o
=
g
(
n
e
t
)
=
g
(
w
⋅
x
)
o = g(net) = g(w \cdot x)
o=g(net)=g(w⋅x)
g
{g}
g 表示什么呢?
3. 激活函数
这里的
g
g
g 叫激活函数。上节讲的sigmoid函数就是一个激活函数。除了sigmoid函数外,激活函数还可以有其他的形式。以下是常用的几种。