数据拟合

偏差与方差,欠拟合与过拟合的关系

我与影子孤独终老i 提交于 2019-11-30 17:15:31
偏差(Bias) 偏差指预测输出与真实标记的差别,记为: 偏差度量了学习算法的期望预测与真实结果的偏离程度,即刻画了学习算法本身的拟合能力。 方差(Variance) 方差指一个特定训练集训练得到的函数,与所有训练集得到平均函数的差的平方再取期望,记为: 方差度量了同样大小的训练集的变动所导致的学习性能的变化,即刻画了数据扰动所造成的影响。方差表示所有模型构建的预测函数,与真实函数的差别有多大。 偏差-方差示意图 偏差与方差的区别可用如下的 靶标图 来说明: 低偏差低方差时,是我们所追求的效果,此时预测值正中靶心(最接近真实值),且比较集中(方差小)。 低偏差高方差时,预测值基本落在真实值周围,但很分散,此时方差较大,说明模型的稳定性不够好。 高偏差低方差时,预测值与真实值有较大距离,但此时值很集中,方差小;模型的稳定性较好,但预测准确率不高,处于“一如既往地预测不准”的状态。 高偏差高方差时,是我们最不想看到的结果,此时模型不仅预测不准确,而且还不稳定,每次预测的值都差别比较大 来源: https://www.cnblogs.com/dinol/p/11605696.html

从寻找谷神星的过程,谈最小二乘法实现多项式拟合

橙三吉。 提交于 2019-11-30 10:47:45
科学史上众星云集,璨若星河。这些牛人基本上都是天才,但也不乏无名之辈凭借匪夷所思、骇世惊俗的猜想而立足于巨星之列。比如,门捷列夫,整了一张留空的元素周期表,引得全世界的化学家去做填空题。还有一位德国的中学老师,名唤约翰·提丢斯(Johann Daniel Titius)的,在1766年写下了这么一个数列: (0+4)/10 = 0.4 (3+4)/10 = 0.7 (6+4)/10 = 1.0 (12+4)/10 = 1.6 (24+4)/10 = 2.8 (48+4)/10 = 5.2 (96+4)/10 = 10.0 (192+4)/10 = 19.6 (384+4)/10 = 38.8 ... 当时,人们已知太阳系有六大行星,即水星、金星、地球、火星、木星、土星。如果以日地距离(约1.5亿公里)为一个天文单位,则六大行星距离太阳的距离,恰好接近提丢斯的这个数列,并且留下了无限的遐想!这个数列被称为提丢斯——波得定则 1781年,英籍德国人赫歇尔在接近19.6的位置上(即数列中的第八项)发现了天王星,从此,人们就对这一定则深信不疑了。根据这一定则,在数列的第五项即2.8的位置上也应该对应一颗行星,只是还没有被发现。于是,许多天文学家和天文爱好者便以极大的热情,踏上了寻找这颗新行星的征程。 1801年新年的晚上,意大利神父朱塞普·皮亚齐还在聚精会神地观察着星空。突然

GBDT

£可爱£侵袭症+ 提交于 2019-11-30 10:39:34
转自: https://blog.csdn.net/zpalyq110/article/details/79527653 【尊重原创,转载请注明出处】 http://blog.csdn.net/zpalyq110/article/details/79527653 写在前面: 去年学习GBDT之初,为了加强对算法的理解,整理了一篇笔记形式的文章,发出去之后发现阅读量越来越多,渐渐也有了评论,评论中大多指出来了笔者理解或者编辑的错误,故重新编辑一版文章,内容更加翔实,并且在GitHub上实现了和本文一致的GBDT简易版(包括回归、二分类、多分类以及可视化),供大家交流探讨。感谢各位的点赞和评论,希望继续指出错误~    Github: https://github.com/Freemanzxp/GBDT_Simple_Tutorial 简介:   GBDT 的全称是 Gradient Boosting Decision Tree,梯度提升树,在传统机器学习算法中,GBDT算的上TOP3的算法。想要理解GBDT的真正意义,那就必须理解GBDT中的Gradient Boosting 和Decision Tree分别是什么? 1. Decision Tree:CART回归树   首先,GBDT使用的决策树是CART回归树,无论是处理回归问题还是二分类以及多分类

机器学习笔记[保持更新]

