归一化

决策树的几何理解

[亡魂溺海] 提交于 2020-02-05 02:00:21
决策树的几何理解 一、决策树的实质是对空间的分割 对于一个多维数据,可以将它的每一个属性看成一个维度。如一个二维数据可以看成一个平面,一个三维数据可以看成一个立方体。各属性的取值表示标签的空间位置。那么决策树的每一次测试可以看成对某一维空间的一次分割。 1、树的深度则指的是取多少个维度进行分割,显然树的深度不能超过属性个数,因为属性个数意味着维度,你不允许对一个三维物体从第四维开刀。 2、树的分支个数,指的是你对一个维度“切了几刀”(更精确的是,树的分支个数减一是你的“刀数”。 因为一刀分两段,两刀分三段。。 3、树的叶子节点个数本质是你把空间分割成了几份。 4、剪枝意味着对分割空间的合并。 剪枝的意义: 从上文我们知道决策树的每一次对空间的分割都是“贯穿”的,可以理解成“一刀两段”。而“剪枝”则又将被分割的空间进行局部的“缝补”。这种“缝补”不是任意的,只能“缝补”原本就“相邻”的空间。 举个分类问题的例子,我们现在需要根据已有三维数据把目标分成两类。我们不妨把我们的三维数据想象成一个空间立方体(如一个石块),把任务理解成:通过不断的分割,找到数据里属于“维纳斯的部分”和“不属于维纳斯的部分”(对应任务的“分成两类”) 好了,我们现在成功把一个二分类问题想象成把石块雕刻成维纳斯的过程。 如果没有剪枝过程,决策树最终得到的是“方块状”的空间。显然我们永远不可能得到一个维纳斯的形状

归一化(softmax)、信息熵、交叉熵

旧巷老猫 提交于 2020-02-03 14:08:34
机器学习中经常遇到这几个概念,用大白话解释一下: 一、归一化 把几个数量级不同的数据,放在一起比较(或者画在一个数轴上),比如:一条河的长度几千甚至上万km,与一个人的高度1.7m,放在一起,人的高度几乎可以被忽略,所以为了方便比较,缩小他们的差距,但又能看出二者的大小关系,可以找一个方法进行转换。 另外,在多分类预测时,比如:一张图,要预测它是猫,或是狗,或是人,或是其它什么,每个分类都有一个预测的概率,比如是猫的概率是0.7,狗的概率是0.1,人的概率是0.2... , 概率通常是0到1之间的数字,如果我们算出的结果,不在这个范围,比如:700,10,2 ,甚至负数,这样就需要找个方法,将其转换成0-1之间的概率小数,而且通常为了满足统计分布,这些概率的和,应该是1。 最常用的处理方法,就是softmax,原理如上图(网上淘来的)。 类似的softmax(1)=0.12,softmax(-3)=0,这个方法在数学上没毛病,但是在实际运用中,如果目标值x很大,比如10000,那e的10000次方,很可能超出编程语言的表示范围,所以通常做softmax前,要对数据做一下预处理(比如:对于分类预测,最简单的办法,所有训练集整体按比例缩小) 二、信息熵 热力学中的热熵是表示分子状态混乱程度的物理量,而且还有一个所谓『熵增原理』,即:宇宙中的熵总是增加的,换句话说

神经网络检测三相电机缺相

こ雲淡風輕ζ 提交于 2020-02-01 19:16:52
在前天“恩智浦MCU加油站”公众号给出了一篇 。显示了RT1010强大的算力可以支持AI边缘计算的能力,并给出了将PC训练的网络模型快速移植并部署到MCU的开发工具“NNCU:NN toolkit for mCU”的下载方式,帮助感兴趣的同学快速开发嵌入式神经网络算法。 三相电流缺相检测实验系统 三相电机,特别是鼠笼感应电机,在启动之后如果因为突然电源变动,或者负载波动,或者器件老化,使得三相供电中某一相回路断路,此时电机就只在两相电供电下工作。 在两项电压激励下,电机内部不再是旋转磁场,而是振荡磁场,根据感应电动机的负载特性,已经启动的电机仍然可以旋转,只是工作输出力矩减小,效率大大降低,进而增加系统工作电流,对电机和供电系统带来危险。 鼠笼式感应电机由于保险损坏产生缺相 在给出的推文视频中,显示做实验的小型电机应该是一种永磁同步电机(BLDC),这种电机运行在与外加旋转磁场相同转速下。在缺相的情况下,电机也会同步运行,只是此时输出力矩降低很多。 对于电机三相供电时的缺相检测,是保护电机和驱动电路重要方法。 手动断开运行中电机一路电线,产生缺相故障 电机驱动电路中通常带有三相电流检测电路,可以实时获得电机三相电流的数值。如果在运行中发现某一项电流在驱动电压下电流消失,可以判断电机出现缺相故障。 如果检测的电流如下图所示,是非常干净标准的正弦信号,似乎进行缺相检测并不困难。

图像处理基础(4):高斯滤波器详解

痞子三分冷 提交于 2020-02-01 17:11:32
本文主要介绍了高斯滤波器的原理及其实现过程 高斯滤波器是一种线性滤波器,能够有效的抑制噪声,平滑图像。其作用原理和均值滤波器类似,都是取滤波器窗口内的像素的均值作为输出。其窗口模板的系数和均值滤波器不同,均值滤波器的模板系数都是相同的为1;而高斯滤波器的模板系数,则随着距离模板中心的增大而系数减小。所以,高斯滤波器相比于均值滤波器对图像个模糊程度较小。 什么是高斯滤波器 既然名称为高斯滤波器,那么其和高斯分布(正态分布)是有一定的关系的。一个二维的高斯函数如下: \[ h(x,y) = e ^ {- \frac{x^2 + y^2}{2\sigma ^ 2}} \] 其中 \((x,y)\) 为点坐标,在图像处理中可认为是整数; \(\sigma\) 是标准差。要想得到一个高斯滤波器的模板,可以对高斯函数进行离散化,得到的高斯函数值作为模板的系数。例如:要产生一个 \(3 \times 3\) 的高斯滤波器模板,以模板的中心位置为坐标原点进行取样。模板在各个位置的坐标,如下所示(x轴水平向右,y轴竖直向下) 这样,将各个位置的坐标带入到高斯函数中,得到的值就是模板的系数。 对于窗口模板的大小为 \((2k + 1) \times (2k + 1)\) ,模板中各个元素值的计算公式如下: \[ H_{i,j} = \frac{1}{2\pi \sigma ^ 2}e ^{-\frac

深度学习入门笔记(十三):批归一化(Batch Normalization)

…衆ロ難τιáo~ 提交于 2020-02-01 14:28:42
欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 1)该文章整理自网上的大牛和机器学习专家无私奉献的资料,具体引用的资料请看参考文献。 2)本文仅供学术交流,非商用。所以每一部分具体的参考资料并没有详细对应。如果某部分不小心侵犯了大家的利益,还望海涵,并联系博主删除。 3)博主才疏学浅,文中如有不当之处,请各位指出,共同进步,谢谢。 4)此属于第一版本,若有错误,还需继续修正与增删。还望大家多多指点。大家都共享一点点,一起为祖国科研的推进添砖加瓦。 文章目录 欢迎关注WX公众号:【程序员管小亮】 专栏——深度学习入门笔记 声明 深度学习入门笔记(十三):批归一化(Batch Normalization) 1、归一化(BN)网络的激活函数 2、将BN拟合进神经网络 3、BN为什么奏效? 4、测试时的 Batch Norm 推荐阅读 参考文章 深度学习入门笔记(十三):批归一化(Batch Normalization) 深度学习100问之深入理解Batch Normalization(批归一化) Batch Normalization简称BN。 1、归一化(BN)网络的激活函数 在深度学习兴起后,最重要的一个思想是它的一种算法,叫做 批归一化(BN) ,由 Sergey loffe 和 Christian Szegedy 两位研究者创造。 Batch

