加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

[bigdata-122] 单节点神经网络推导

发布时间:2020-12-14 04:58:38 所属栏目:大数据 来源:网络整理
导读:这个例子是最基础的例子,深度学习是它的各种形式的扩展。几个关键点:神经网络结构,激活函数,向量化,随机梯度下降算法,是深度学习的基石。 1.训练集 设训练集合是 { x ( i ) , y ( i ) } i = 1... n ,其中 x ∈ R 1 × d 。 x 是个向量,数据集有 n 个

这个例子是最基础的例子,深度学习是它的各种形式的扩展。几个关键点:神经网络结构,激活函数,向量化,随机梯度下降算法,是深度学习的基石。

1.训练集
设训练集合是 {x(i),y(i)}i=1...n ,其中 xR1×d x 是个向量,数据集有 n 个样本。

2.神经网络结构
一个神经元,有d+1个输入,前d个是向量 x 的输入,最后一个是b的输入。神经元的激活函数是sigmoid函数,也就是:

f(x)=11+exp(?x)=11+e?x

求导的话,就是 f(x)=f(x)(1?f(x)) ,可以推导出来的。

3.神经网络的输出
对一个样本而言,计算神经元的输出。 x 和b作为输入,传递到神经元的应激函数之前的值是 xW+b ,其中 WRd×1 表示神经连接的权重。这个值再经过神经元的应激函数形成输出,因此,神经元的输出是

fW,b(x)=f(xW+b)=f(j=1dxjWj+b)

4.代价函数
.上一步,是一个样本时神经网络的输出。训练后的神经网络,期望在全部样本集上,让样本的拟合误差最小,设代价函数是MSE,那么在全部样本上,拟合误差代价函数如下:

J(W,b)=12i=1n(f(xiW+b)?yi)2

注意,这里的 xi 是粗体,表示一个向量,也就是一个样本,跟上面的 xj 不一样。

5.随机梯度下降求极值
上式求最小值。未知数是 W b 。按照梯度下降算法,可知
wji+1=wji?η?J(W,b)?wj(wji)
这里, i 表示第 i 次迭代, wj 表示 W 的第 j 个元素。这就是梯度下降法求解 W

为简化起见,设 z=xiW+b

?J(W,b)?wj=i=1n(?f?z?z?wj(fw,b(z)?yi))=i=1nfw,b(z)(1?fw,b(z))xji(fw,b(z)?yi)

随机梯度下降的话,就每次随机选择若干个 wj 进行计算。

对于b,有下式:

?J(W,b)?b=i=1n(?f?z?z?wj(fw,b(z)?yi))=i=1nfw,b(z)(1?fw,b(z))(fw,b(z)?yi)

6.正则化
有时候,为了防止过拟合,在第4步的公式,会加上一个对 W 的正则:

J(W,b)=12i=1n((f(xiW+b)?yi)2+12μWTW

由此导致梯度下降算法会略做改变。

7.代码实现
本质上,单节点神经网络就是Logistic Regression。本博之前已经给出详细的推导过程,请参考
http://www.voidcn.com/article/p-uclydqrl-bat.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读