一神经网络的向量表示
二整个处理过程与人类的大脑类似,在人类的认知过程中通过认识一个个局部然后将局部进行整合形成一个个部件如眉毛、眼睛、鼻子这样信号在神经元之间不断地进行传递信号传递的过程汇总如果上一个神经元匹配了正确的模式而且获得的信号超过某个阈值那么接下来的神经元将会被激活否则会被抑制。这就像是神经网络中的通过选取权重来激励或者惩罚神经元。
¥
支付方式
请使用微信扫一扫 扫描二维码支付
请使用支付宝扫一扫 扫描二维码支付
一神经网络的向量表示
二整个处理过程与人类的大脑类似,在人类的认知过程中通过认识一个个局部然后将局部进行整合形成一个个部件如眉毛、眼睛、鼻子这样信号在神经元之间不断地进行传递信号传递的过程汇总如果上一个神经元匹配了正确的模式而且获得的信号超过某个阈值那么接下来的神经元将会被激活否则会被抑制。这就像是神经网络中的通过选取权重来激励或者惩罚神经元。
对于单层感知机,不能解决线性不可分的问题。其中XOR就是其中的一个特例。
但是如果将XOR通过转化获得一个更好的表示方法,就可以变成一个线性可分的问题了。
这样一个映射转化实际上相当于一个隐藏层.
这是Hornikzzai在1991年在a single hidden layer neural network with a linear output unit can approximate any continuous function arbitrarily well, given enough hidden units。这个需要无限多个神经元以及激活函数的配合实现,目前没有一个很好的学习型算法实现寻找神经网络必要的参数
使用sigmoid函数一个原因是sigmoid输出值在0,1之间,所以sigmoid(x)可以认为是一个概率值。 这样在计算y = sigmoid(x) 后,y的值可以认为是x的概率。例如x=(今天温度25度,干燥,无风,无云) , y表示明天降雨的可能性,y = 0表示明天不下雨,y=1表示下雨,例如计算出y=0.7,那么这个表示明天下雨的可能性是0.7。
对左边的AND的理解:
1. x1=1,x2=1的时候
AND(X1^,X2) = AND(0,1) = 0
AND(X1,X2^) = AND(1,0) = 0
对应点(0,0) 就是左下角的圆圈点
x1=0,x2=0的时候:
AND(X1^,X2) = AND(1,0) = 0
AND(X1,X2^) = AND(0,1) = 0
对应点(0,0) 就是左下角的圆圈点
所以视频中说左边两个红圈的点重叠起来对应成一个点,其实是说一个映射X * X -> X * X
使得原来线性不可分的集合,变成了线性可分的。
另一个角度理解,左边的图可以看做神经网络的输入层,右边是一个隐藏层
2. x1=1,x2=0的时候:
AND(X1^,X2) = AND(0,0) = 0
AND(X1,X2^) = AND(1,1) = 1
对应点(0,1) 就是左上角的三角点
3. x1=0,x2=1的时候:
AND(X1^,X2) = AND(1,1) = 1
AND(X1,X2^) = AND(0,0) = 0
对应点(1,0) 就是右下角的三角点
tanh(a) 双曲正切函数
类似的有双曲正弦 sinh(x)
双曲余弦 cosh(x)
并且有tanh(x) = sinh(x) /cosh(x)
和三角函数性质类似。
reclin(x) = max(0,a)
= 0 if a<=0 else a
X = (x_1,x_2,x_3,...,x_d)^T
W = (w_1,w_2,w_3,...,w_d)^T
X,W都是列向量,a(X) = b+ W^TX
W是连接权重,b是神经元偏置。g(.)是激活函数。
W一般先随机设置几个变量,随后通过训练得到具体值
g有很多种选择,例如softmax,ReUL,tanh 等等
sigmod y = p(1|x)
or,and,not 线性可分
xor 线性不可分
线性激活函数
SIGMOD函数 1/(1+e^(-a)) (0,1)
tanh函数 (e^(2a)-1)/(e^(2a)+1) (-1,1)
reclin Relu max(0,a) 倾向于给出具有稀疏性的神经元输出节点,倾向于获得输出为零的神经元
推导过程:
XOR(AND(x1,x2),AND(x1,x2))
1) x1 = 0, x2 = 0
XOR(AND(0,0),AND(0,0))
= XOR(AND(1,0),AND(0,1))
=XOR(0,0)
= 0
2) x1 = 1, x2 = 0
XOR(AND(1,0),AND(1,0))
= XOR(AND(0,0),AND(1,1))
=XOR(0,1)
= 1
3) x1 = 0, x2 = 1
XOR(AND(0,1),AND(0,1))
= XOR(AND(1,1),AND(0,0))
=XOR(1,0)
= 1
4) x1 = 1, x2 = 1
XOR(AND(1,1),AND(1,1))
= XOR(AND(0,1),AND(1,0))
=XOR(0,0)
= 0
activation function
1. 线性激活函数
g(a) = a (-∞,+ ∞) → (-∞,+ ∞)
2.sigmoid激活函数
g(a) = sigm(a) = 1/(1+exp(-a))
(-∞,+ ∞) → (0,1)
3.tanh激活函数
g(a) = tanh(a) = (exp(a) - exp(-a)) /(exp(a) +exp(-a)) = (exp(2a) - 1) /(exp(2a) + 1)
(-∞,+ ∞) → (-1,1)
4.reclin激活函数
g(a) = reclin(a) = max(0,a)
(-∞,+ ∞) → [0,+∞)