【DeepLearning学习笔记】Neurons神经元

【DeepLearning学习笔记】Neurons神经元今天找到一个比较好的deeplearning的教材:NeuralNetworksandDeepLearning对神经网络有详细的讲解,鉴于自己青年痴呆,还是总结下笔记吧=。=Perceptr

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

今天找到一个比较好的deep learning的教材:Neural Networks and Deep Learning 对神经网络有详细的讲解,鉴于自己青年痴呆,还是总结下笔记吧=。=

Perceptron感知器

Perceptron的输入的一组binary变量xi,对这些binary变量求出加权和后,如果这个和大于某个阈值threshold,就输出1;否则输出0.

【DeepLearning学习笔记】Neurons神经元

所以perceptron的输入输出都是binary的,我们可以把一个perceptron的输入看成一组“evidences”(证据),perceptron利用这组证据判断出一个decision(决策)。

比如说我们用一个perceptron判断一个女生会不会买一双鞋,就用上图的perceptron,假设这个女生有三个评价标准:

x1:这双鞋是否打折?

x2:这双鞋小伙伴们是否还没有?

x3:这双鞋是否是今年新款?

以上各个变量如果回答是“是”,则对应xi为1,否则为0.并且假设threshold为3,即如果w1x1+w2x2+w3x3≥3,那么输出1,否则输出0.

第一种情况:这个女生非常(chu)挑(nv)剔(zuo),她要求这三个评价标准都满足,才会买这双鞋,这时可以设置w1=w2=w3=1,那么只有x1=x2=x3的时候,perceptron的输出才是1,否则是0.

第二种情况:这个女生非常自(jiao)主(qing),她很讨厌和别人买一样的鞋,那么第二个标准对她非常重要,而其他两个都不重要。这是可以设置w2=3,w1=w3=1,那么只有当x2=1的时候perceptron才可能输出1,否则不管x1和x2取什么值,perceptron都只输出0.

以上是perceptron的直观理解,以下是数学表示:

【DeepLearning学习笔记】Neurons神经元

这个表示有两坨东西非常复杂,一个是求和符号,另一个是threshold。那么为了简化,我们可以利用向量运算代替求和符号,即∑wjxj = wx,其中w是权重向量,x是样本向量。另外设置一个变量b=-threshold,然后把它挪到不等号左边,那么上述数学表示就变成了:

【DeepLearning学习笔记】Neurons神经元

所以一个perceptron所做的工作就是把所有输入和它们对应的权重相乘求和后加上偏置b然后和0比较,大于0输出1,小于0输出0.

Sigmoid神经元

在神经网络的训练过程中,我们随机初始化权重,然后通过训练数据逐步的修改权重,使得神经网络最终能够完成某项任务。上述的perceptron有一个缺点就是如果它的某一个权重发生了细微的变化,那么output的值很有可能直接从0跳变到1,并且它的输出跳变就有可能引起更大范围的不可控的跳变,这样我们就不能“逐(ping)渐(wen)”的调整网络的权重来训练网络。

这个时候就要引入sigmoid神经元了。它的结构和上述perceptron是十分相似的,同样有若干个输入xi,对应若干个权重wi,一个输出output。不过这些x以及output都是[0,1]之间的实数了,而不限定与binary了。并且,sigmoid神经元的工作要比perceptron稍微复杂一些:当这个perceptron把输入x和权重求完加权和后,并不是用threshold来判断输出,而是将这个加权和作为sigmoid函数(f(x)=1/(1+exp(-x)))的输入,最后函数值作为输出。

为什么这个函数可以解决perceptron的问题呢?因为如下这个公式:

【DeepLearning学习笔记】Neurons神经元

假设我们在训练网络的时候对w的修改是Δw,对b的修改是Δb,那么输出的变化是Δw和Δb的线性和(上述偏导都可以看成线性关系的系数),也就是说Δoutput=∑aiwi+bΔb(a,b都是偏导),这样一来,Δw和Δb微小的变化就不会引起output的突然跳变,而是一个线性缓慢变化的过程,这样我们训练神经网络的过程就可控了。

