误差分析

评价分类与预测算法的指标

旧时模样 提交于 2019-11-29 05:08:36
  分类与预测模型对训练集进行预测而得出的准确率并不能很好地反映预测模型未来的性能,为了有效判断一个预测模型的性能表现,需要一组没有参与预测模型建立的数据集,并在该数据集上评价预测模型的准确率,这组独立的数据集叫做测试集。模型预测效果评价,通常用相对/绝对误差、平均绝对误差、均方误差、均方根误差、平均绝对百分误差等指标来衡量。 1、绝对误差与相对误差   设$Y$表示实际值,$\hat{Y}$表示预测值,则$E$为绝对误差,其计算公式为:$E=Y-\hat{Y}$   $e$为相对误差,其计算公式为:$e=\frac{Y-\hat{Y}}{Y}$ 2、平均绝对误差   平均误差的计算公式为:$MAE=\frac{1}{n} \sum_{i=1}^{n}\left|E_{i}\right|=\frac{1}{n} \sum_{i=1}^{n}\left|Y_{i}-\hat{Y}_{i}\right|$   其中,$MAE$表示平均绝对误差,$E_{i}$表示第$i$个实际值与预测值的绝对误差,$Y_{\mathrm{i}}$表示第$i$个实际值,$\hat{Y}_{i}$表示第$i$个预测值。   由于预测误差有正有负,为了避免正负相抵消,故 取误差的绝对值进行综合并取其平均数 ,这是误差分析的综合指标法之一。 3、均方误差   均方误差的计算公式为:$MSE=\frac{1}{n

米联客 ZYNQ/SOC精品教程 S02-CH13 CAN总线通信实验

百般思念 提交于 2019-11-29 00:23:45
软件版本:VIVADO2017.4 操作系统:WIN10 64bit 硬件平台:适用米联客 ZYNQ系列开发板 米联客(MSXBO)论坛: www.osrc.cn 答疑解惑专栏开通,欢迎大家给我提问!! 13.1 概述 ZYNQ的PS中包含了2个CAN接口,兼容CAN 2.0A和CAN 2.0B,最高可支持1Mbps的波特率。CAN作为工业应用中的一个重要的总线标准,广泛应用于各行各业之中。本教程介绍了ZYNQ中PS端CAN接口的基本使用方法,并通过CAN接口实现与PC端CAN调试软件之间的数据接收和发送测试。 13.2 CAN总线介绍 13.2.1数据格式 CAN总线中的数据以帧为单位,一共包含5种类型的帧,分别为:数据帧、远程帧、错误帧、过载帧和帧间隔。 数据帧:用于发送节点向接收节点传送数据的帧。 远程帧:用于接收节点向具有相同ID的发送节点请求数据的帧。 错误帧:用于当检测出错误时向其他节点通知错误的帧。 过载帧:用于接收节点通知其尚未做好接受准备的帧。 帧间隔:用于将数据帧及远程帧与前面的帧分离开来。 CAN帧格式如下图所示,CAN 2.0A中使用的是标准帧,CAN 2.0B中使用的是扩展帧。标准帧和扩展帧的区别在于扩展帧增加了18bit的扩展标识符。一般情况下,与用户直接相关的只有数据帧和远程帧。数据帧和远程帧都可以使用标准帧格式或者扩展帧格式。

机器学习笔试知识点

痴心易碎 提交于 2019-11-28 15:14:56
Q1. 在回归模型中,下列哪一项在权衡欠拟合(under-fitting)和过拟合(over-fitting)中影响最大? ¶ A. 多项式阶数 B. 更新权重 w 时,使用的是矩阵求逆还是梯度下降 C. 使用常数项 答案:A 解析:选择合适的多项式阶数非常重要。如果阶数过大,模型就会更加复杂,容易发生过拟合;如果阶数较小,模型就会过于简单,容易发生欠拟合。如果有对过拟合和欠拟合概念不清楚的,见下图所示: Q2. 假设你有以下数据:输入和输出都只有一个变量。使用线性回归模型(y=wx+b)来拟合数据。那么使用留一法(Leave-One Out)交叉验证得到的均方误差是多少? A. 10/27 B. 39/27 C. 49/27 D. 55/27 答案:C 解析:留一法,简单来说就是假设有 N 个样本,将每一个样本作为测试样本,其它 N-1 个样本作为训练样本。这样得到 N 个分类器,N 个测试结果。用这 N个结果的平均值来衡量模型的性能。 对于该题,我们先画出 3 个样本点的坐标: 使用两个点进行线性拟合,分成三种情况,如下图所示: 第一种情况下,回归模型是 y = 2,误差 E1 = 1。 第二种情况下,回归模型是 y = -x + 4,误差 E2 = 2。 第三种情况下,回归模型是 y = -1/3x + 2,误差 E3 = 2/3。 则总的均方误差为: M S E = 1 3

传统推荐算法(五)LR+GBDT(1)剑指GBDT

大城市里の小女人 提交于 2019-11-28 05:55:27
文章目录 写在前面 1. GBM 1.1 从参数空间到函数空间: 1.2 从非参估计到参数估计 1.3 泰勒展开近似 2. GBM的基学习器 2.1 基学习器选择 2.2 CART回归树 3. GBDT之回归 4. GBDT之分类 4.1 二类逻辑回归和分类 4.2 多类逻辑回归和分类 5. 反思总结 5.1 样本权重调整 5.2 GBDT优缺点 6. GBDT资料推荐 参考 公众号 写在前面 学习GBDT的时候,被网上的几篇文章搞晕了,就去看了下GBDT的论文,整理了一些思路,结合参考中的一些内容,整理了这篇文章。本文将循序渐进,从GB,DT讲到GBDT,细致分析下GBDT的原理。本人才疏学浅,有些地方可能理解得不对,欢迎指出错误。学习过程中,薛大佬的这篇文章给了我很多启发:http://xtf615.com/paper/GBM.html。他本人也很热心地帮我解答疑问,在此特别感谢。 机器学习中的 Boosting 算法族有两大类,一类是 weight_boosting,其中以 adaboost 为主要代表,另一类是 gradient_boosting,其中以 gbdt 为主要代表[1]。GBDT是机器学习竞赛中常用的一种算法,据统计,Kaggle比赛中50%以上的冠军方案都是基于GBDT算法[2]。有人称之为机器学习TOP3算法。 1999年,Jerome Harold

神经网络后馈算法剖析

喜夏-厌秋 提交于 2019-11-28 00:14:30
在coursera中Ng的机器学习课程中,他介绍了神经网络中的前向传播算法以及后馈算法,但是对于后馈算法中,为什么要那么做,只用了一句需要使用复杂的数学来证明。我查阅了相关的资料,对这一部分的原理进行了学习,现将这部分知识记录下来,以供共同学习。 1、简单的线性模型中误差分析 使用一个大小为 N 的训练集对一个预测(分类)模型进行训练时,总误差为:        ————(1) 而在一个线性模型中,第 k 个输出 y k 是输入 x i 的线性组合:       ————(2) 其中, w ki 是第 i 个输入到第 k 个输出的边权。对于某个输入数据(另外一种讲法叫 模式 ) n ,它的误差函数被定义为:       ————(3) 其中, y nk 为:   ————(4) t nk 是输入数据 n 是先所打上的标签,即真实结果。 由(3)和(4)可求得:        ————(5) 我们可以看到,误差对某个边权 w ji 的偏导,等于这个边所连输出端的 误差信号 ( y nj - t nj )与这个边所连输入端的变量的乘积。 2、神经网络的后馈算法 2.1 前馈过程 一个简单的神经网络模型如下图所示: 这个神经网络有1个输入层,2个隐层以及1个输出层;对于某个unit(神经元),它的输入等于各个前一层神经元的加权和:       ————(6) 其中,带括号的上标表示层数,

机器学习——SVM

不打扰是莪最后的温柔 提交于 2019-11-27 22:03:05
文章目录 SVM介绍 SVM理论 线性可分性(linear separability) 损失函数(loss function) 经验风险(empirical risk)与结构风险(structural risk) 核方法 常见的核函数 核函数与松弛变量 问题描述 解答与分析 SVM算法步骤 问题 解答与分析 其他扩展问题 其他参考 SVM(Support Vector Machine, 支持向量机)是众多监督式学习方法中十分出色的一种,几乎所有的讲述经典机器学习方法的教材都会介绍。 SVM介绍 支持向量机(Support Vector Machine, SVM)是一类按监督学习(supervised learning)方式对数据进行二元分类(binary classification)的广义线性分类器(generalized linear classifier),其决策边界是对学习样本求解的最大边距超平面(maximum-margin hyperplane)。 SVM使用铰链损失函数(hinge loss)计算经验风险(empirical risk)并在求解系统中加入了正则化项以优化结构风险(structural risk),是一个具有稀疏性和稳健性的分类器。SVM可以通过核方法(kernel method)进行非线性分类,是常见的核学习(kernel learning)方法之一

神经网络理论知识

China☆狼群 提交于 2019-11-27 15:25:33
感知器: 一个感知器有如下组成部分: 输入权值 ——一个感知器可以接收多个输入(x1,x2,…xn),每个输入上有一个权值wi,此外还有一个偏置项b,就是上图中的w0。 激活函数 ——感知器的激活函数可以有很多选择 输出 ——感知器的输出由某个公式来计算 事实上,感知器不仅仅能实现简单的布尔运算。它可以拟合任何的线性函数,任何线性分类或线性回归问题都可以用感知器来解决。前面的布尔运算可以看作是二分类问题,即给定一个输入,输出0(属于分类0)或1(属于分类1)。然而,感知器却不能实现异或运算。 感知器的训练 训练感知器对于多层感知器的监督式训练最常见的深度学习算法是反向传播。基本的过程是 :   1、将训练样本通过神经网络进行前向传播计算。   2、计算输出误差,通常用均方差:   其中 t 是目标值,y是实际的神经网络输出。其它的误差计算方法也可以,但MSE(均方差)通常是一种比较好的选择。   3.网络误差通过随机梯度下降法来最小化。 前面的权重项和偏置项的值是如何获得的呢? 这就要用到感知器训练算法:将权重项和偏置项初始化为0,然后,利用下面的感知器规则迭代的修改wi和b,直到训练完成。 其中: wi是与输入xi对应的权重项,b是偏置项。事实上,可以把b看作是值永远为1的输入xb所对应的权重。t是训练样本的实际值,一般称之为label。而y是感知器的输出值,它是根据公式(1

误差回传神经网络(BP)——数学理论

不打扰是莪最后的温柔 提交于 2019-11-27 15:25:12
误差回传神经网络(BP) BP网络是一种无反馈的前向网络,网络中的神经元分层排列,每一层内的神经元的输出均传送到下一层,这种传送由联接权来达到输出的作用。工作过程分为学习期和工作期两个部分,计算关键在于学习期中的误差反向传播过程,使目标函数最小化来完成的。 1) BP神经网络的设计 如图1为BP神经网络基本结构图。 输入层、隐含层、输出层神经元分别以 予以编号。 具体的计算公式如下: 隐含层与输出层的各个神经元的输入分别为 隐含层与输出层的各个神经元的输出分别为 其中激活函数 均为单极性 Sigmiod 函数,即: 2)计算网络误差 网络的输出 与实际输出 (期望值)不相等时,存在训练的误差,则系统的平均误差为 网络的总误差表示为 上式便是BP神经网络的目标函数,学习期中的误差反向传播过程,就是使目标函数最小化来完成的。 3)各层权值的调整 每一层的权值的调整都是反向的一个过程,也就是说由实际输出值yk与实际相比得到的误差信号δ_k ,对隐含层与输出层之间的权重 w_kj进行调整。 然后由误差信号 反向传至输入层,得到输入层误差信号 ,由此起到对输入层与隐含层之间的权值调整。 其中η 为学习率,α 为动量项,以此提高BP神经网络的训练速度,且能够保持一定的稳定性。 通过网络训练,达到要求后,网络各个节点之间的互联权值就完全确定,则称整个的BP网络已经学习好。 模型建立

