BP神经网络

前置知识:机器学习基本概念:监督学习与无监督学习、线性回归、梯度下降。

概念

BP(Back-propagation,反向传播),在模拟过程中收集系统所产生的误差,返回这些误差到输出值(反向传播),并用这些误差来调整神经元的权重。

神经网络其实就是几层神经元,每层神经元里有几个神经元点。不同层级之间的神经元相互连接,每一个神经元只负责三件事:输入、判断、输出。通常,为了方便实际操作,我们令每一层的神经元数量相等。

运算过程:矩阵乘法

记权重矩阵为W,输入S,输出O,真值T,误差E,三者为列向量。

O_i=W_{i,1}*S_1+W_{i,2}*S_2+...+W_{i,n}*S_n

O=W*S \\E=O-T

对于每一个w,反向传播之后的值为,其中n被称为学习率:

w' = w \cdot \eta\frac {df(t)}{t} x

调参

实际就是梯度下降。

在这里我们使用Sigmoid函数作为激活函数。sigmoid函数可以把一个实数压缩至0~1之间。

在我们获得结果后,我们通过反向传播对w,b进行梯度调整,从而得到最优的w,b,最后在应用调整后的模型进行测试。

a1=x;
a2=w1*a1+b1;
z2=S(a2);
a3=w2*z2+b2;
z3=S(a3);
y=z3;
E=(y-y*)^2/2;

注:S()指Sigmoid函数,y为模拟值,y*为真值。

Sigmoid函数

f(x)=\frac{1}{1+e^{-x}}

sigmoid函数连续、光滑、单调递增,以 (0,0.5) 中心对称,是一个良好的阈值函数。在x超出[-6,6]的范围后,函数值基本上没有变化,值非常接近,在应用中一般不考虑。

sigmoid函数的值域范围限制在(0,1)之间,恰巧与概率值的范围相对应,这样Sigmoid函数就能与一个概率分布联系起来了。

sigmoid函数的导数是其本身的函数,即

f'(x)=f(x)(1-f(x))

sigmoid函数可用作逻辑回归模型的分类器。除此之外还存在其自身的推到特性。

对于分类问题,尤其是二分类问题,都假定服从伯努利分布,则有

f(x|p)=p^x(1-p)^{1-x}

根据指数分布族的一半表现形式,有

f(x\theta )=h(x)e^{\eta(\theta) T(x)-A(\theta )}

伯努利分布可变形为:

f(x|p)=e^{ln(\frac{p}{1-p})x+ln(1-p)}

故,伯努利分布也属于指数分布族,令\eta(p) =ln\frac{p}{1-p},可得p=\frac{1}{1+e^{-\eta (p)}}

此为sigmoid函数形式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

惊雲浅谈天

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值