sigmoid的输出和perceptron是相似的,从它们的图像就可以看出来:

【DeepLearning学习笔记】Neurons神经元

红色的是perceptron,蓝色是sigmoid。二者均是当输入接近正无穷时输出接近1;当输入接近负无穷时,输出接近0.只是在0附近,perceptron的函数是跳变,而sigmoid是逐渐变化,正是这种逐渐变化使得sigmoid可导并且权重的微小变化引起的输出的变化是可控的,而不是跳变。

所以sigmoid函数重要的是它的形状好,其实这个形状的还有tanh正切函数(输出在[-1,1]而不是(0,1)):

【DeepLearning学习笔记】Neurons神经元

那么为什么sigmoid使用更广泛呢?因为它有一个极好的求导性质:

f(z)=1/(1+exp(-z))

f'(z)=f(z)(1-f(z))

这个性质在训练神经网络的BP算法中使我们可以快速计算sigmoid函数的梯度,所以sigmoid函数在神经网络中使用更广泛。

【参考】http://neuralnetworksanddeeplearning.com/index.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/167306.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 软件测试必问必背面试题

    软件测试必问必背面试题软件测试必问必背面试题01软件测试理论部分1.1测试概念1.请你分别介绍一下单元测试、集成测试、系统测试、验收测试、回归测试单元测试:完成最小的软件设计单元(模块)的验证工作,目标是确保模块被正确的编码集成测试:通过测试发现与模块接口有关的问题系统测试:是基于系统整体需求说明书的黑盒类测试,应覆盖系统所有联合的部件回归测试:回归测试是指在发生修改之后重新测试先前的测试用例以保证修改的正确性验收测试:这时相关的用户或独立测试人员根据测试计划和结果对系统进行测试和接收。验收测试包括Al

    2022年6月24日
  • hdu 3037 Saving Beans(组合数学)

    hdu 3037 Saving Beans(组合数学)

    2021年11月29日
  • redis一级缓存和二级缓存_面试官让面试者先回去

    redis一级缓存和二级缓存_面试官让面试者先回去说起mybatis,大家可能都知道它是一个优秀的久层框架,它支持定制化SQL、存储过程以及高级映射。面试中都会问起mybatis一级缓存和二级缓存,它体现出你对mybatis这个开发中的理解,如果照着答案背的话只能拿到一个及格分,所以今天咱们就好好聊聊mybatis。另外本人整理了20年面试题大全,包含spring、并发、数据库、Redis、分布式、dubbo、JVM、微服务等方面总结,下图是部分截图,需要的话点这里点这里,暗号CSDN。1.首先,什么是Mybatis?MyBatis是一.

    2022年9月20日
  • Eclipse断点调试

    Eclipse断点调试作为开发人员,掌握开发环境下的调试技巧十分有必要。去年就想把关于Eclipse断点调试总结下了,由于对时间的掌控程度仍需极大提高,结果拖到今年才写了此篇博文。关于java调试技术还有很多,如JavaDebugInterface等,依据具体项目的需要,还有很多值得去研究和学习的。该博文仅就Eclipse断点调试技巧做下总结,不足够的地方还请大牛们指点。1 Debug视图1.1线程堆栈

    2022年5月21日
  • 权重衰减(weight decay)与学习率衰减(learning rate decay)

    权重衰减(weight decay)与学习率衰减(learning rate decay)“微信公众号”1.权重衰减(weightdecay)L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。1.1L2正则化与权重衰减系数L2正则化就是在代价函数后面再加上一个正则化项:其中C0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和,除以训练集的样本大小n。λ就是正则项系数,权衡正则项与C0项的比…

    2022年6月12日
  • goland2021 激活码_在线激活

    (goland2021 激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~S32P…

    2022年3月22日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号