《机器学习实战》9.3树回归之模型树和项目案例

梦想的初衷 提交于 2019-11-27 13:41:28
《机器学习实战》9.3树回归之模型树和项目案例 搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 本文出现的所有代码,均可在github上下载,不妨来个Star把谢谢~: Github代码地址 一、引言 这一节我们来介绍模型树以及进行一个简单的树回归的项目实战 二、模型树 2.1 模型树简介 回归树的叶节点是常数值,而模型树的叶节点是一个回归方程。 用树来对数据建模,除了把叶节点简单地设定为常数值之外,还有一种方法是把叶节点设定为分段线性函数,这里所谓的 分段线性(piecewise linear) 是指模型由多个线性片段组成。 我们看一下图中的数据,如果使用两条直线拟合是否比使用一组常数来建模好呢?答案显而易见。可以设计两条分别从 0.0-0.3、从 0.3-1.0 的直线,于是就可以得到两个线性模型。因为数据集里的一部分数据(0.0-0.3)以某个线性模型建模,而另一部分数据(0.3-1.0)则以另一个线性模型建模,因此我们说采用了所谓的分段线性模型。 决策树相比于其他机器学习算法的优势之一在于结果更易理解。很显然

《机器学习实战》9.2树回归之树剪枝(tree pruning)

