多项式曲线拟合(Polynomial Curve Fitting)

多项式曲线拟合(Polynomial Curve Fitting)

ID:44172145

大小:1.25 MB

页数:10页

时间:2019-10-19

多项式曲线拟合(Polynomial Curve Fitting)_第1页
多项式曲线拟合(Polynomial Curve Fitting)_第2页
多项式曲线拟合(Polynomial Curve Fitting)_第3页
多项式曲线拟合(Polynomial Curve Fitting)_第4页
多项式曲线拟合(Polynomial Curve Fitting)_第5页
多项式曲线拟合(Polynomial Curve Fitting)_第6页
多项式曲线拟合(Polynomial Curve Fitting)_第7页
多项式曲线拟合(Polynomial Curve Fitting)_第8页
多项式曲线拟合(Polynomial Curve Fitting)_第9页
多项式曲线拟合(Polynomial Curve Fitting)_第10页
资源描述:

《多项式曲线拟合(Polynomial Curve Fitting)》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、多项式曲线拟合(PolynomialCurveFitting)监督学习@author:duanxxnj@163.com@time:2016-06-19原文链接多项式特征生成在机器学习算法中,基于针对数据的非线性函数的线性模型是非常常见的,这种方法即可以像线性模型一样高效的运算,同时使得模型可以适用于更为广泛的数据上,多项式拟合就是这类算法中最为简单的一个。关于多项式回归的应用,这里举个非常简单的例子:一般的线性回归,模型既是参数的线性函数,同时也是输入变量的线性函数,对于一个二维的数据而言,模型的数学表达式如下:如果想

2、要拟合一个抛物面,而不是拟合一个平面的话,那么就需计算输入变量二次项的线性组合,则模型更新为下面这个形式:注意:这里需要说明的是,更新后的模型,虽然是输入变量的二次函数,但是,由于它仍然是参数的一次线性函数,所以它仍然是一个线性模型。为了说明这个问题,可以假设有一个新的变量,那么就可以将上面的模型重写为下面的这个形式:用向量替换向量的过程,相当于一个特征变换或者叫做特征生成的过程,它将输入特征的维度提高,但模型仍然是一个线性模型。下面这个代码片段可以实现特征升维的过程,其特征变换的规则为:从变为。1.#!/usr/bi

3、n/python2.#-*-coding:utf-8-*-3.4."""5.author:duanxxnj@163.com6.time:2016-06-04_14-007.8.多项式特征生成9.10."""11.12.fromsklearn.preprocessingimportPolynomialFeatures13.importnumpyasnp14.15.#首先生成3x2的原始特征矩阵16.#即样本数为3,特征数为217.X=np.arange(6).reshape(3,2)18.19.print'原始数据:'2

4、0.printX21.22.#特生变换/特征生成23.#将原始一阶数据升维到二阶数据24.#升维方式是:[x_1,x_2]变为[1,x_1,x_2,x_1^2,x_1x_2,x_2^2]25.polyFeat=PolynomialFeatures(degree=2)26.X_transformed=polyFeat.fit_transform(X)27.28.print'特征变换后的数据:'29.printX_transformed运行结果为:1.原始数据:2.[[01]3.[23]4.[45]]5.特征变换后的数据:

5、6.[[1.0.1.0.0.1.]7.[1.2.3.4.6.9.]8.[1.4.5.16.20.25.]]多项式拟合在《线性回归》中就提到过多项式拟合,从本质上讲,多项式拟合也是一个线性模型,其数学表达式为:其中是多项式的最高次数,代表的是的次幂,是的系数。样本的数目为,对于每一个样本,其对应的输出为,用平方误差和(sumofthesquaresoftheerrors)作为损失函数,那么损失函数可以表示为:这里在损失函数前面加入一个,只是为了后面的推导方便,其并不影响最终的结果。经过上面的分析可以知道,多项式拟合其实是

6、两个过程:1.对原始特征向量做多项式特征生成,得到新的特征2.对新的特征做线性回归1.#!/usr/bin/python2.#-*-coding:utf-8-*-3.4.5."""6.author:duanxxnj@163.com7.time:2016-06-04_16-388.9.这个例子展示了多项式曲线拟合的特性10.11.多项式曲线拟合分为两个步骤:12.1、根据多项式的最高次数,对输入特征向量做特征生成13.对原来的每一个特征向量而言,可以生成一个范特蒙德矩阵(Vandermondematrix)14.15.范

7、特蒙德矩阵的尺寸为:[n_samples,n_degree+1]16.17.其形式为:18.[[1,x_1,x_1**2,x_1**3,...],19.[1,x_2,x_2**2,x_2**3,...],20....]21.22.2、基于第一步生成的范特蒙德矩阵,直接使用已有线性回归模型,就可以实现多项式回归23.24.这个例子展示了如何基于线性回归模做非线性回归,其实这个也是核函数的基本思想。25."""26.print(__doc__)27.28.importnumpyasnp29.importmatplotlib

8、.pyplotasplt30.31.fromsklearn.linear_modelimportLinearRegression32.33.fromsklearn.preprocessingimportPolynomialFeatures34.fromsklearn.pipelineimportmake_pipeline35.36

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。