导数

[C1W3] Neural Networks and Deep Learning - Shallow neural networks

匿名 (未验证) 提交于 2019-12-02 23:47:01
神经网络中,我们将使用上标方括号的形式表示这些值来自于哪一层,有趣的是在约定俗成的符号传统中,在这里你所看到的这个例子,只能叫做一个两层的神经网络。原因是输入层是不算入总层数内,所以隐藏层是第一层,输出层是第二层。第二个惯例是我们将输入层称为第零层,所以在技术上,这仍然是一个三层的神经网络,因为这里有输入层、隐藏层,还有输出层。但是在传统的符号使用中,如果你阅读研究论文或者在这门课中,你会看到人们将这个神经网络称为一个两层的神经网络,因为我们不将输入层看作一个标准的层。 单个样本时,向量化图示 单个样本时,运用四行代码计算出一个简单神经网络的输出(预测)。 上一节使用的是单个样本,如果把单个样本的向量横向堆叠成矩阵,就可以计算全部样本的神经网络输出(预测)。 Pros and cons of activation functions 结果表明,如果在隐藏层上使用 tanh (双曲正切)函数效果总是优于 sigmoid 函数。因为函数值域在 -1 和 +1 的激活函数,其均值是更接近 0 均值的,而不是0.5,这会使下一层学习简单一点。 在讨论优化算法时,有一点要说明:我基本已经不用 sigmoid 激活函数了,tanh 函数在所有场合都优于 sigmoid 函数。 但有一个例外:在二分类的问题中,对于输出层,想让的数值介于 0 和 1 之间,而不是在 -1 和 +1 之间

Ceres中Analytic Derivatives、 Numeric Derivatives、Automatic Derivatives区别

匿名 (未验证) 提交于 2019-12-02 23:38:02
与所有基于梯度的优化算法一样,Ceres Solver依赖于能够在其域中的任意点评估目标函数及其导数。实际上,定义目标函数及其雅可比矩阵是用户在使用Ceres Solver求解优化问题时需要执行的主要任务。正确有效地计算雅可比矩阵是获得良好性能的关键。 Ceres Solver在用户如何为求解器提供导数方面提供了相当大的灵活性。可以用: Analytic Derivatives分析导数 :用户自己手工或使用Maple或Mathematica等工具来计算衍生品,并在CostFunction中实现它们。 Numeric Derivatives数值导数 :Ceres使用有限差分在数值上计算导数。 Automatic Derivatives自动导数 :Ceres使用C ++模板和运算符重载自动计算分析导数。 应该使用这三种方法中的哪一种(单独或组合)取决于用户面对的情况和作出的权衡。 文章来源: https://blog.csdn.net/abcwoabcwo/article/details/90896076

一文读懂Xgboost

放肆的年华 提交于 2019-12-02 21:59:03
Xgboost   Xgboost是GB算法的高效实现,xgboost中的基学习器除了可以是CART(gbtree)也可以是线性分类器(gblinear)。下面所有的内容来自原始paper,包括公式。   (1). xgboost在目标函数中显示的加上了正则化项,基学习为CART时,正则化项与树的叶子节点的数量T和叶子节点的值有关。   (2). GB中使用Loss Function对f(x)的一阶导数计算出伪残差用于学习生成fm(x),xgboost不仅使用到了一阶导数,还使用二阶导数。     第t次的loss:     对上式做二阶泰勒展开:g为一阶导数,h为二阶导数   (3). 上面提到CART回归树中寻找最佳分割点的衡量标准是最小化均方差,xgboost寻找分割点的标准是最大化,lamda,gama与正则化项相关   xgboost算法的步骤和GB基本相同,都是首先初始化为一个常数,gb是根据一阶导数ri,xgboost是根据一阶导数gi和二阶导数hi,迭代生成基学习器,相加更新学习器。 xgboost与gdbt除了上述三点的不同,xgboost在实现时还做了许多 优化 : 在寻找最佳分割点时,考虑传统的枚举每个特征的所有可能分割点的贪心法效率太低,xgboost实现了一种近似的算法。大致的思想是根据百分位法列举几个可能成为分割点的候选者

Sobel

折月煮酒 提交于 2019-12-02 19:47:04
https://blog.csdn.net/qq_37124237/article/details/82183177 void cv::Sobel( InputArray _src, OutputArray _dst, int ddepth, int dx, int dy, int ksize, double scale, double delta, int borderType ) src 输入图像 dst 输出图像 the same size and the same number of channels as src . ddepth 输出图像深度,输入图像为CV_8U,sobel的结果一般为CV_16S dx order of the derivative x.: x导数的阶数??? (只能0、1、2) dy order of the derivative y.:y导数的阶数??? ksize size of the extended Sobel kernel; it must be 1, 3, 5, or 7. :差分算子的核大小 scale optional scale factor for the computed derivative values; by default, no scaling is applied :导数结果的比例系数 delta

