误差分析

投影矩阵和最小二乘

不问归期 提交于 2019-12-04 16:09:02
转载: https://www.cnblogs.com/bigmonkey/p/9897047.html 一维空间的投影矩阵   先来看一维空间内向量的投影:   向量p是b在a上的投影,也称为b在a上的分量,可以用b乘以a方向的单位向量来计算,现在,我们打算尝试用更“贴近”线性代数的方式表达。   因为p趴在a上,所以p实际上是a的一个子空间,可以将它看作a放缩x倍,因此向量p可以用p = xa来表示,只要找出x就可以了。因为a⊥e,所以二者的点积为0:   我们希望化简这个式子从而得出x:   x是一个实数,进一步得到x:   a T b和a T a都是点积运算,最后将得到一个标量数字。这里需要抑制住消去a T 的冲动,向量是不能简单消去的,a和b都是2×1矩阵,矩阵的运算不满足乘法交换律,a T 无法先和1/a T 计算。   现在可以写出向量p的表达式,这里的x是个标量:   这就是b在a上的投影了,它表明,当b放缩时,p也放缩相同的倍数;a放缩时,p保持不变。   由于向量点积a T a是一个数字,p可以进一步写成:   在一维空间中,分子是一个2×2矩阵,这说明向量b的在a上的投影p是一个矩阵作用在b上得到的,这个矩阵就叫做投影矩阵(Projection Matrix),用大写的P表达:   推广到n维空间,a是n维向量,投影矩阵就是n×n的方阵。观察投影矩阵会法发现

K-近邻算法(KNN)

