声明:本博客只是小白博主自己的记录博客,仅供参考。

导数到底是什么?

引用知乎上的一个回答
那么导数的本质是什么?就是变化率呗,例如小王今年卖了100头猪,去年90头,前年80头,,,也就是说每年增加10头,这就是变化率,完整点就是说10头/年,是有单位的,也就是说导数为10,说白点就是自变量单位变化量的基础上因变量的变化量,自变量就是年份,单位为年,因变量为猪的数量,年份的单位变化量就是指每年,猪的数量的变化量就是10头,所以变化率10头/年,导数为10咯。
上述例子指的是变化率为恒定的,对于一般的变化率不断变化的函数例如 y = 2x^2+30,这里的x代表年份,y代表猪的数量,这个时候变化率就是变化的,例如x = 1, y = 32, x = 2, y =38,你看x变化了1,y变化了6,为什么?对上面的式子求导为4x,这个代表变化率,你会说x=1的时候变化率不是为4嘛,不是意味着单位x的变化量y应该改变量为4嘛?高中数学学过导数就是斜率,你在x=1出的斜率为4,在其他地方就不是了啊,你如果在x= 1出做一个切线,你让x=2出做垂直线,形成的直角三角形的变化量就是4,不过函数是曲线并不是你的切线。
什么是偏导数?看下面的例子,y = 5a + 6b + 7c + 30,这个地方y代表猪的数量,a代表年份,b代表养猪场的面积,c代表饲料的数量,前面说导数就是变化率,实质上应该说是y对于x的变化率,此处偏导数就是针对某个变量的变化率呗,也就是说a变量的单位变化造成y的变化量不就是y对a的偏导数,上面的例子y对a的偏导数5,对b的偏导数6,对c的偏导数为7,注意在考虑偏导数的时候其他的变量是认为常量,也就是a变化1,y变化5,b变化1,y变化6,依次类推。

线性回归

在说到梯度下降之前一般都会说到线性回归,回归本质上就是给定一个点集,也就是有好多的点,用一条曲线去拟合,如果曲线为直线,就为线性回归,例如帝都的房子价格y由两个因素影响,x1为房子面积,x2为房子的地理位置,那么我们最后用一个表达式拟合出来,

问题的关键是如何评价我这个拟合的好坏呢?
下面就提出了损失函数


这里直接对应到了神经网络中,神经网络的目的就是训练一组优良的w,b使得最后的C最小,
这里w为权重,b为偏向,相当于x1,x2,n为训练集实例的个数,y(x)相当于h(x)神经网路的内部相当于一个模型,输入x,输出y(x),这个函数表达式本质上是一样的,相当于一种映射,a为实际的输出值,所以这对应于有监督学习,也就是输入x,经过神经网络输出y(x),和我的标签输出值a进行比较,我们的目标是C(w,b)最小,这样说明经过模型输出的预测值和真实值的差别最小

损失函数的最小化问题就要用梯度下降实现。
假设C(v1,v2),如下图

这就属于变量有两个的情况,下面先看二维的情况,也就是变量只有一个。
假设一个小球在曲面上的某一点,滚动到最低点


这个图片就特别形象,当小球在右边的点时,可以看到曲线斜率为正,也就是导数,表变化率为正值,这个时候令v = v - def J(x),也就是v 减去导数,会看到小球会往左边移动,当小球在左边的点时,斜率为负,同样v = v - defJ(x),这个时候小球会往右移动,总之最后会到达最低点。

三维的情况如下


那个系数代表学习率,如果没有学习率系数,相当于为1,导数的本质就是单位自变量导致的因变量的变化量,学习率控制更新的快慢,我们的目的是找到最低点的w和b的值,相当于坐标,学习率控制变化的步伐大小。

存在局部最优的情况


反向传播

其实就是一种利用误差来反向更新权重和偏置的方法,就是几个公式,重点理解下面的例子。