情到浓时终转凉″ 提交于 2019-11-27 13:40:25
《机器学习实战》9.2树回归之树剪枝(tree pruning) 搜索微信公众号:‘AI-ming3526’或者’计算机视觉这件小事’ 获取更多人工智能、机器学习干货 csdn:https://blog.csdn.net/baidu_31657889/ github:https://github.com/aimi-cn/AILearners 本文出现的所有代码,均可在github上下载,不妨来个Star把谢谢~: Github代码地址 一、引言 本篇文章将会根据上节的回归树的构建过程是否得当来引入的剪枝(tree pruning)技术。 二、树剪枝 一棵树如果结点过多,表明该模型可能对数据进行了“过拟合”。 通过降低树的复杂度来避免过拟合的过程称为剪枝(pruning)。上小节我们也已经提到,设置tolS和tolN就是一种预剪枝操作。另一种形式的剪枝需要使用测试集和训练集,称作后剪枝(postpruning)。本节将分析后剪枝的有效性,但首先来看一下预剪枝的不足之处。 2.1 预剪枝 预剪枝有一定的局限性,比如我们现在使用一个新的数据集。 数据集下载地址: 数据集下载 用上节的代码绘制数据集看一下: 可以看到,对于这个数据集与我们使用的第一个数据集很相似,但是区别在于y的数量级差100倍,数据分布相似,因此构建出的树应该也是只有两个叶结点