http://blog.csdn.net/xwd18280820053/article/details/70681750

可视图讲解神经元w,b参数的作用

在我们接触神经网络过程中,很容易看到就是这样一个式子,g(wx+b),其中w,x均为向量.比如下图所示:

加入激活函数为g(x),我们就可以用公式g(w1x1+w2x2+b)(注:1,2均为下标,公众号很难打,下面所有的公式均是)来表示神经元的输出。

其中b为神经元的偏置.那么w,b这些参数的作用有没有最直观的感受呢?以及我当时学习的时候问师兄的,每个神经元为什么要加上偏置b,不加又有什么后果呢?

下面通过二维可视化图来直观说明一下它们的作用:

加入我们激活函数用的是sigmoid函数,它的图像如下:

我们很容易看到sigmoid函数的作用是将输入映射到一个(0,1)的输出范围

现在我们还是有一个简单的任务,需要将下面三角形和圆形进行分类:

利用上面神经元训练可以得到一个直线,去线性分开这些数据点.方程如下:

w1x1+w2x2+b=0,我们就可以得到下面这条类似的直线去线性分割好俩种不同类型的数据点.

那么这条边界找到了.而这个边界是w1x1+w2x2+b=0的方程,而w1x1+w2x2+b是作为激活函数sigmoid的输入处理.

激活函数将这个输入映射到(0,1)的范围内.那么可以增加一个维度来表示激活函数的输出.

我们认为g(x)>0.5就为正类(这里指圆形),g(x)<0.5就为负类,这里指三角形类.得到的三维图如下:第三维z可以看成是一种类别!(比如圆形就是+1、三角形就是-1)

图来自:Hugo Larochelle课程ppt

那么就可以真正的可视化说明一下w.b等参数的作用在图中是怎么体现的~

我们从上图很容易得到,当我们将这个三维图进行投影的时候,就是我们上个用直线分割好俩类的平面图,三维图中的那个分割平面投影下来就是方程w1x1+w2x2+b=0.

右边输出为1的部分就是说w1x1+w2x2+b>0,导致激活函数输出>0.5,从而分为正类( 圆形类),左边输出为-1的部分就是说w1x1+w2x2+b<0,导致激活函数输出<0.5,从而分为负类( 三角形类)

1  w参数的作用

其中w参数的作用,我们可以得到,是决定那个分割平面的方向所在.分割平面的投影就是直线w1x1+w2x2+b=0

我们解释如下,在二个输入中,可以得到w=[w1,w2],令方程w1x1+w2x2+b=0,那么该直线的斜率就是-w1/w2。随着w1,w2的变动,直线的方向也在改变,那么分割平面的方向也在改变~

2  b参数的作用

其中b参数的作用,是决定竖直平面沿着垂直于直线方向移动的距离,当b>0的时候,直线往左边移动,当b<0的时候,直线往右边移动.

我们通过例子解释如下:首先我们可以肯定是直线方向不变,因为我们没有动斜率的任何参数,只是改变b,要说明的就是为什么当b>0的时候,直线往左边移动,当b<0的时候,直线往右边移动.

假设我们有直线方程x1+x2-3=0,画出这个图像如下:

此时我们将b减小到0,图像变为如下:

我们从上面图像中很容易得到结论:

当b>0的时候,直线往左边移动,当b<0的时候,直线往右边移动.

有了b参数可视化作用之后,我们很容易解决我一开始的问题.每个神经元为什么要加上偏置b,不加又有什么后果呢?下面通过二维可视化图来直观说明一下它们的作用:

3  每个神经元为什么要加上偏置

我先不说为什么一定要加入偏置b,就还是上面的分类问题,假如我现在的样本点是如下这种:

此时我们希望得到的线性方程分割线是下面这种,能够正确的将俩类进行分开:

到这个时候,我想我们已经明白了,如果没有偏置的话,我们所有的分割线都是经过原点的,但是现实问题并不会那么如我们所愿.都是能够是经过原点线性可分的。

