神经网络中的sigmoid函数
1、weights、bias 参数学习
我们希望有一种学习算法,它能够自动地调整网络中的权重因子和偏置。 但是,我们怎样才能设计出这样的算法神经网络?可以通过学习来解决一些问题。假如,网络的输入是从扫描的原始像素数据,亦或是手写数字的图像。我们希望通过网络可以自动地学习权重和偏差,使输出从网络正确分类的数字。假设我们对网络上的一些权重(或偏置)做一些小的调整,并且希望网络上权重因子和偏差也仅有较小的变化,同样的在输出网络中也只产生一个小的改变。我们想象一下这样的参数学习能否为自适应的形式?如下图所示:
(1)
假设一个小的权重变化(或偏置)对输出也产生较小的影响,那么我们通过这一策略来修改的权重(weight)和偏置(bias),让网络学习到更多想要的规则。例如,假设在网络中图像“9”被误分为“8”时。可以通过校正权重和偏(每次做细小的改变),使网络变得更接近分类的图像为“9”。 最终网络将循环校正,不断调整权重(weight)和偏置(bias),使网络得到更好的输出结果。
问题并不是想象的这么简单,在一个网络的众多神经元当中,一个参数的细小改变,也许会发生天翻地覆的变化。实际上,在网络中的任何一个单一的感知器(神经元)的权重或偏差发生变化,即使是细微的变化,有时会导致输出完全相反,就像从 0 到 1 的变化。因此,虽然你的“9”可能被正确分类,但是网络中的感知器就很可能无法学习到为其它数字分类的‘规则’,这也就使得网络中参数学习变得极其困难。也许有一些聪明的方法来解决这个问题,显而易见这不是我们想要的结果。
2、sigmoid 神经元的引入
我们可以通过引入一种人工神经元(即 sigmoid(function () { 神经元:
(2)
和感知器一样,这里 sigmoid 。 定义为:
(3)
上式中,将输入、即参数带入,形式上可以写为:
(4)
2.1、sigmoid 原理
仅从数学公式上看,sigmoid 神经元之间有许多相似之处。
为了更详细地了解感知器模型,假设 z≡w⋅x+b。
sigmoid
smoothed
2.2、Sigmoid function
假如σ 可以近似的表示为:
(5)
这里 Δoutput 进行微调,以至于感知器可以尽可能地学习到“想要”的规则。/font>
3 总结
我们该如何去阐述 sigmoid 神经元的输出不只局限在 0 or 1 。它的输出可以是 0 到 1 之间的任意数值,如 0.124…,0.864…。这样的改变,将对整个神经网络产生质的变化。
代码实现:
class Network(object):def __init__(self, sizes):self.num_layers = len(sizes)self.sizes = sizesself.biases = [np.random.randn(y, 1) for y in sizes[1:]]self.weights = [np.random.randn(y, x) for x, y in zip(sizes[:-1], sizes[1:])]def sigmoid(z):"""sigmoid 函数实现"""return 1.0/(1.0+np.exp(-z))
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
(function () {('pre.prettyprint code').each(function () { var lines = (this).text().split(′\n′).length;var (this).text().split('\n').length;var numbering = $(' ').addClass('pre-numbering').hide(); (this).addClass(′has−numbering′).parent().append( (this).addClass('has-numbering').parent().append(numbering); for (i = 1; i
神经网络中的sigmoid函数相关推荐
- 机器学习、神经网络中不懂的函数及功能实现
classification_report from sklearn.metrics import classification_report # 比较正确率 召回率 F1值 越高越好 print(c ...
- sigmoid函数_常用的激活(激励)函数——深度学习笔记(建议收藏)
激活函数(又叫激励函数,后面就全部统称为激活函数)是模型整个结构中的非线性扭曲力,神经网络的每层都会有一个激活函数.那他到底是什么,有什么作用?都有哪些常见的激活函数呢? 深度学习的基本原理就是基于人 ...
- What is the Softmax Function?详解机器学习中的Softmax函数【小白菜可懂】
目录 定义 公式 计算 Softmax vs Sigmoid Softmax vs Sigmoid 计算 Softmax vs Argmax Softmax vs Argmax 计算 应用 神经网络中 ...
- 【机器学习算法面试题】四.深度神经网络中激活函数有哪些?
欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...
- 神经网络中的S型函数是什么?
S型函数是什么?有什么用? S型函数(Sigmoid function)是BP神经网络中常用的非线性作用函数,即sigmoid函数,公式是f(x)=1/(1+e-x)(-x是幂数) Sigmoid函数 ...
- Matlba绘制Logistic函数特殊形式的sigmoid函数图像(含程序)
前言 仅作为记录,详细的探讨可以查看以下博主链接: 机器学习中 Sigmoid 函数的物理含义 - 知乎 大白话深度学习中的Sigmoid函数 - 知乎 1.Logistic函数通式 其中,σ0为初始 ...
- Sigmoid 函数(To be continued)
1.Definition Sigmoid 函数又称 S 函数,或者逻辑函数(Logistic function),它是一个连续.光滑.严格单调的阈值函数. 其函数图像为: 其对称中心为(0, 0.5) ...
- Sigmoid函数与逻辑回归
文章目录 (1). Sigmoid函数的由来--伯努利分布的衍生物 1.1 为什么会有 sigmoid 函数的出现? 1.2 sigmoid 函数推导过程 1.3 sigmoid 函数求导 (2). ...
- 机器学习基础(七)——sigmoid 函数的性质
θ(s)=11+e−s \theta(s)=\frac1{1+e^{-s}} 值域 (0,1)(0, 1) 常作为神经元(neuron)内部所代表的激励函数(activation)存在: 但对于 BP ...
最新文章
- html5联系人字母,HTML5 字符串逐个字母变换
- gcc 编译器常用的命令行参数一览
- Linux命令 iperf - 网络性能测试工具
- 关系数据库是如何工作的
- python 批量读取文件夹的动漫美女图并显示
- VTK:可视化算法之IceCream
- YUM更换源--yum找不到安装包(转)
- BZOJ4122 : [Baltic2015]File paths
- ibatis mysql 配置文件详解_MyBatis配置文件详解
- [生活]我短暂的股票生涯
- 深入浅出、通俗易懂的讲解CAN bus。
- PreparedStatement 大数据查询
- staircase nim 经典组合游戏
- 三个团队的站立会议旁观笔记
- css中的vw/vh与%
- 管理薪酬 穆穆-movno1
- matlab斜杠日期,日期用斜线怎么写
- KDZD606绝缘服试验装置
- 机房租赁,如何鱼和熊掌兼得?
- linux下多个文件相同行合并
热门文章
- C 语言调用 JNI_CreateJavaVM
- html基础笔记与html5代码展示
- ADS1.2+2440+j-link(亲测)
- MySQL的utf8与utf8mb4编码,以及utf8_bin、utf8_general_ci编码区别
- python 使用wxpy实现获取微信好友列表 头像 群成员
- Vue-什么是vuex
- 淘宝商品SKU接口、desc信息、淘宝商品详情API
- 市场营销中4P对应4C理论
- 看了中国与别国的科研差距后,究竟什么才是真正的科研精神?
- 2.1.2 Android刘海屏适配