目标表达(基于边界的表达)

拥有回忆 提交于 2020-02-01 05:49:02
一、基于边界的表达 技术分类: (1) 边界点集合:各点间没有顺序 (2) 参数边界:将目标的轮廓线表示为参数曲线 (3) 曲线逼近:用几何基元来近似 1、地标点: 就是单个(x,y)坐标点 一种近似表达方法,点越多近似越好 2、链码 : 用线段表示边界上相邻两个象素之间的联系每个线段的长度固定而方向数目取为有限起点用坐标表示,其余点只用接续方向。 简单的说取一个头,后面的点都是距离这个点按照位置偏移。 链码归一化: ①起点归一化 (将链码看作由方向数构成的自然数选取值最小的自然数顺序) ②旋转归一化(利用链码的一阶差分差分码不随轮廓旋转而变化利用链码的一阶差分差分码不随轮廓旋转而变化 ) 链码平滑: ( 将原始的链码序列用较简单的序列代替 ) 虚线箭头:原始的在象素p和q之间的8-连通链码 实线箭头:用来替换原始序列的新序列 缝隙码: 连接相邻轮廓象素边缘的中点 3、边界段 简化表达,把边界分解成若干段分别表示可节省表达数据量(针对性强)借助凸包(包含目标的最小凸形)概念 根据凸包把边界 分解成:目标(象素集合S分解) 凸包:包含S的最小凸形 H凸残差:D = H –S 重要思想:跟踪边界H,每个进入D或者出去D的点就是一个分段点。 4、边界标志 把2-D边界用1-D的较易描述的函数形式来表达 具体方法有以下几种: 1、距离为角度的函数。(角度为X,距离或者说半径为Y)

K均值聚类的理解和实现

