导数

2019-12-22

浪尽此生 提交于 2019-12-23 01:10:23
标题 (一.导数和变化率) 1.推导过程记录 从导数的几何解释入手,通过如何画出一条切线,来引出导数和变化率,切线就是极限,最后得出求导公式。 2.新知识 a.将求导公式定义为差商 b.对称方程(某种对角线上的镜像对称,可以对调(x,y)和(y,x)) 3.其他收获 a.微积分的重要性,在各领域的应用 b.国外讲课方式的差异性(学生遇到问题就能在课堂上提问,老师对由来和定义讲解的详细,层层递进,大量板书) 来源: CSDN 作者: weixin_45994391 链接: https://blog.csdn.net/weixin_45994391/article/details/103655724

常用矩阵导数公式

笑着哭i 提交于 2019-12-22 18:09:48
1 矩阵\(Y=f(x)\)对标量x求导 矩阵Y是一个\(m\times n\)的矩阵,对标量x求导,相当于矩阵中每个元素对x求导 \[\frac{dY}{dx}=\begin{bmatrix}\dfrac{df_{11}(x)}{dx} & \ldots & \dfrac{df_{1n}(x)}{dx} \\ \vdots & \ddots &\vdots \\ \dfrac{df_{m1}(x)}{dx} & \ldots & \dfrac{df_{mn}(x)}{dx} \end{bmatrix}\] 2 标量y=f(x)对矩阵X求导 注意与上面不同,这次括号内是求偏导,\(X\)是是一个\(m\times n\)的矩阵,函数\(y=f(x)\)对矩阵\(X\)中的每个元素求偏导,对\(m\times n\)矩阵求导后还是\(m\times n\)矩阵 \[\frac{dy}{dX} = \begin{bmatrix}\dfrac{\partial f}{\partial x_{11}} & \ldots & \dfrac{\partial f}{\partial x_{1n}}\\ \vdots & \ddots & \vdots \\\dfrac{\partial f}{\partial x_{m1}} & \ldots & \dfrac{\partial f}{

Pytorch学习--导数,激活函数,反向传播

瘦欲@ 提交于 2019-12-21 03:35:05
文章目录 激活函数及其梯度 Sigmoid / Logistic Tanh Rectified Linear Unit Leaky ReLU SELU softplus LOSS及其梯度 Mean Squared Error softmax()函数 Cross Entropy Lose 多输出感知机求导样例 测试案例 激活函数及其梯度 Sigmoid / Logistic f ( x ) = 1 / ( 1 + e − x ) f(x) = 1/(1+e^{-x}) f ( x ) = 1 / ( 1 + e − x ) torch.sigmoid(a) 调用sigmoid函数 Tanh f ( x ) = t a n h ( x ) = ( e x − e − x ) / ( e x + e − x ) f(x) = tanh(x) = (e^x - e^{-x})/(e^x + e^{-x}) f ( x ) = t a n h ( x ) = ( e x − e − x ) / ( e x + e − x ) = 2 s i g m o i d ( 2 x ) − 1 = 2sigmoid(2x) -1 = 2 s i g m o i d ( 2 x ) − 1 在sigmoid上,x轴压缩2倍,y轴拉伸两倍,并下移1 torch.tanh(a) Rectified

sp2.2 优化算法 加快训练

筅森魡賤 提交于 2019-12-16 20:26:17
batch批梯度下降法:以前是所有的x1到xn之和减去yi到yn之和整体一遍算梯度下降 假设数据特别多 上亿只为了求个微分 还要重复 mini-batch:把训练集分成几个部分,假设500 万个样本,分成5000个小部分 每个1000样本 x^(i)第几个样本 x^[l]第几层的X x^{t}第几个部分的y^{t} 假设样本1000个每部分 则x^{t}为(n,1000)n是特征值数 每次梯度下降取一块即可 这里X{}大括号表示 第几组(代) 原本5,000,000分为 5000组 每组1000个训练样本 这里一个for循环 称为1代,这里一代也就是整个训练集,他就能做5000个梯度下降了, 外面可以在加个大循环 循环几代 在整体的批梯度下降每次都是减少的J 只要步子选的对 但是在mini-batch中是曲折的,可能部分批次难算 里面的样本有些不同 每次更新Θ只用一个样本 随机梯度下降不会停止 只会最后在最小附近一直 失去向量化带来的加速 效率慢 所以mini-batch还是选个不大不小的:训练集小的话直接批梯度 2000一下 大的话64-1024,最好是2的次方 卧槽玄学 和cpu运行有关 SGD每个样本都算个损失和反向传播 SGD三个循环 一个整个样本的循环几遍 一个循环每个样本反向传播 一个循环每一层 SGD和minibatch 这三种的区别就是 the number of

函数、极限、连续性、导数

假如想象 提交于 2019-12-11 11:48:55
一、函数 1、函数的定义 函数表示量与量之间的关系如:A=πr2A=πr2。更普遍的是用y=f(x)y=f(x)表示,其中x表示自变量,y表示因变量。函数在x0处取得的函数值y0=y∣x=x0=f(x0)y0=y∣x=x0=f(x0)。值得一提的是,符号只是一种表示,也可以用其他符号来表示,比如:y=g(x)y=g(x)、y=φ(x)y=φ(x)、y=ψ(x)y=ψ(x)等。 2、常用函数形式 分段函数:f(x)={x−−√,−x,x⩾0x<0f(x)={x,x⩾0−x,x<0 反函数:h=12gt2→h=h(t)→t=2hg−−√→t=t(h)h=12gt2→h=h(t)→t=2hg→t=t(h) 显函数:y=x2+1y=x2+1 隐函数:F(x,y)=0F(x,y)=0,3x+y−4=03x+y−4=0 3、函数特点 奇函数:相对于原点对称的函数f(−x)=−f(x)f(−x)=−f(x),如f(x)=x3f(x)=x3,代入计算可得f(−x)=(−x)3=−x3=−f(x)f(−x)=(−x)3=−x3=−f(x)。 偶函数:相当于Y轴对称的函数f(−x)=f(x)f(−x)=f(x),如f(x)=x2f(x)=x2,代入计算可得f(−x)=(−x)2=x2=f(x)f(−x)=(−x)2=x2=f(x)。 周期函数:经过一个周期T的变化函数值仍相等f(x+T)=f(x)f

【Algorithm】梯度下降算法的数学原理

爷,独闯天下 提交于 2019-12-10 22:21:00
1.前言 在机器学习,深度学习中,我们通过定义损失函数并采用最小化损失函数的策略来优化模型中的参数。到了这个环节,其实我们面临的就是最优化问题。求解这些问题的方法也有很多,最常用就是 梯度下降算法 ,在李航博士的《统计学习方法》中也还有 牛顿法 等。而针对梯度下降算法的不足,对此改进的有 随机梯度下降法 以及添加 动量 等。在本篇博文中,我们先来看看梯度下降算法的数学原理。 2.预备知识 在了解梯度下降算法之前,我们需要有一定的数学基础,例如:偏导,梯度,泰勒展开式。偏导大家应该很清楚,就不做细谈,现在让我们回忆以下梯度以及泰勒展开式的相关概念。 2.1梯度 本部分主要参考百度文库[1]。梯度:表示一函数在该点的方向导数沿着该方向取得最大值,即函数在该点处沿着该方向(此梯度的方向)变化最快,变化率最大(为该梯度的模)。这里又有一个新名词 方向导数 ,那么什么是方向导数呢?下面我们来看看: 背景 :假如我们有一个曲面(我们可以联想到这是一个山坡, z z z 可以看成一个高度) z = ( x , y ) z=(x,y) z = ( x , y ) ,其中 ( x , y ) ∈ D (x,y)\in D ( x , y ) ∈ D ,可以将 D D D 理解为这座山所占水平面的那块平面区域,在这块区域上有一点 M 0 ( x 0 , y 0 ) ∈ D M_0(x_0,y_0)

#机器学习/梯度下降(Gradient Descent)

孤者浪人 提交于 2019-12-10 01:46:00
在求解机器学习算法的模型参数,即无约束优化问题时,梯度下降(Gradient Descent)是最常采用的方法之一,另一种常用的方法是最小二乘法。这里就对梯度下降法做一个完整的总结。 1.梯度 众所周知,在微积分里面,对多元函数的参数求∂偏导数,把求得的各个参数的偏导数以向量的形式写出来,就是梯度。在向量微积分中,梯度(gradient)是一种关于多元导数的概括。平常的一元(单变量)函数的导数是标量值函数,而多元函数的梯度是向量值函数。 就像一元函数的导数表示这个函数图形的切线的斜率[3],如果多元函数在点P上的梯度不是零向量,它的方向是这个函数在P上最大增长的方向,而它的量是在这个方向上的增长率 梯度向量中的幅值和方向是与坐标的选择无关的独立量[5]。 在欧几里德空间或更一般的流形之间的多元可微映射的向量值函数的梯度推广是雅可比矩阵。在巴拿赫空间之间的函数的进一步推广是弗雷歇导数。 那么这个梯度向量求出来有什么意义呢?他的意义从几何意义上讲,就是函数变化增加最快的地方。具体来说,对于函数f(x,y),在点(x0,y0),沿着梯度向量的方向就是(∂f/∂x0, ∂f/∂y0)T的方向是f(x,y)增加最快的地方。或者说,沿着梯度向量的方向,更加容易找到函数的最大值。反过来说,沿着梯度向量相反的方向,也就是 -(∂f/∂x0, ∂f/∂y0)T的方向,梯度减少最快

读书笔记之《高等数学》---第二章 导数与微分

我们两清 提交于 2019-12-08 17:15:43
本章目录 1.导数概念 2.导数的求导法则 3.高阶导数 4.隐函数及由参数方程所确定的函数的导数相关变化率 5.函数微分 导数的概念 从两个例子引入: 1.之前运动的速度:当位置随时间变化而变化时,在位置变化∆s,与时间增量∆t的比值,就是在∆t这段时间的平均速度,当∆t接近于0时,如果∆s与∆t的极限存在,则这个极限值就是∆s在∆t时刻的瞬时速度,称为导数 2.切线问题:在一段弧线去两点画割线,当两点不断接近时,割线越来越接近切线,切线未极限。此时切线的斜率为∆y与∆x的比值,为该点的极限。 导数的定义: 注意:求导本质是求极限的过程。 如果y=f(x)在开区间N内的每一点都可导,每一点的导数值构成一个新函数,称为导函数, 导数的几何意义: 函数的可导性与连续性的关系:在某一点可导,则在该点必连续,在某点连续,不一定在该点可导。 函数求导法则 基本求导法则与求导数公式汇总: 高阶导数 莱布尼兹公式: 隐函数及由参数方程所确定的函数的导数 相关变化率 隐函数:x-y+1=0 隐函数显化:y=x+1 隐函数的导数:由于有些隐函数显化非常困难,所以可以将隐函数中的y直接看成x的函数,将隐函数看成一个复合函数直接求导。例如 参数方程: 参数方程确定的函数显示表示: 由参数方程所确定的函数的导数:和隐函数一样,有些参数方程确定的函数显示表示特别困难,所以需要直接对其求导的方法

动手学PyTorch | (6) 多层感知机

谁都会走 提交于 2019-12-08 14:54:53
我们已经介绍了包括线性回归和softmax回归在内的单层神经⽹络。然⽽深度学习主要关注多层模型。在本节中,我们将以多层感知机(multilayer perceptron,MLP)为例,介绍多层神经网络的概念。 目录 1. 隐藏层 2. 激活函数 3. 多层感知机 4. 小结 1. 隐藏层 多层感知机在单层神经⽹络的基础上引⼊了一到多个隐藏层(hidden layer)。隐藏层位于输⼊层和输出层之间。下图展示了⼀个多层感知机的神经⽹络图,它含有⼀个隐藏层,该层中有5个隐藏单元。 在上图所示的多层感知机中,输⼊和输出个数分别为4和3,中间的隐藏层中包含了5个隐藏单元 (hidden unit)。由于输入层不涉及计算,图3.3中的多层感知机的层数为2。由上图可见,隐藏层中的神经元和输⼊层中各个输⼊完全连接,输出层中的神经元和隐藏层中的各个神经元也完全连接。因此,多层感知机中的隐藏层和输出层都是全连接层。 具体来说,给定⼀个⼩批量样本 ,其批量大小维n,输入个数为d。假设多层感知机只有⼀个隐藏层,其中隐藏单元个数为h。记隐藏层的输出(也称为隐藏层变量或隐藏变量)为H,有 。因为隐藏层和输出层均是全连接层,可以设隐藏层的权􏰀重参数和偏差参数分别为 ,输出层的权􏰀重和偏差参数分别为 。 我们先来看一种含单隐藏层的多层感知机的设计。其输出 的计算为: 也就是将隐藏层的输出直接作为输出层的输入

Python中的图像处理

有些话、适合烂在心里 提交于 2019-12-08 03:00:03
http://www.ituring.com.cn/tupubarticle/2024 第 1 章 基本的图像操作和处理 本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Python 工具包,并介绍用于读取图像、图像转换和缩放、计算导数、画图和保存结果等的基本工具。这些工具的使用将贯穿本书的剩余章节。 1.1 PIL:Python图像处理类库 PIL(Python Imaging Library Python,图像处理类库)提供了通用的图像处理功能,以及大量有用的基本图像操作,比如图像缩放、裁剪、旋转、颜色转换等。PIL 是免费的,可以从 http://www.pythonware.com/products/pil/ 下载。 利用 PIL 中的函数,我们可以从大多数图像格式的文件中读取数据,然后写入最常见的图像格式文件中。PIL 中最重要的模块为 Image 。要读取一幅图像,可以使用: from PIL import Image pil_im = Image . open ( 'empire.jpg' ) 上述代码的返回值 pil_im 是一个 PIL 图像对象。 图像的颜色转换可以使用 convert() 方法来实现。要读取一幅图像,并将其转换成灰度图像,只需要加上 convert('L') ,如下所示: pil_im = Image . open (