深度学习算法实践3---神经网络常用操作实现
来源:互联网 发布:美国直播软件 编辑:程序博客网 时间:2024/05/01 08:46
在神经网络中,最基本的单元为神经元。一个神经元可以视为具有i=1,2,...,n个输入,一个偏移量bias的单元,假设输入信号为x1,x2,...,xn,每个输入信号的权重为w1,w2,...,wn,则这个神经元的总体输入为:
而通常我们为了计算方便,我们会额外引入一个输入i=0,并设置其输入权重为w0,在数值上等于偏移量bias,则上面的公式可以简化为:
下面我们通过代码实例来看一下,对一个实际的神经元,怎样使用Theano来求出总输入:
神经元会对输入信号进行非线性处理,从而得到一个输出,称为激活函数,其中用得最多的是下面这个函数:
假设神经元的激活值为x=10.0,我们可以用上面的激活函数求出该神经元的输出,代码如下所示:
上面代码的输出结果:logistic=0.999955有了以上的基础知识,我们完全可以构造出一个最简单的神经网络模型---感知器模型。通常在这一模型中,有N个输入向量组,同时了N个希望输出值向量,对于每个输入向量,我们可以算出一个实际输出值,对于所有输入样本,就有N个实际输出值组成的向量,在感知器学习算法中,会求出实际输出值向量与希望输出值向量的误差,然后根据误差对连接权值进行调整,如此往复循环,直到误差达到足够小为止。虽然上述算法原理很简单,但是感知器模型在线性可分的问题中,功能非常强大。
下面我们来看一下怎么求实际输出向量和希望输出向量的平方差误差,在这里我们假设一共有5个输入样本,所以希望输出向量和实际输出向量均为5列,代码如下所示:
在上面的代码中,我们首先求出希望输出向量和实际输出向量逐列的平方差,然后定义一个求向量所有元素和的函数,求出针对所有输入样本的平方差误差,而感知器算法的目标就是通过调整连接权值,使这个值达到最小。如果感举趣的话,大家可以在这些方法的基础上,实现一个完整的感知器算法。 0 0
- 深度学习算法实践3---神经网络常用操作实现
- 深度学习算法实践3---神经网络常用操作实现
- 深度学习算法实践3---神经网络常用操作实现
- 深度学习算法实践12---卷积神经网络(CNN)实现
- 深度学习算法实践12---卷积神经网络(CNN)实现
- 深度学习算法实践12---卷积神经网络(CNN)实现
- 深度学习算法实践11---卷积神经网络(CNN)之卷积操作
- 深度学习算法实践11---卷积神经网络(CNN)之卷积操作
- 深度学习算法实践11---卷积神经网络(CNN)之卷积操作
- 深度学习算法实践7---前向神经网络算法原理
- 深度学习算法实践7---前向神经网络算法原理
- 深度学习算法实践10---卷积神经网络(CNN)原理
- 深度学习算法实践10---卷积神经网络(CNN)原理
- 深度学习算法--卷积神经网络
- Google深度学习笔记 循环神经网络实践
- TensorFlow深度学习笔记 循环神经网络实践
- 深度学习算法实践4---Theano常用技巧
- 深度学习算法实践4---Theano常用技巧
- 有关NGUI HUD Text 的使用
- 树莓派(raspberry pi)常用镜像源
- android的常用开发包
- Sift特征
- console.log 自定义增加时间戳的完美解决方案
- 深度学习算法实践3---神经网络常用操作实现
- iOS - 关于NSURLCache
- Android点击空白区域,隐藏输入法软键盘
- Web 服务器与应用服务器的区别
- Unity3D NGUI Scroll View注意事项
- bitcode
- loaderviewlibrary
- NGUI全屏背景
- 史上最强视频网站真实地址解析