雨燕双飞 提交于 2020-01-31 02:01:43
K均值聚类的理解和实现 1. 距离的测度 1.1 欧式距离 1.2 马氏距离 1.2.1 利用马氏距离对数据进行归一化 1.2.2 利用马氏距离进行分类 2. K均值的基本理论 2.1 K均值的原理和实现 2.2 K均值的缺点 2.3 K均值改进 3. 算法实现 3.1 获取样本 3.2 协方差逆阵方根的计算方法 3.3 聚类实验 3.3.1 一般的K均值聚类 3.3.2 基于马氏距离K-means++聚类 3.3.3 基于肘部法则的K-means++聚类 4.参考资料 1. 距离测度 1.1 欧式距离 在 数学中 , 欧氏距离 或 欧几里德度量 是 欧几里得空间中 两点之间的“普通” 直线距离 。通过这个距离,欧几里德空间成为 度量空间 。相关的 规范 称为 欧几里得范数 。 较早的文献将 度量 指为 毕达哥拉斯度量 。 广义 的欧几里得范数项是 L2范数 或 L2距离 。 通常,对于n维空间来说,欧几里得距离可以表示为: 中的欧式距离如图1.1-1所示: 图1.1-1 中欧几里得距离的表达 标准的欧几里德距离可以是平方的,以便逐渐将更大的重量放置在更远的物体上。在这种情况下,等式变为: 平方欧几里德距离不是一个 度量 ,因为它不满足三角不等式 ; 然而,它经常用于仅需要比较距离的优化问题。 它在 理性三角学 领域也被称为 quadrance 。 1.2 马氏距离

opencv学习笔记(五)

北城以北 提交于 2020-01-30 07:19:36
图像金字塔 高斯金字塔 向下采样法 从金字塔底层向上采样(面积从大到小)先使用高斯内核与原图进行卷积操作,然后将偶数行列去除。 向上采样法 向下采样法的逆操作,先将原图像扩大为原来的两倍,用0填充新增行列,然后使用与先前相同的内核与放大后的图像进行卷积,得到近似值。 在opencv中代码如下: def up(img ,upordown): if(upordown ==1): return cv2.pyrUp(img) else: return cv2.pyrDown(img) 拉普拉斯金字塔 L i = G i − P y r U p ( P y r D o w n ( G i ) ) L~i~ = G~i~ - PyrUp(PyrDown(G~i~)) L i = G i − P y r U p ( P y r D o w n ( G i ) ) 得到的是原图与执行了down然后在执行up后的结果之间的差异。 代码如下: def Lapras(img): return (img - cv2.pyrUp(cv2.pyrDown(img))) 轮廓检测 cv2.findContours(img,mode,method) mode: RETR_EXTERNAL:只检测最外面的轮廓 RETR_LIST:检索所有轮廓并放入链表 RETR_CCOMP:检索所有轮廓并分成两层

归一化 标准化 区别

陌路散爱 提交于 2020-01-30 04:34:31
归一化,把min-max normalization 叫做归一化,也就是x=x - min(x) / max(x) - min(x) 标准化,把z-score normalization 叫做标准化,也就是x=x - mean(x) / 标准差 来源: CSDN 作者: csdn果冻柠檬 链接: https://blog.csdn.net/lemon4869/article/details/104109971

深度学习之学习笔记(六)—— 激活函数

三世轮回 提交于 2020-01-28 02:17:04
激活函数 在第三章《神经元的工作原理》中,我们曾经提到过激活函数。当时使用的是最简单的阶跃函数作为激活函数。 阶跃函数具有不连续、不光滑等不太好的性质,因此实际常用Sigmoid函数作为激活函数。Sigmoid函数的定义和图形如下: Sigmoid函数把可能在较大范围内变换的输入值挤压到(0,1)输出范围内,因此也称为“ 挤压函数 ”(Squashing function)。 其中 , Sigmoid函数被选为激活函数还有一个很重要的原因是它的 导数很容易计算。 求导过程如下: 先将 稍微变形,有 记 , 则 其中 根据复合函数求导法则: 若 ,则 为什么要计算激活函数的导数?这个我们在后面《误差反向传播法》一章里解释。 非线性激活函数 ( ) 可以很明显地看出,Sigmoid函数是一个非线性函数。关于线性函数和非线性函数的定义如下: 输出值是输入值的常倍数的函数称为 线性函数 ,用数学式表示为 , 为常数。因此线性函数是一条直线 非线性函数 ,就是指不像线性函数那样呈现出一条直线的函数,比如Sigmoid函数 所有的 激活函数 都是 非线性函数 让我们回顾一下神经网络训练时的具体操作:我们将输入 和它对应的权重 相乘,并将激活函数 应用于该乘积来获取该层的输出,并将激活函数的运算结果作为输入馈送到下一个层。 问题是,为什么我们一定要加上一个非线性的激活函数来处理输入信号呢?