神经元
学习深度学习,我先从神经网络开始。在介绍神经网络之前,先介绍一下什么是神经元。
神经元是神经网络的最小结构,将多个神经元组合在一起就形成了神经网络。神经元也可以经过一些设置之后形成一个逻辑回归模型。
神经元可以看成是最小的神经网络。下图是神经元的基本结构图,神经元有多个输入,一个输出
。下图中的输入
x
1
x_1
x1,
x
2
x_2
x2,
x
3
x_3
x3 分别通过加权然后求和得到了神经元中的值
W
∗
x
W*x
W∗x,然后把该值送到一个函数
h
h
h 中,然后得到输出。
这里需要注意一点的就是,上图为了把中间过程展示出来,所以多加了一个图(1)。其实图(1) 和图(2) 本来就是一个神经元。还有就是在输入的地方我们一般都会多加一个 1,这个 1 是和 b b b 进行相乘。
我们 h h h 函数的公式如下:
- W W W 为权重
- f f f 和图中的 h h h 是一个意思,都代表激活函数,它的作用就是将我们计算出来的内积做一个非线性的变换。
- x x x 代表特征,比如我们要预测这个房子该不该买,我们就会对该房子的多个特征进行考虑,比如房屋面积,房屋价格,社区评分等等这些都属于特征。
-
b
b
b 代表偏置。偏置就相当于一个函数的截距,比如
y
=
2
x
+
1
y = 2x +1
y=2x+1 这个 1 就是截距,即这里的
b
b
b。
以上就是神经元的主要结构,下面我们来看看神经元的计算。比如我们的输入 X X X = [3, 1, 2](这里省略了 +1 这个值), W W W = [0.4, 0.6, 0.5],激活函数 H ( a ) = a / 10 H(a) = a / 10 H(a)=a/10,那么最后的输入为:
前面提到过说
W
W
W 和
b
b
b 定义的是分类线或者分类面。即通过一组
W
W
W 和
b
b
b 确定的直线或者面能够将数据样本分成两类。
在神经元中还有一个结构就是激活函数。在神经元的结构中,一旦将神经元的激活函数确定之后,那么这个神经元就可以是一个模型了。比如说我们这里有一个 sigmoid 的激活函数(下图),将该激活函数应用到神经元的结构中之后,这个神经元就具体化了,该神经元就是一个二分类逻辑斯蒂回归模型。
sigmoid 函数有这么几个性质,首先它的输出是在 0-1 之间,是一个对称函数,对称点为 (0, 0.5),而且该函数在 [-6, 6] 之间是比较陡峭的。其中最重要的一点就是函数值是在 0-1 之间,我们很容易就联想到概率也是在 0-1 之间的,如果我们将
h
w
(
x
)
h_w(x)
hw(x) 代入 sigmoid 函数中,会得到以下式子:
相应的就可以求出
Y
=
0
Y=0
Y=0 和
Y
=
1
Y=1
Y=1 的概率:
这里我们就定义好了二分类逻辑斯蒂回归模型。