【深度学习】梯度下降和反向传播相关推荐

  1. 深度学习笔记--pytorch从梯度下降到反向传播BP到线性回归实现,以及API调用和手写数据集的实现

    梯度下降和反向传播 目标 知道什么是梯度下降 知道什么是反向传播 1. 梯度是什么? 梯度:是一个向量,导数+变化最快的方向(学习的前进方向) 回顾机器学习 收集数据 x x x ,构建机器学习模型 ...

  2. 独家 | 数据科学家指南:梯度下降与反向传播算法

    作者:Richmond Alake 翻译:陈之炎 校对:zrx本文约3300字,建议阅读5分钟 本文旨在为数据科学家提供一些基础知识,以理解在训练神经网络时所需调用的底层函数和方法. 标签:神经网络, ...

  3. 零基础入门深度学习(3) - 神经网络和反向传播算法

    无论即将到来的是大数据时代还是人工智能时代,亦或是传统行业使用人工智能在云上处理大数据的时代,作为一个有理想有追求的程序员,不懂深度学习(Deep Learning)这个超热的技术,会不会感觉马上就o ...

  4. 花书+吴恩达深度学习(三)反向传播算法 Back Propagation

    目录 0. 前言 1. 从 Logistic Regression 中理解反向传播 2. 两层神经网络中单个样本的反向传播 3. 两层神经网络中多个样本的反向传播 如果这篇文章对你有一点小小的帮助,请 ...

  5. 深度学习Pytorch--梯度与反向传播笔记

    Pytorch梯度与反向传播 相关概念 导数 偏导数 方向导数 梯度 梯度下降法 自动求梯度 概念 Tensor 反向传播求梯度 相关概念 先来理解一下从导数到梯度的相关概念. 导数 一元函数中导数就 ...

  6. 深度学习的基础知识(机器学习、损失函数、梯度下降、反向传播、基础模型一网打尽)

    1.预备信息 1.1了解技术的发展阶段 技术一般存在几个阶段:1.发展期.2.高峰期.3.冰河期.4.应用期 就是先达到一个高峰,但是在达到高峰之后就会被发现很多问题,然后热度就会不断地下降,到达一个 ...

  7. 【深度学习入门到精通系列】关于梯度下降和反向传播的探索

    文章目录 1 简单理解梯度下降 2 梯度下降作用 3 反向传播 4 图示 1 简单理解梯度下降 梯度下降它是一个函数f(x)找它的最小值x0所在的那个点. 2 梯度下降作用 总之一句话概括就是,梯度下 ...

  8. 深度学习第三次课-梯度下降与反向传播

    梯度下降 损失函数可视化 得分函数   f=W*X 损失函数   c=W*X-y 目标    损失函数最小    最优化过程 可视化 一维 二维   热力图 如果损失函数是一个凸函数,例如SVM. 凸 ...

  9. 深度学习(4) - 神经网络和反向传播算法

    神经元 神经元和感知器本质上是一样的,只不过我们说感知器的时候,它的激活函数是阶跃函数:而当我们说神经元时,激活函数往往选择为sigmoid函数或tanh函数.如下图所示: 计算一个神经元的输出的方法 ...

最新文章

  1. 计算机内存不足 ssd,电脑提示内存不足怎么办 虚拟内存设置方法【详解】
  2. Python回顾与整理10:模块
  3. Python r‘‘, b‘‘, u‘‘, f‘‘ 的含义
  4. keil环境下stm32下载和擦除程序对Flash的影响
  5. kickstart 安装CentOS GPT分区的完整ks示例
  6. go 公众号 关注 监听_开言英语公众号关注
  7. 文件服务器(虚拟目录)配置步骤
  8. 链表常见面试题二:约瑟夫环
  9. 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 1
  10. 说说我心中的Linux系统
  11. pytorch resnet50_用Pytorch手工实现ResNet50
  12. 【万字详解+PPT下载】腾讯广告实时策略数据框架建设
  13. java处理加密文件---实现RSA算法
  14. 笔记_pytorch
  15. 敏捷思维- 架构设计中的方法学(1)
  16. Java铬钼钢车架几何_车架的几何尺寸
  17. 【机器学习】线性回归实战案例三:股票数据价格区间预测模型(国外+国内数据)
  18. Weka安装后无法打开
  19. CodeForces - 1467B - Hills And Valleys (贪心)
  20. IT男最新躺枪:武汉恋爱培训班教搭讪女孩技巧 学员多为IT男

热门文章

  1. 5种共享代码的实用方法:从NPM到Lerna,Git子模块和位
  2. 基于飞桨的稻米加工品质监测系统
  3. 【论文笔记】当Bert炼丹不是玄学而是哲学:Mengzi模型
  4. matlab 分数阶 混沌分叉图,如何做出poincare 图或混沌分叉图
  5. 跟我学折纸计算机教案,《学折纸》教学设计
  6. Dynamic Routing Between Capsules学习资料总结
  7. NTP服务器(GPS北斗授时服务器)的市场需求及性能分析
  8. jq实现动态下拉选择框
  9. 新基建背景下 数字化产业园区的机遇与挑战
  10. hostapd 创建5G热点