两盒软妹~` 提交于 2019-11-30 06:36:13
机器学习笔记[入门版] 本文是吴恩达《机器学习》的笔记,由于课程内容较为基础,所以本文对于许多数学知识有些欠缺 多变量线性回归 非线性函数线性化 这种情况下,特征的缩放就变得很重要(因为在平方甚至立方的情况下,特征的值会放大很多) 也不一定只要平方,开方也可以: 正规方程 相比梯度下降法,可以更快地获得最优解。 正规方程法更适合于较小型的问题,而梯度下降法适用于更大的数据集 正规方程不需要缩放特征 每个特征列在开头补上一个1然后转置,计算的公式是: 如果X^tX不可逆怎么办? 整体来说,这种情况还是比较少的 pinv()指令能在矩阵不可逆的情况下也求解出正确答案 需要求解的特征量大于样本数时也会造成问题。 解决不可逆问题的办法: 删除线性相关的变量 当特征数量太多时,删除一些特征,或者使用正规化方法 向量化 多使用内置函数库(老师的意思是自己造轮子比不上人家的2333) 左图是自己写的循环,右图是调用向量相乘的方法。右图由于使用了内置的乘法,效率比自己写的要高 C++也有这种,线性运算的库 再复杂一点的情况也是,向量化之后慢慢处理 Logistic回归 依然是在机器学习中常用的一种算法 线性规划在分类问题中的表现一般不太好 线性规划设置阈值的方法在分类中不好使 Logistic回归是一种分类算法,和回归分析没关系,这个名字有点问题,是历史遗留问题 Sigmoid function

MATLAB09:统计与拟合

烈酒焚心 提交于 2019-11-30 04:40:14
MATLAB09:统计与拟合 统计 描述性统计(Descriptive Statistics) 中心趋势(Central Tendency) 变异(Variation) 离散程度 偏度(Skewness) 峰度(Kurtosis) 统计推断(Inferential Statistics) 拟合 多项式拟合 一元多项式拟合:`polyfit()` 多元线性拟合:`regress()` 非线性拟合 插值 一维插值 二维插值 统计 描述性统计(Descriptive Statistics) 描述性统计主要研究数据的 中心趋势 (Central Tendency)和 变异 (Variation). 中心趋势(Central Tendency) 函数 作用 mean() 计算平均值 median() 计算中位数 mode() 计算众数 prctile() 计算百分位数 max() 计算最大值 min() 计算最小值 X = [1 3 5 5 5 5 7 9 9 9 10 13 14]; mean(X); % 数据的平均值为 7.3077 median(X); % 数据的中位数为 7 mode(X); % 数据的众数为 5 prctile(X, 0); % 数据的0%分位数为 0 prctile(X, 50); % 数据的50%分位数为 7 prctile(X, 100); % 数据的100

test

℡╲_俬逩灬. 提交于 2019-11-29 21:56:52
PATTERN RCOGNITION AND MACHINE LEARNING(PRML) Introduction 引言: ​ 从一堆数据中挖掘一些可用的数据规则是由古至今科学家一直研究的问题,它有着悠久而成功的历史。 例如,16世纪对天文的广泛观测,使约翰内斯·开普勒发现了行星运动的三大定律,从而对古典力学的发展有了一定的促进作用。同样,在20世纪,原子光谱规律的发现,对早期量子物理学的发展发挥了关键作用。在计算机中, 模式识别领域是通过计算机算法自动发现数据中的规律,并利用这些规律采取行动,如将数据分类到不同的类别. ​ 例如识别手写数字的例子,如图1.1所示。 每个数字对应一个28×28像素的图像,因此可以用包含784个实数的向量x表示。 我们的目标是建立一个机器算法,它将以这样一个向量x作为输入,并将产生数字0到 9作为输出。 这是一个非常重要的问题,因为笔迹的多样性很大。 我们可以根据手工的方式或者启发式的方案,根据笔画的形状来区分数字 ,但在实践中,这种方法会导致规则和规则例外的激增,导致结果总是不好. ​ 采用机器学习的方法可以得到更好的结果,其中一个大的集合{x1,…, xN}称为训练集,用于调整自适应模型的参数。 训练集中数字的类别是预先知道的,通常通过逐个检查并手工标记它们。 我们可以用目标向量t表示一个数字的类别,它表示对应数字的特定输出。

(八)最小二乘法 拟合直线

ぃ、小莉子 提交于 2019-11-29 04:31:05
1 #coding=utf-8 2 from numpy import * 3 import numpy as np 4 import matplotlib.pyplot as plt 5 6 plt.close() 7 fig=plt.figure() 8 plt.grid(True) 9 plt.axis([0,1,0,5]) 10 #plt.title("") 11 # 每个小的方括号是一列 12 point=[[0,0.9],[0.2,1.9],[0.4,2.8],[0.6,3.3],[0.8,4.2]] 13 plt.xlabel("X") 14 plt.ylabel("Y") 15 Xsum = 0.0; 16 Isum = 0.0; 17 Ysum = 0.0; 18 X2sum = 0.0; 19 XYsum = 0.0; 20 21 22 23 for i in range(0,5): 24 25 xi=point[i][0]; 26 yi=point[i][1]; 27 plt.scatter(xi,yi,color="red"); 28 show_point = "["+ str(xi) +","+ str(yi) + "]"; 29 plt.text(xi,yi,show_point); 30 31 Xsum = Xsum+xi; 32 Isum =

zz神经网络模型量化方法简介

我的未来我决定 提交于 2019-11-29 03:39:46
神经网络模型量化方法简介 https://chenrudan.github.io/blog/2018/10/02/networkquantization.html 2018-10-02 本文主要梳理了模型量化算法的一些文章,阐述了每篇文章主要的内核思想和量化过程,整理了一些对这些文章的分析和看法。 【转载请注明出处】 chenrudan.github.io 随着神经网络算法的发展,网络性能虽然越来越强大,但是也耗费了太多的计算资源和内存,为了得到更有效率的网络以及能部署在移动端,近几年神经网络的压缩算法成了一个研究热点,主要的网络压缩途径有五种,量化、剪枝、低秩分解、教师-学生网络、轻量化网络设计,量化就是将以往用32bit或者64bit表达的浮点数用1bit、2bit占用较少内存空间的形式进行存储。剪枝的目的是为了去掉一些不重要的神经元、连接、通道等,低秩分解主要是通过各种分解方法用精简的张量来表达复杂张量,教师-学生网络间接通过提升小网络性能来压缩学生网络的规模,一般可以与其他压缩方法同时使用,轻量化网络设计主要是类似MobileNet这种设计的非常精简但性能又好的网络。几种方法都各有特点,都是值得研究和讨论的,本文主要针对量化算法近几年的发展做一个梳理和归纳,我觉得量化算法有几个特点, 理论简单,公式少,性能稳定且trick多。 下图1

数据拟合求解方程参数

混江龙づ霸主 提交于 2019-11-29 01:52:04
首先引入三件套和scipy import numpy as np import pandas as pd import matplotlib.pyplot as plt from scipy.optimize import curve_fit 拿到实验数据,通过pandas读取为DataFrame data = pd.read_csv("W-900K.csv") data.head() */ /*--> */ ind val 0 0.0 899.56250 1 0.1 932.16851 2 0.2 977.79814 3 0.3 1029.72737 4 0.4 1131.46345 将数据绘制出来,以方便确认使用哪种方程进行拟合 plot1=plt.plot(data['ind'], data['val'], '*',label='original values') plt.xlabel('x') plt.ylabel('y') plt.legend(loc=4) plt.title('ORIGIN VALUES') plt.show() 从上图曲线可以推断出,我们的数据应该符合指数分布,所以下面定义一个指数函数,将参数使用a,b,c预留出来. def func(x,a,b,c): return a*np.exp(b*x) + c 进行拟合,得出上一步定义的参数,

提示与不变性

試著忘記壹切 提交于 2019-11-29 01:33:10
提示与不变性 提示是在你看到数据之前就知道的关于目标函数的信息 例如信用审核中,工资是和信用额度呈正比 又例如视觉处理中旋转不改变目标函数的输出 有以下数据(红色代表-1,蓝色代表+1) 你使用如下两个假设集去拟合数据 \(H_+=\{h|h(x)=sign(wx+w_0);w\ge0\}\) \(H_-=\{h|h(x)=sign(wx+w_0);w<0\}\) 无论你怎么拟合, \(H_+\) 很轻松就可以使得 \(E_{in}\approx0\) ,而 \(H_-\) 最多使得 \(E_{in}\approx\frac{1}{2}\) 假如你看到数据之前知道数据的某些信息,就可以收缩假设集(就像这里使用 \(H_+\) 而不关心 \(H_-\) ),这样减少假设集大小从而提高泛化能力 提示类型 提示类型 描述 对称与非对称性 \(f(\mathtt{x})=f(-\mathtt{x}) orf(\mathtt{x})=-f(-\mathtt{x})\) 旋转不变性 \(f(\mathtt{x})\) 依赖于$ 广义不变性(平移,旋转,缩放) \(f(\mathtt{x})=f(\Phi(\mathtt{x}))\) 单调性 \(f(\mathtt{x}+\Delta{\mathtt{x}})>f(\mathtt{x})\) 凸性 \(f(\eta{\mathtt{x}}+(1