(转)自动微分(Automatic Differentiation)简介——tensorflow核心原理

谁说我不能喝 提交于 2019-12-02 11:10:51
现代深度学习系统中(比如MXNet, TensorFlow等)都用到了一种技术——自动微分。在此之前,机器学习社区中很少发挥这个利器,一般都是用Backpropagation进行梯度求解,然后进行SGD等进行优化更新。手动实现过backprop算法的同学应该可以体会到其中的复杂性和易错性,一个好的框架应该可以很好地将这部分难点隐藏于用户视角,而自动微分技术恰好可以优雅解决这个问题。接下来我们将一起学习这个优雅的技术:-)。本文主要来源于陈天奇在华盛顿任教的课程 CSE599G1: Deep Learning System 和《 Automatic differentiation in machine learning: a survey 》。 什么是自动微分 微分求解大致可以分为4种方式: 手动求解法(Manual Differentiation) 数值微分法(Numerical Differentiation) 符号微分法(Symbolic Differentiation) 自动微分法(Automatic Differentiation) 为了讲明白什么是自动微分,我们有必要了解其他方法,做到有区分有对比,从而更加深入理解自动微分技术。 手动求解法 手动求解其实就对应我们传统的backprop算法,我们求解出梯度公式,然后编写代码,代入实际数值,得出真实的梯度。在这样的方式下

线性回归

北战南征 提交于 2019-12-02 02:34:32
0. 概述 线性回归应该是我们听过次数最多的机器学习算法了。在一般的统计学教科书中,最后都会提到这种方法。因此该算法也算是架起了数理统计与机器学习之间的桥梁。线性回归虽然常见,但是却并不简单。该算法中几乎包含了所有有监督机器学习算法的重要知识点,比如数据的表示、参数的训练、模型的评价、利用正则化防止过拟合等概念。所以说如果掌握了线性回归,可以为后面的学习打下坚实的基础。 1. 线性回归的基本形式 最简单的线性回归就是直接利用一条直线拟合二维平面上的一系列点,目的是利用这条直线概括所有训练集中样本的散布规律或趋势,最终用于新样本点的预测。二维平面上直线方程的一般形式为 y = a x + b y=ax+b,使用训练集中的数据以某种方式训练该模型后,就可以确定方程中的两个参数 a , b a,b的最优值。后面如果观察到了新的样本 x i xi,就可以带入上面学习到的公式计算 y y的值了。 在三维空间中,需要学习的是确定一个二维平面的参数; 以此类推,在 n n维空间中,需要学习的是确定一个 n − 1 n−1维的超平面的参数. 之所以称该方法为线性模型,是因为该模型是 由所有特征的线性组合构成 的,基本形式为: 式子(1-2)表示所有样本值的矩阵与对应参数向量的乘积,属于矩阵乘法((Matrix multiplication)。 具体可以参考我的另一篇博客 【机器学习

191014

大兔子大兔子 提交于 2019-12-01 08:47:43
目录 日记 回顾 数学 英语 专业课 健身 书法 191014 日记 多多自走棋 3盘 —— 每天顶多两盘—— 超标 20:36 有点累,好困,所以提前写好笔记,准备睡觉 20:36 真的是快睁不开眼了,人累的时候,大脑哪能转的动,也不知有些人怎么想的,过度用脑,真的有用吗?20:53 回顾 数学 2.1节 导数的概念 导数的定义 函数可导,则函数连续 导数可导,则左导数、右导数都存在 基本初等函数的求导法则 2.2节 求导法则 四则求导法则 \([u(x)\pm{v(x)}]'=u'(x)\pm{v}'(x)\) \([u(x)v(x)]'=u'(x)v(x)+v'(x)u(x)\) \([\frac{u(x)}{v(x)}]'=\frac{u'(x)v(x)-u(x)v'(x)}{v^2(x)}\) 推论 \((ku)'=ku'\) \((uvw)'=u'vw+uv'w+uvw'\) 反函数求导法则: \(y=f(x),\quad{x=\phi(y)},则\phi'(y)=\frac{1}{f'(x)}\) 复合求导法则: \(y=f(u),\quad{u=\phi{(x)}},则\frac{dy}{dx}=\frac{dy}{du}\frac{du}{dx}=f'(u)\phi'(x)=f'[\phi(x)]\phi'(x)\) 总结导数公式: \((c)'=0\) \((x