a 夏天 提交于 2019-12-04 08:13:05
K-近邻算法 K-K个 N-nearest-最近 N-Neighbor 来源:KNN算法最早是由Cover和Hart提出的一种分类算法 定义 如果一个样本在特征空间中的k个最相似(即特征空间中最邻近)的样本中的大多数属于某一个类别,则该样本也属于这个类别。 距离公式 两个样本的距离可以通过如下公式计算,又叫欧式距离 KNN算法流程总结 根据K个邻居判定你的类别 1.计算当前样本与所有样本距离 2.距离从小到大排序 3.取前K个邻居 4.K个邻居投票,统计投票结果(A,B) 5.根据投票结果值出现频率高类别作为最终类别 K近邻算法api初步使用 机器学习流程 1.获取数据 2.数据基本处理 3.特征工程 4.建立模型   1.KNN算法 5.模型评估 Scikit-learn工具介绍 Python语言的机器学习工具 Scikit-learn包括许多知名的机器学习算法的实现 Scikit-learn文档完善,容易上手,丰富的API 目前稳定版本0.19.1-?? 安装: pip3 install scikit-learn==0.19.1注:安装scikit-learn需要Numpy, Scipy等库 Scikit-learn 包含的内容 分类、聚类、回归 特征工程 模型选择、调优 K-近邻算法API sklearn.neighbors.KNeighborsClassifier(n

最小二乘法推导

天涯浪子 提交于 2019-12-04 07:18:15
最小二乘法 最小二乘法可以更广泛地应用于非线性方程中,我们可以使用一些已知的离散的点,拟合出一条与这些离散点最为接近的曲线,从而可以分析出这些离散点的走向趋势。 设x和y之间的函数关系由直线方程:   y=ax+b 公式中有两个待定参数,b代表截距,a代表斜率。问题在于,如何找到“最合适”的a和b使得尽可能多的数据落在或者更加靠近这条拟合出来的直线上; 我们关心的是方程中的a和b,也就是说,在这个待定的方程中,a和b才是所求的变量,它们可以描述出x和y的关系。 所以我们接下来的任务就是找到一组最好的a和b。 我们对a和b的要求就是,使得所有x和y相对拟合直线的误差总和最小。也就是说,我们要考虑的是,要使这些数据点距离拟合直线的和最小,距离最短,这样就可以使得尽可能多的数据成为有效点。 最小二乘法的推导过程 一.是我们要将误差最小化 二.是我们将误差最小化的方法是使误差的平方和最小化。(用误差平方和最小化来约束误差的原因是要规避负数对计算的影响) 来源: https://www.cnblogs.com/-wenli/p/11846285.html

深度学习基础模型算法原理及编程实现--04.改进神经网络的方法

≡放荡痞女 提交于 2019-12-03 18:45:43
文章列表 1. 深度学习基础模型算法原理及编程实现–01.感知机 . 2. 深度学习基础模型算法原理及编程实现–02.线性单元 . 3. 深度学习基础模型算法原理及编程实现–03.全链接 . 4. 深度学习基础模型算法原理及编程实现–04.改进神经网络的方法 . 5. 深度学习基础模型算法原理及编程实现–05.卷积神经网络 . 6. 深度学习基础模型算法原理及编程实现–06.循环神经网络 . 9. 深度学习基础模型算法原理及编程实现–09.自编码网络 . 9. 深度学习基础模型算法原理及编程实现–10.优化方法:从梯度下降到NAdam . … 深度学习基础模型算法原理及编程实现–04.改进神经网络的方法 4.1 基本激活函数认知 4.1.1 sigmoid 5.1.2 tf.tanh 5.1.3 ReLU 5.1.4 Leaky ReLU 5.1.5 Softplus 5.2 增加隐藏层数 5.3 提升学习速率 5.3.1 梯度下降改为随机梯度下降 5.3.2 输出层激活函数与目标函数的选择 5.3.2.1 激活函数为sigmoid函数、损失函数为交叉项 5.3.2.2 激活函数为线性函数且损失函数为平方损失函数 5.3.2.3 损失函数为交叉项的好处 5.3.2.4 柔性最大值(softmax函数) 5.3.2.5 Softmax-loss 5.3.3

模型评估、过拟合欠拟合以及超参数调优方法

人走茶凉 提交于 2019-12-03 17:31:23
机器学习入门系列(2)–如何构建一个完整的机器学习项目,第十一篇! 该系列的前 10 篇文章: 机器学习入门系列(2)–如何构建一个完整的机器学习项目(一) 机器学习数据集的获取和测试集的构建方法 特征工程之数据预处理(上) 特征工程之数据预处理(下) 特征工程之特征缩放&特征编码 特征工程(完) 常用机器学习算法汇总比较(上) 常用机器学习算法汇总比较(中) 常用机器学习算法汇总比较(完) 简单聊聊模型的性能评估标准 上一篇文章 介绍了性能评估标准,但如何进行模型评估呢,如何对数据集进行划分出训练集、验证集和测试集呢?如何应对可能的过拟合和欠拟合问题,还有超参数的调优,如何更好更快找到最优的参数呢? 本文会一一介绍上述的问题和解决方法。 2. 模型评估的方法 2.1 泛化能力 泛化能力 :指模型对 未知的、新鲜的数据的预测能力 ,通常是根据 测试误差 来衡量模型的泛化能力,测试误差越小,模型能力越强; 统计理论表明:如果训练集和测试集中的样本都是独立同分布产生的,则有 模型的训练误差的期望等于模型的测试误差的期望 。 机器学习的“没有免费的午餐定理”表明:在所有可能的数据生成分布上,没有一个机器学习算法总是比其他的要好。 该结论仅在考虑所有可能的数据分布时才成立。 现实中特定任务的数据分布往往满足某类假设,从而可以设计在这类分布上效果更好的学习算法。

回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss

谁说我不能喝 提交于 2019-12-03 09:52:38
回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss 2019-06-04 20:09:34 clover_my 阅读数 430 更多 分类专栏: 阅读笔记 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/clover_my/article/details/90777964 回归损失函数:L1,L2,Huber,Log-Cosh,Quantile Loss 机器学习中所有的算法都需要最大化或最小化一个函数,这个函数被称为“目标函数”。其中,我们一般把最小化的一类函数,称为“损失函数”。它能根据预测结果,衡量出模型预测能力的好坏。 在实际应用中,选取损失函数会受到诸多因素的制约,比如是否有异常值、机器学习算法的选择、梯度下降的时间复杂度、求导的难易程度以及预测值的置信度等等。因此,不存在一种损失函数适用于处理所有类型的数据。损失函数大致可分为两类:分类问题的损失函数和回归问题的损失函数。这篇文章介绍不同种类的回归损失函数以及它们的作用。 1、MAE / L1 + MSE / L2 (1)平均绝对误差(MAE / L1) Y轴:MAE损失。X轴:预测值。 平均绝对误差(MAE)是一种用于回归模型的损失函数。MAE是目标值和预测值之差的绝对值之和

分类预测算法评价(初识)

随声附和 提交于 2019-12-03 09:36:45
分类于预测算法评价 分类与预测模型对训练集进行预测而得出得准确率并不能很好得反映预测模型未来得性能,为了有效判断一个预测模型得性能表现,需要一组没有参与预测模型建立得数据集并在该数据集上评价预测模型得准确率,这组独立耳朵数据集叫做测试集,模型预测效果评价,通常用相对绝对误差,平均绝对误差,均方误差,均方根误差来衡量. 绝对误差与相对误差 设Y表示实际值, Ý表示预测值, 则称E为绝对误差,计算公式如下: Ε = Y - Ý e为相对误差, 计算公式如下 e = (Y - Ý) / Y 有时也可以用误差百分数来表示 e = (Y - Ý) / Y * 100% 这是一种直观得误差表示方法 平均绝对误差 平均绝对误差定义如下: MAE = 1/n ∑ n n=1 |Ε i | = 1/n ∑ i=1 n | Υ i - Ý i | 公式中含义如下: MAE : 平均绝对误差 E i : 第i个实际值与预测值得绝对误差 Y i : 第i各实际值 Ý i : 第i各预测值 由于预测误差有正有负,为了避免正负向抵消,故取误差绝对值进行综合并取其平均数,这是误差分析得综合指标法之一 均方误差 均方误差定义如下: MSE = 1/n∑ n i=1 Ε 2 i = 1/n∑ n n=1 (Υ i - Ý i ) 2 上式中,MSE表示均方差,其他符号同前, 本方法用于还原平方失真程度

L0、L1、L2范数正则化

微笑、不失礼 提交于 2019-12-03 02:27:54
一、范数的概念 向量范数是定义了向量的类似于长度的性质,满足正定,齐次,三角不等式的关系就称作范数。 一般分为L0、L1、L2与L_infinity范数。 二、范数正则化背景 1. 监督机器学习问题无非就是“minimizeyour error while regularizing your parameters”,也就是在规则化参数的同时最小化误差。最小化误差是为了让我们的模型拟合我们的训练数据,而规则化参数是防止我们的模型过分拟合我们的训练数据。 2 .  因为参数太多,会导致我们的模型复杂度上升,容易过拟合,也就是我们的训练误差会很小。但训练误差小并不是我们的最终目标,我们的目标是希望模型的测试误差小,也就是能准确的预测新的样本。所以,我们需要保证模型“简单”的基础上最小化训练误差,这样得到的参数才具有好的泛化性能(也就是测试误差也小),而模型“简单”就是通过规则函数来实现的。另外,规则项的使用还可以约束我们的模型的特性 。 这样就可以将人对这个模型的先验知识融入到模型的学习当中,强行地让学习到的模型具有人想要的特性,例如稀疏、低秩、平滑等等。要知道,有时候人的先验是非常重要的。前人的经验会让你少走很多弯路,这就是为什么我们平时学习最好找个大牛带带的原因。一句点拨可以为我们拨开眼前乌云,还我们一片晴空万里,醍醐灌顶。对机器学习也是一样,如果被我们人稍微点拨一下

PRML学习笔记第一章

匿名 (未验证) 提交于 2019-12-03 00:41:02
【转】 模式识别的目标 自动从数据中发现潜在规律,以利用这些规律做后续操作,如数据分类等。 模型选择和参数调节 类似的一族规律通常可以以一种模型的形式为表达,选择合适模型的过程称为模型选择(Model Selection)。模型选择的目的只是选择模型的形式,而模型的参数是未定的。 从数据中获得具体规律的过程称为训练或学习,训练的过程就是根据数据来对选定的模型进行参数调节(Parameter Estimation)的过程,此过程中使用的数据为训练数据集(Training Set)。 对于相同数据源的数据来讲,规律应该是一般的(泛化Generalization),因此评估一个学习结果的有效性可以通过使用测试数据集(Testing Set)来进行的。 预处理 对于大多数现实中的数据集来讲,使用其进行学习之前,通常需要进行预处理,以提高学习精度及降低学习的开销。 以图像识别为例,若以像素做为一个特征,往往一幅图像的特征就能达到几万的数量级,而很多特征(如背景色)都是对于图像辨识起不到太大作用的,因此对于图像数据集,预处理过程通常包括维数约减(特征变换,特征选择),仅保留具有区分度的特征。 文本数据分类任务中,对训练文本也有类似的处理方式,只不过此时扮演特征的是单词,而不是像素值。 监督学习和非监督学习 输入向量(input vector): ,响应向量(target vector):

数据挖掘与数据仓库――分类

匿名 (未验证) 提交于 2019-12-02 23:34:01
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/budding0828/article/details/90311845 分类算法 什么是分类 一些常见的概念: 训练集(Training data):用于训练模型(的参数,如神经网络的各层权重和偏置,线性回归分析的系数); 验证集(Validation data):用于调整超参数(Hyper-Parameters,如神经网络的宽度和深度、学习率等); 测试集(Test data):用于评价模型本身的有效性(准确率等) 训练误差(Training error):分类器在训练集上的误差。 泛化误差(Generalization error,out-of-sample error):分类器在未见样本(不在训练集中的样本)上的误差。 对于数据集的划分 划分法: 训练集与测试集 把样本划分成2个独立的数据集合, 如, 训练集 (2/3), 测试集(1/3)。 适用于大规模的数据样本。 交叉验证(Cross-validation) 把数据集合划分成k 个子样本; 使用k - 1 个子样本作为训练集,另一个作为测试样本―k-折交叉验证。 适用于中等规模的数据。 留一测试(Leave One Out, k = n) 适用于小规模数据。 泛化误差的偏差/方差分解、过拟合、欠拟合 以回归为例