神经网络中w,b参数的作用(为何需要偏置b的解释)的更多相关文章

  1. 如何选取一个神经网络中的超参数hyper-parameters

    1.什么是超参数 所谓超参数,就是机器学习模型里面的框架参数.比如聚类方法里面类的个数,或者话题模型里面话题的个数等等,都称为超参数.它们跟训练过程中学习的参数(权重)是不一样的,通常是手工设定的,经 ...

  2. Jquery中Ajax异步请求中的async参数的作用

    之前不知道这个参数的作用,上网找了前辈的博客,在此收录到自己的博客,希望能帮到更多的朋友: test.html <a href="javascript:void(0)" on ...

  3. (转)AS3 中,Function.apply、call中第一个参数的作用;与什么时候用

    http://blog.csdn.net/linjf520/article/details/8746064 大家在使用Function.apply或是call时,是否发现,第一个参数不知道怎么用,赋值 ...

  4. Java中final修饰参数的作用

    在方法参数前面加final关键字就是为了防止数据在方法体中被修改. 主要分两种情况:第一,用final修饰基本数据类型:第二,用final修饰引用类型. 第一种情况,修饰基本类型(非引用类型).这时参 ...

  5. 【转载】 【Tensorflow】卷积神经网络中strides的参数

    原文地址: https://blog.csdn.net/TwT520Ly/article/details/79540251 http://blog.csdn.net/TwT520Ly -------- ...

  6. pytorch的函数中的group参数的作用

    1.当设置group=1时: conv = nn.Conv2d(in_channels=, out_channels=, kernel_size=, groups=) conv.weight.data ...

  7. ListView的监听器中OnItemClick各个参数的作用

    方法的原型如下 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3){ } 后面有4个参 ...

  8. pytorch的函数中的dilation参数的作用

    如果我们设置的dilation=0的话,效果如图: 蓝色为输入,绿色为输出,可见卷积核为3*3的卷积核 如果我们设置的是dilation=1,那么效果如图: 蓝色为输入,绿色为输出,卷积核仍为3*3, ...

  9. 浅谈神经网络中的bias

    1.什么是bias? 偏置单元(bias unit),在有些资料里也称为偏置项(bias term)或者截距项(intercept term),它其实就是函数的截距,与线性方程 y=wx+b 中的 b ...

随机推荐

  1. git连接到github

    基本流程如图 如何配置SSH key:在gitBash里执行. 1.检查电脑上是否生成过了,如果已经生成了,则需要删除后再操作 cd ~ cd .ssh 提示:No such file or dire ...

  2. java获取本机ip(排除虚拟机等一些ip)最终解,总算找到方法了

    本文参考https://blog.csdn.net/u011809209/article/details/77236602 本文参考https://blog.csdn.net/yinshuomail/ ...

  3. 常见IT工具软件总结

    1. 阿里云在线迁移服务 2.智能媒体管理 格式转换 业务域名管理 1. 每个业务有一个英文单词, 1. 每个 git 的命名应该是 chgg-业务英文-种类 2. 例如 chgg-plant-api ...

  4. python 三目运算符

    格式: true_res if condition else false_res Meto 1: Meto 2: >>> x = 2 >>> x+1 if x!=1 ...

  5. 解决spring多线程不共享事务的问题

    在一个事务中使用多线程操作数据库时,若同时存在对数据库的读写操作,可能出现数据读取的不准确,因为多线程将不会共享同一个事务(也就是说子线程和主线程的事务不一样),为了解决这个问题,可以使用spring ...

  6. python之读取和写入csv文件

    写入csv文件源码: #输出数据写入CSV文件 import csv data = [ ("Mike", "male", 24), ("Lee&quo ...

  7. UVA 690 Pipeline Scheduling

    https://vjudge.net/problem/UVA-690 题目 你有一台包含5个工作单元的计算机,还有10个完全相同的程序需要执行.每个程序需要$n(n<20)$个时间片来执行,可以 ...

  8. HTML5-Audio-基础篇

    播放音频文件 //control属性添加播放.暂停和音量控件<audio controls> <source src="horse.ogg" type=" ...

  9. python之旅5【第五篇】

    装饰器详解 函数刚开始不解析内部,只是放进内存 装饰器是函数,只不过该函数可以具有特殊的含义,装饰器用来装饰函数或类,使用装饰器可以在函数执行前和执行后添加相应操作. 1 下面以一个函数开始,理解下面 ...

  10. BZOJ4205卡牌配对——最大流+建图优化

    题目描述 现在有一种卡牌游戏,每张卡牌上有三个属性值:A,B,C.把卡牌分为X,Y两类,分别有n1,n2张. 两张卡牌能够配对,当且仅当,存在至多一项属性值使得两张卡牌该项属性值互质,且两张卡牌类别不 ...